mcpcn-split-screen-mcp


Namemcpcn-split-screen-mcp JSON
Version 1.5.13 PyPI version JSON
download
home_pageNone
SummaryModel Context Protocol Server via Cross-Platform (Mac & Windows) Split Screen Functions
upload_time2025-09-12 09:44:52
maintainerNone
docs_urlNone
authorBeta
requires_python>=3.10
licenseMIT License Copyright (c) 2024 Computer Split Screen MCP Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRECTION. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords cross-platform desktop-productivity macos mcp pywin32 split-screen tiling window-management windows
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 电脑分屏 MCP

一个高性能、跨平台的模型上下文协议(MCP)服务器,为 Windows 和 macOS 提供可靠的分屏窗口管理。该服务器通过 MCP 协议暴露 16 个窗口操作工具,使 AI 助手和其他 MCP 客户端能够精确控制桌面窗口布局。

## 🚀 功能特性

- **跨平台支持**:Windows 和 macOS,具有原生优化
- **16 个窗口管理工具**:全面的分屏布局和控制
- **高性能**:Windows:15-60ms,macOS:50-150ms 每次操作
- **可靠性优先**:强大的回退机制和错误处理
- **MCP 集成**:通过 stdio 传输的完整模型上下文协议服务器支持
- **智能焦点检测**:具有平台特定优化的高级窗口焦点检测

## 🛠️ 安装

### 前置要求

- **Python**:3.9 或更高版本
- **包管理器**:`uvx`(推荐)或 `pip`

### 通过 uvx 安装(推荐)

```bash
uvx install computer-split-screen-mcp
```

### 通过 pip 安装

```bash
pip install computer-split-screen-mcp
```

## 🔧 MCP 客户端配置

使用以下设置配置您的 MCP 客户端:

```json
{
  "mcpServers": {
    "computer-split-screen": {
      "command": "uvx",
      "args": ["computer-split-screen-mcp"],
      "env": {}
    }
  }
}
```

### 替代配置(如果不使用 uvx)

```json
{
  "mcpServers": {
    "computer-split-screen": {
      "command": "python",
      "args": ["-m", "computer-split-screen-mcp"],
      "env": {}
    }
  }
}
```

## 🎯 可用工具

### 分屏布局

#### 二分屏(2 路分割)
- `left-half-screen` - 将当前窗口贴靠到左半屏
- `right-half-screen` - 将当前窗口贴靠到右半屏
- `top-half-screen` - 将当前窗口贴靠到上半屏
- `bottom-half-screen` - 将当前窗口贴靠到下半屏

#### 四分屏(4 路分割)
- `top-left-screen` - 左上象限(1/4 屏幕)
- `top-right-screen` - 右上象限(1/4 屏幕)
- `bottom-left-screen` - 左下象限(1/4 屏幕)
- `bottom-right-screen` - 右下象限(1/4 屏幕)

#### 三分屏(3 路分割)
- `left-one-third-screen` - 左三分之一(1/3 屏幕)
- `middle-one-third-screen` - 中间三分之一(1/3 屏幕)
- `right-one-third-screen` - 右三分之一(1/3 屏幕)

#### 三分之二(2/3 分割)
- `left-two-thirds-screen` - 左三分之二(2/3 屏幕)
- `right-two-thirds-screen` - 右三分之二(2/3 屏幕)

### 窗口控制
- `maximize-screen` - 操作系统最大化(有边框,任务栏可见)
- `fullscreen-screen` - 全屏模式(平台特定行为)
- `minimize-screen` - 将窗口最小化到任务栏/程序坞

## ⚡ 性能特征

### Windows 性能
- **总时间**:每次操作 15-60ms
- **检测**:2-5ms(直接 Win32 API)
- **操作**:10-47ms(带修正的 SetWindowPos)
- **最佳情况**:简单分割 15-25ms
- **典型情况**:大多数操作 20-35ms

### macOS 性能
- **总时间**:每次操作 50-150ms
- **检测**:20-50ms(AppleScript + 辅助功能 API)
- **操作**:15-55ms(AXUIElement 操作)
- **最佳情况**:简单分割 50-80ms
- **典型情况**:大多数操作 80-120ms

## 🔍 技术架构

