Windows原生功能服务

一个通过MCP服务器暴露Windows原生功能的工具,包括光标控制、窗口管理、UI自动化和截图功能,适用于Windows 10/11平台。

  • by ArunPrakashG
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ArunPrakashG/system_mcp

使用说明

系统MCP(Windows)

暴露Windows本机功能的MCP服务器:

  • 光标控制(获取/设置位置,单击)
  • 窗口管理(列表、移动/调整大小、激活)
  • UI自动化(光标下的元素/文本)
  • 屏幕截图(全屏幕或区域,PNG/JPEG base64)

使用Python、uv、Ruff和官方 mcp Python SDK。

文档📚

完整文档位于GitHub Wiki中:

  • 🚀 安装和设置:wiki/安装-&-设置
  • 🧰 VS代码指南:wiki/VS代码指南
  • 🔌 CLI用法:wiki/CLI用法
  • 🔁 跨项目使用:wiki/跨项目使用
  • 🧪 工具参考:wiki/工具功能
  • 🛠️ 故障排除:wiki/故障排除技巧

需求

  • Windows 10/11
  • Python 3.10+
  • 紫外线 已安装并位于PATH上
  • 某些工具可能需要以管理员身份运行MCP客户端或终端(UAC约束)

设置

使用uv安装依赖项(创建隔离环境):

uv sync

运行(开发,使用MCP检查器)

.scripts/dev.ps1

这将打开MCP检查器 server.py 包装器(在引擎盖下运行模块)。

运行(stdio)

.scripts/run.ps1

独立CLI(Context7风格)

此软件包可以作为具有控制台脚本的独立MCP服务器运行:

# Using the module entry point
uv run -m system_mcp --transport stdio

# Using the console script (provided by project.scripts)
uv run system-mcp --transport stdio

# Network transports (for browsers/remote)
uv run system-mcp --transport sse --port 3000
uv run system-mcp --transport streamable-http --port 3001

要将CLI安装到活动虚拟环境(或全局工具环境)中,请执行以下操作:

# Local editable install (puts the 'system-mcp' script on PATH for this venv)
uv pip install -e .

# Or install as a uv tool (isolated)
uv tool install --with . system-mcp

发布和跨项目安装

  1. 标记并发布GitHub版本(来自此仓库):
  • 凹凸版本 pyproject.toml 如果需要的话。
  • 创建带注释的标签,例如。 v0.1.0,并推动它。
  • 为该标签创建GitHub Release(可选但推荐)。
  1. 使用pipx或uv全局安装标记的CLI:
  • pipx(推荐用于全局工具):
    pipx install --force "git+https://github.com/ArunPrakashG/system_mcp.git@v0.1.0"
    
  • uv工具(隔离工具安装):
    uv tool install --with "git+https://github.com/ArunPrakashG/system_mcp.git@v0.1.0" system-mcp
    
  1. 在任何项目中使用(VS代码任务片段):
  • 复制 templates/tasks.system-mcp.json 进入你的项目 .vscode/tasks.json (或合并它),然后运行任务“运行MCP服务器(系统MCP)”。
  1. 可选PyPI包装器
  • 下面包括一个小包装脚手架 wrappers/pypi/.
  • 如果您将其发布到PyPI(例如,name system-mcp-wrapper),其他人可以简单地:
    pip install system-mcp-wrapper
    system-mcp --transport stdio
    
  • 包装器在标签处依赖于此GitHub仓库。在中更新该标签 wrappers/pypi/pyproject.toml 在发布新版本之前。

要安装到Claude Desktop或其他MCP客户端,您通常可以运行:

# Option A: Using the top-level wrapper for simpler installs
uv run mcp install server.py --name "System MCP (Windows)"

# Option B: Install by module path (clients that support it)
uv run mcp install -m system_mcp.server --name "System MCP (Windows)"

暴露的工具

  • 鼠标:获取位置
  • 鼠标:设置位置(x,y)
  • 鼠标:点击(左|右|中)
  • 窗口:列表(仅可见,仅标题)
  • 窗口:移动/调整大小(hwnd、x、y、宽度、高度)
  • 窗口:按标题(子字符串)查找
  • 窗口:激活(hwnd)
  • UIA:光标下的元素
  • UIA:光标下的文本
  • 屏幕:拍摄屏幕截图(监视器、左侧、顶部、宽度、高度、fmt=png|jpeg、质量)

坐标是屏幕坐标。截图返回base64图像数据;根据需要进行解码。

备注

  • 在多显示器和缩放DPI设置中,Windows UIA ElementFromPoint可能对缩放敏感。如果文本/元素与预期不符,请考虑调整显示比例或运行提升。
  • 这 uiautomation 库封装了微软UI自动化;对于复杂的遍历,请扩展 win/uia.py 因此。
  • mss 用于快速截图;JPEG质量可调。

许可证

该项目根据MIT许可证获得许可——请参阅 LICENSE 文件以获取详细信息。