### Windows 实现
- 通过 `pywin32` 的**直接 Win32 API 调用**
- **DWM 集成**用于准确的框架边界
- **DPI 感知定位**用于高分辨率显示器
- **双遍定位**用于精确的窗口放置

### macOS 实现
- **AppleScript 焦点检测**用于可靠性
- **辅助功能 API**用于窗口操作
- **回退机制**用于边缘情况
- **屏幕感知定位**尊重菜单栏和程序坞

### 跨平台功能
- **自动平台检测**
- **条件依赖加载**
- **统一 API 接口**
- **错误处理和恢复**

## 📋 平台依赖

### Windows
- **必需**:`pywin32>=306`
- **用途**:Win32 API 访问、DWM 集成、窗口操作

### macOS
- **必需**:`pyobjc-core>=10.1,<11`、`pyobjc-framework-Cocoa>=10.1,<11`、`pyobjc-framework-Quartz>=10.1,<11`、`pyobjc-framework-ApplicationServices>=10.1,<11`
- **用途**:辅助功能 API、AppleScript 集成、窗口管理

## 🚨 故障排除

### 常见问题

#### macOS 焦点检测问题
- **症状**:窗口不移动或选择了错误的窗口
- **解决方案**:确保终端在系统偏好设置 > 安全性与隐私 > 隐私 > 辅助功能中具有辅助功能权限

#### Windows DPI 问题
- **症状**:在高 DPI 显示器上窗口定位不正确
- **解决方案**:服务器自动处理 DPI 感知,但确保安装 `pywin32>=306`

#### MCP 客户端连接问题
- **症状**:直接调用时功能正常,但通过 MCP 失败
- **解决方案**:检查 MCP 客户端日志,确保正确配置,重启 MCP 客户端

### 性能优化
- **首次运行**:可能由于系统预热而较慢
- **后续运行**:应该持续快速
- **复杂应用**:Safari、Chrome 可能由于窗口结构而需要更长时间

## 🔧 开发

### 项目结构
```
computer-split-screen/
├── src/splitscreen_mcp/
│   ├── __init__.py          # 包初始化
│   ├── __main__.py          # MCP 服务器入口点
│   └── window_actions.py    # 核心窗口管理逻辑
├── pyproject.toml           # 项目配置
├── README.md               # 本文件
└── LICENSE                 # MIT 许可证
```

### 从源码构建
```bash
git clone https://github.com/Beta0415/computer-split-screen-mcp.git
cd computer-split-screen-mcp
uvx install -e .
```

### 运行测试
```bash
# 测试窗口检测
python3 -c "from src.splitscreen_mcp.window_actions import left_half_window; left_half_window()"

# 测试 MCP 服务器
uvx run computer-split-screen-mcp
```

### 贡献
- **仓库**:[https://github.com/Beta0415/computer-split-screen-mcp](https://github.com/Beta0415/computer-split-screen-mcp)
- **问题**:[https://github.com/Beta0415/computer-split-screen-mcp/issues](https://github.com/Beta0415/computer-split-screen-mcp/issues)
- **拉取请求**:欢迎!重大更改请先开一个 issue。

## 📄 许可证

本项目采用 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件。

## 🤝 贡献

欢迎贡献!请随时提交拉取请求。对于重大更改,请先开一个 issue 来讨论您想要更改的内容。

## 📊 版本历史

- **v1.4.4** - 当前稳定版本
  - 跨平台窗口管理
  - 16 个全面工具
  - 高性能实现
  - 完整 MCP 协议支持

## 🆘 支持

如果您遇到任何问题或有疑问:

1. 检查上面的故障排除部分
2. 查看 MCP 客户端日志中的错误
3. 直接测试功能以隔离问题
4. 在项目仓库上开一个 issue

---

**为 MCP 社区用心构建 ❤️**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcpcn-split-screen-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "cross-platform, desktop-productivity, macos, mcp, pywin32, split-screen, tiling, window-management, windows",
    "author": "Beta",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/73/d3/e4a3e1d37fafcc6df78a59f92a83bce613280f21c4775b93b4e652e9cdfa/mcpcn_split_screen_mcp-1.5.13.tar.gz",
    "platform": null,
    "description": "# \u7535\u8111\u5206\u5c4f MCP\n\n\u4e00\u4e2a\u9ad8\u6027\u80fd\u3001\u8de8\u5e73\u53f0\u7684\u6a21\u578b\u4e0a\u4e0b\u6587\u534f\u8bae\uff08MCP\uff09\u670d\u52a1\u5668\uff0c\u4e3a Windows \u548c macOS \u63d0\u4f9b\u53ef\u9760\u7684\u5206\u5c4f\u7a97\u53e3\u7ba1\u7406\u3002\u8be5\u670d\u52a1\u5668\u901a\u8fc7 MCP \u534f\u8bae\u66b4\u9732 16 \u4e2a\u7a97\u53e3\u64cd\u4f5c\u5de5\u5177\uff0c\u4f7f AI \u52a9\u624b\u548c\u5176\u4ed6 MCP \u5ba2\u6237\u7aef\u80fd\u591f\u7cbe\u786e\u63a7\u5236\u684c\u9762\u7a97\u53e3\u5e03\u5c40\u3002\n\n## \ud83d\ude80 \u529f\u80fd\u7279\u6027\n\n- **\u8de8\u5e73\u53f0\u652f\u6301**\uff1aWindows \u548c macOS\uff0c\u5177\u6709\u539f\u751f\u4f18\u5316\n- **16 \u4e2a\u7a97\u53e3\u7ba1\u7406\u5de5\u5177**\uff1a\u5168\u9762\u7684\u5206\u5c4f\u5e03\u5c40\u548c\u63a7\u5236\n- **\u9ad8\u6027\u80fd**\uff1aWindows\uff1a15-60ms\uff0cmacOS\uff1a50-150ms \u6bcf\u6b21\u64cd\u4f5c\n- **\u53ef\u9760\u6027\u4f18\u5148**\uff1a\u5f3a\u5927\u7684\u56de\u9000\u673a\u5236\u548c\u9519\u8bef\u5904\u7406\n- **MCP \u96c6\u6210**\uff1a\u901a\u8fc7 stdio \u4f20\u8f93\u7684\u5b8c\u6574\u6a21\u578b\u4e0a\u4e0b\u6587\u534f\u8bae\u670d\u52a1\u5668\u652f\u6301\n- **\u667a\u80fd\u7126\u70b9\u68c0\u6d4b**\uff1a\u5177\u6709\u5e73\u53f0\u7279\u5b9a\u4f18\u5316\u7684\u9ad8\u7ea7\u7a97\u53e3\u7126\u70b9\u68c0\u6d4b\n\n## \ud83d\udee0\ufe0f \u5b89\u88c5\n\n### \u524d\u7f6e\u8981\u6c42\n\n- **Python**\uff1a3.9 \u6216\u66f4\u9ad8\u7248\u672c\n- **\u5305\u7ba1\u7406\u5668**\uff1a`uvx`\uff08\u63a8\u8350\uff09\u6216 `pip`\n\n### \u901a\u8fc7 uvx \u5b89\u88c5\uff08\u63a8\u8350\uff09\n\n```bash\nuvx install computer-split-screen-mcp\n```\n\n### \u901a\u8fc7 pip \u5b89\u88c5\n\n```bash\npip install computer-split-screen-mcp\n```\n\n## \ud83d\udd27 MCP \u5ba2\u6237\u7aef\u914d\u7f6e\n\n\u4f7f\u7528\u4ee5\u4e0b\u8bbe\u7f6e\u914d\u7f6e\u60a8\u7684 MCP \u5ba2\u6237\u7aef\uff1a\n\n```json\n{\n  \"mcpServers\": {\n    \"computer-split-screen\": {\n      \"command\": \"uvx\",\n      \"args\": [\"computer-split-screen-mcp\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n### \u66ff\u4ee3\u914d\u7f6e\uff08\u5982\u679c\u4e0d\u4f7f\u7528 uvx\uff09\n\n```json\n{\n  \"mcpServers\": {\n    \"computer-split-screen\": {\n      \"command\": \"python\",\n      \"args\": [\"-m\", \"computer-split-screen-mcp\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n## \ud83c\udfaf \u53ef\u7528\u5de5\u5177\n\n### \u5206\u5c4f\u5e03\u5c40\n\n#### \u4e8c\u5206\u5c4f\uff082 \u8def\u5206\u5272\uff09\n- `left-half-screen` - \u5c06\u5f53\u524d\u7a97\u53e3\u8d34\u9760\u5230\u5de6\u534a\u5c4f\n- `right-half-screen` - \u5c06\u5f53\u524d\u7a97\u53e3\u8d34\u9760\u5230\u53f3\u534a\u5c4f\n- `top-half-screen` - \u5c06\u5f53\u524d\u7a97\u53e3\u8d34\u9760\u5230\u4e0a\u534a\u5c4f\n- `bottom-half-screen` - \u5c06\u5f53\u524d\u7a97\u53e3\u8d34\u9760\u5230\u4e0b\u534a\u5c4f\n\n#### \u56db\u5206\u5c4f\uff084 \u8def\u5206\u5272\uff09\n- `top-left-screen` - \u5de6\u4e0a\u8c61\u9650\uff081/4 \u5c4f\u5e55\uff09\n- `top-right-screen` - \u53f3\u4e0a\u8c61\u9650\uff081/4 \u5c4f\u5e55\uff09\n- `bottom-left-screen` - \u5de6\u4e0b\u8c61\u9650\uff081/4 \u5c4f\u5e55\uff09\n- `bottom-right-screen` - \u53f3\u4e0b\u8c61\u9650\uff081/4 \u5c4f\u5e55\uff09\n\n#### \u4e09\u5206\u5c4f\uff083 \u8def\u5206\u5272\uff09\n- `left-one-third-screen` - \u5de6\u4e09\u5206\u4e4b\u4e00\uff081/3 \u5c4f\u5e55\uff09\n- `middle-one-third-screen` - \u4e2d\u95f4\u4e09\u5206\u4e4b\u4e00\uff081/3 \u5c4f\u5e55\uff09\n- `right-one-third-screen` - \u53f3\u4e09\u5206\u4e4b\u4e00\uff081/3 \u5c4f\u5e55\uff09\n\n#### \u4e09\u5206\u4e4b\u4e8c\uff082/3 \u5206\u5272\uff09\n- `left-two-thirds-screen` - \u5de6\u4e09\u5206\u4e4b\u4e8c\uff082/3 \u5c4f\u5e55\uff09\n- `right-two-thirds-screen` - \u53f3\u4e09\u5206\u4e4b\u4e8c\uff082/3 \u5c4f\u5e55\uff09\n\n### \u7a97\u53e3\u63a7\u5236\n- `maximize-screen` - \u64cd\u4f5c\u7cfb\u7edf\u6700\u5927\u5316\uff08\u6709\u8fb9\u6846\uff0c\u4efb\u52a1\u680f\u53ef\u89c1\uff09\n- `fullscreen-screen` - \u5168\u5c4f\u6a21\u5f0f\uff08\u5e73\u53f0\u7279\u5b9a\u884c\u4e3a\uff09\n- `minimize-screen` - \u5c06\u7a97\u53e3\u6700\u5c0f\u5316\u5230\u4efb\u52a1\u680f/\u7a0b\u5e8f\u575e\n\n## \u26a1 \u6027\u80fd\u7279\u5f81\n\n### Windows \u6027\u80fd\n- **\u603b\u65f6\u95f4**\uff1a\u6bcf\u6b21\u64cd\u4f5c 15-60ms\n- **\u68c0\u6d4b**\uff1a2-5ms\uff08\u76f4\u63a5 Win32 API\uff09\n- **\u64cd\u4f5c**\uff1a10-47ms\uff08\u5e26\u4fee\u6b63\u7684 SetWindowPos\uff09\n- **\u6700\u4f73\u60c5\u51b5**\uff1a\u7b80\u5355\u5206\u5272 15-25ms\n- **\u5178\u578b\u60c5\u51b5**\uff1a\u5927\u591a\u6570\u64cd\u4f5c 20-35ms\n\n### macOS \u6027\u80fd\n- **\u603b\u65f6\u95f4**\uff1a\u6bcf\u6b21\u64cd\u4f5c 50-150ms\n- **\u68c0\u6d4b**\uff1a20-50ms\uff08AppleScript + \u8f85\u52a9\u529f\u80fd API\uff09\n- **\u64cd\u4f5c**\uff1a15-55ms\uff08AXUIElement \u64cd\u4f5c\uff09\n- **\u6700\u4f73\u60c5\u51b5**\uff1a\u7b80\u5355\u5206\u5272 50-80ms\n- **\u5178\u578b\u60c5\u51b5**\uff1a\u5927\u591a\u6570\u64cd\u4f5c 80-120ms\n\n## \ud83d\udd0d \u6280\u672f\u67b6\u6784\n\n### Windows \u5b9e\u73b0\n- \u901a\u8fc7 `pywin32` \u7684**\u76f4\u63a5 Win32 API \u8c03\u7528**\n- **DWM \u96c6\u6210**\u7528\u4e8e\u51c6\u786e\u7684\u6846\u67b6\u8fb9\u754c\n- **DPI \u611f\u77e5\u5b9a\u4f4d**\u7528\u4e8e\u9ad8\u5206\u8fa8\u7387\u663e\u793a\u5668\n- **\u53cc\u904d\u5b9a\u4f4d**\u7528\u4e8e\u7cbe\u786e\u7684\u7a97\u53e3\u653e\u7f6e\n\n### macOS \u5b9e\u73b0\n- **AppleScript \u7126\u70b9\u68c0\u6d4b**\u7528\u4e8e\u53ef\u9760\u6027\n- **\u8f85\u52a9\u529f\u80fd API**\u7528\u4e8e\u7a97\u53e3\u64cd\u4f5c\n- **\u56de\u9000\u673a\u5236**\u7528\u4e8e\u8fb9\u7f18\u60c5\u51b5\n- **\u5c4f\u5e55\u611f\u77e5\u5b9a\u4f4d**\u5c0a\u91cd\u83dc\u5355\u680f\u548c\u7a0b\u5e8f\u575e\n\n### \u8de8\u5e73\u53f0\u529f\u80fd\n- **\u81ea\u52a8\u5e73\u53f0\u68c0\u6d4b**\n- **\u6761\u4ef6\u4f9d\u8d56\u52a0\u8f7d**\n- **\u7edf\u4e00 API \u63a5\u53e3**\n- **\u9519\u8bef\u5904\u7406\u548c\u6062\u590d**\n\n## \ud83d\udccb \u5e73\u53f0\u4f9d\u8d56\n\n### Windows\n- **\u5fc5\u9700**\uff1a`pywin32>=306`\n- **\u7528\u9014**\uff1aWin32 API \u8bbf\u95ee\u3001DWM \u96c6\u6210\u3001\u7a97\u53e3\u64cd\u4f5c\n\n### macOS\n- **\u5fc5\u9700**\uff1a`pyobjc-core>=10.1,<11`\u3001`pyobjc-framework-Cocoa>=10.1,<11`\u3001`pyobjc-framework-Quartz>=10.1,<11`\u3001`pyobjc-framework-ApplicationServices>=10.1,<11`\n- **\u7528\u9014**\uff1a\u8f85\u52a9\u529f\u80fd API\u3001AppleScript \u96c6\u6210\u3001\u7a97\u53e3\u7ba1\u7406\n\n## \ud83d\udea8 \u6545\u969c\u6392\u9664\n\n### \u5e38\u89c1\u95ee\u9898\n\n#### macOS \u7126\u70b9\u68c0\u6d4b\u95ee\u9898\n- **\u75c7\u72b6**\uff1a\u7a97\u53e3\u4e0d\u79fb\u52a8\u6216\u9009\u62e9\u4e86\u9519\u8bef\u7684\u7a97\u53e3\n- **\u89e3\u51b3\u65b9\u6848**\uff1a\u786e\u4fdd\u7ec8\u7aef\u5728\u7cfb\u7edf\u504f\u597d\u8bbe\u7f6e > \u5b89\u5168\u6027\u4e0e\u9690\u79c1 > \u9690\u79c1 > \u8f85\u52a9\u529f\u80fd\u4e2d\u5177\u6709\u8f85\u52a9\u529f\u80fd\u6743\u9650\n\n#### Windows DPI \u95ee\u9898\n- **\u75c7\u72b6**\uff1a\u5728\u9ad8 DPI \u663e\u793a\u5668\u4e0a\u7a97\u53e3\u5b9a\u4f4d\u4e0d\u6b63\u786e\n- **\u89e3\u51b3\u65b9\u6848**\uff1a\u670d\u52a1\u5668\u81ea\u52a8\u5904\u7406 DPI \u611f\u77e5\uff0c\u4f46\u786e\u4fdd\u5b89\u88c5 `pywin32>=306`\n\n#### MCP \u5ba2\u6237\u7aef\u8fde\u63a5\u95ee\u9898\n- **\u75c7\u72b6**\uff1a\u76f4\u63a5\u8c03\u7528\u65f6\u529f\u80fd\u6b63\u5e38\uff0c\u4f46\u901a\u8fc7 MCP \u5931\u8d25\n- **\u89e3\u51b3\u65b9\u6848**\uff1a\u68c0\u67e5 MCP \u5ba2\u6237\u7aef\u65e5\u5fd7\uff0c\u786e\u4fdd\u6b63\u786e\u914d\u7f6e\uff0c\u91cd\u542f MCP \u5ba2\u6237\u7aef\n\n### \u6027\u80fd\u4f18\u5316\n- **\u9996\u6b21\u8fd0\u884c**\uff1a\u53ef\u80fd\u7531\u4e8e\u7cfb\u7edf\u9884\u70ed\u800c\u8f83\u6162\n- **\u540e\u7eed\u8fd0\u884c**\uff1a\u5e94\u8be5\u6301\u7eed\u5feb\u901f\n- **\u590d\u6742\u5e94\u7528**\uff1aSafari\u3001Chrome \u53ef\u80fd\u7531\u4e8e\u7a97\u53e3\u7ed3\u6784\u800c\u9700\u8981\u66f4\u957f\u65f6\u95f4\n\n## \ud83d\udd27 \u5f00\u53d1\n\n### \u9879\u76ee\u7ed3\u6784\n```\ncomputer-split-screen/\n\u251c\u2500\u2500 src/splitscreen_mcp/\n\u2502   \u251c\u2500\u2500 __init__.py          # \u5305\u521d\u59cb\u5316\n\u2502   \u251c\u2500\u2500 __main__.py          # MCP \u670d\u52a1\u5668\u5165\u53e3\u70b9\n\u2502   \u2514\u2500\u2500 window_actions.py    # \u6838\u5fc3\u7a97\u53e3\u7ba1\u7406\u903b\u8f91\n\u251c\u2500\u2500 pyproject.toml           # \u9879\u76ee\u914d\u7f6e\n\u251c\u2500\u2500 README.md               # \u672c\u6587\u4ef6\n\u2514\u2500\u2500 LICENSE                 # MIT \u8bb8\u53ef\u8bc1\n```\n\n### \u4ece\u6e90\u7801\u6784\u5efa\n```bash\ngit clone https://github.com/Beta0415/computer-split-screen-mcp.git\ncd computer-split-screen-mcp\nuvx install -e .\n```\n\n### \u8fd0\u884c\u6d4b\u8bd5\n```bash\n# \u6d4b\u8bd5\u7a97\u53e3\u68c0\u6d4b\npython3 -c \"from src.splitscreen_mcp.window_actions import left_half_window; left_half_window()\"\n\n# \u6d4b\u8bd5 MCP \u670d\u52a1\u5668\nuvx run computer-split-screen-mcp\n```\n\n### \u8d21\u732e\n- **\u4ed3\u5e93**\uff1a[https://github.com/Beta0415/computer-split-screen-mcp](https://github.com/Beta0415/computer-split-screen-mcp)\n- **\u95ee\u9898**\uff1a[https://github.com/Beta0415/computer-split-screen-mcp/issues](https://github.com/Beta0415/computer-split-screen-mcp/issues)\n- **\u62c9\u53d6\u8bf7\u6c42**\uff1a\u6b22\u8fce\uff01\u91cd\u5927\u66f4\u6539\u8bf7\u5148\u5f00\u4e00\u4e2a issue\u3002\n\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\n\n\u672c\u9879\u76ee\u91c7\u7528 MIT \u8bb8\u53ef\u8bc1 - \u8be6\u60c5\u8bf7\u53c2\u9605 [LICENSE](LICENSE) \u6587\u4ef6\u3002\n\n## \ud83e\udd1d \u8d21\u732e\n\n\u6b22\u8fce\u8d21\u732e\uff01\u8bf7\u968f\u65f6\u63d0\u4ea4\u62c9\u53d6\u8bf7\u6c42\u3002\u5bf9\u4e8e\u91cd\u5927\u66f4\u6539\uff0c\u8bf7\u5148\u5f00\u4e00\u4e2a issue \u6765\u8ba8\u8bba\u60a8\u60f3\u8981\u66f4\u6539\u7684\u5185\u5bb9\u3002\n\n## \ud83d\udcca \u7248\u672c\u5386\u53f2\n\n- **v1.4.4** - \u5f53\u524d\u7a33\u5b9a\u7248\u672c\n  - \u8de8\u5e73\u53f0\u7a97\u53e3\u7ba1\u7406\n  - 16 \u4e2a\u5168\u9762\u5de5\u5177\n  - \u9ad8\u6027\u80fd\u5b9e\u73b0\n  - \u5b8c\u6574 MCP \u534f\u8bae\u652f\u6301\n\n## \ud83c\udd98 \u652f\u6301\n\n\u5982\u679c\u60a8\u9047\u5230\u4efb\u4f55\u95ee\u9898\u6216\u6709\u7591\u95ee\uff1a\n\n1. \u68c0\u67e5\u4e0a\u9762\u7684\u6545\u969c\u6392\u9664\u90e8\u5206\n2. \u67e5\u770b MCP \u5ba2\u6237\u7aef\u65e5\u5fd7\u4e2d\u7684\u9519\u8bef\n3. \u76f4\u63a5\u6d4b\u8bd5\u529f\u80fd\u4ee5\u9694\u79bb\u95ee\u9898\n4. \u5728\u9879\u76ee\u4ed3\u5e93\u4e0a\u5f00\u4e00\u4e2a issue\n\n---\n\n**\u4e3a MCP \u793e\u533a\u7528\u5fc3\u6784\u5efa \u2764\ufe0f**\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2024 Computer Split Screen MCP\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRECTION. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.",
    "summary": "Model Context Protocol Server via Cross-Platform (Mac & Windows) Split Screen Functions",
    "version": "1.5.13",
    "project_urls": {
        "Documentation": "https://github.com/Beta0415/computer-split-screen-mcp#readme",
        "Homepage": "https://github.com/Beta0415/computer-split-screen-mcp",
        "Issues": "https://github.com/Beta0415/computer-split-screen-mcp/issues",
        "Repository": "https://github.com/Beta0415/computer-split-screen-mcp"
    },
    "split_keywords": [
        "cross-platform",
        " desktop-productivity",
        " macos",
        " mcp",
        " pywin32",
        " split-screen",
        " tiling",
        " window-management",
        " windows"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "51596ed3799f1b50d7099df4535efa9e66122db29a112183ca763a2eb68e24a3",
                "md5": "62fda89ddc9c1c2e2ae28b6a2c41ff06",
                "sha256": "45b52c70bd29417935deee78ef76aa688c5571af5cf267de26e0cc3fb7f01c78"
            },
            "downloads": -1,
            "filename": "mcpcn_split_screen_mcp-1.5.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "62fda89ddc9c1c2e2ae28b6a2c41ff06",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 14710,
            "upload_time": "2025-09-12T09:44:51",
            "upload_time_iso_8601": "2025-09-12T09:44:51.444783Z",
            "url": "https://files.pythonhosted.org/packages/51/59/6ed3799f1b50d7099df4535efa9e66122db29a112183ca763a2eb68e24a3/mcpcn_split_screen_mcp-1.5.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "73d3e4a3e1d37fafcc6df78a59f92a83bce613280f21c4775b93b4e652e9cdfa",
                "md5": "f9ecef1f2729dcf34aa5e65cfee9d227",
                "sha256": "10147e2451b0961d3fa27c10c45716839b48f1be97b95b9b9ba6a9dfecafc94d"
            },
            "downloads": -1,
            "filename": "mcpcn_split_screen_mcp-1.5.13.tar.gz",
            "has_sig": false,
            "md5_digest": "f9ecef1f2729dcf34aa5e65cfee9d227",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 13167,
            "upload_time": "2025-09-12T09:44:52",
            "upload_time_iso_8601": "2025-09-12T09:44:52.833929Z",
            "url": "https://files.pythonhosted.org/packages/73/d3/e4a3e1d37fafcc6df78a59f92a83bce613280f21c4775b93b4e652e9cdfa/mcpcn_split_screen_mcp-1.5.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-12 09:44:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Beta0415",
    "github_project": "computer-split-screen-mcp#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "mcpcn-split-screen-mcp"
}
        
Elapsed time: 1.62467s