Token导航 LogoToken导航TokenDH.com
Desktop MCP logo
AI代理stdio官方级别未说明来源级核验

Desktop MCP

MCP Server

一个用于桌面操作的模型上下文协议(MCP)服务器,为AI助手提供跨多显示器设置捕获和分析屏幕内容的能力。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

budaesandrei

提供方

budaesandrei

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

🖥️ 桌面管理控制面板(或桌面管理控制中心)

一个用于桌面操作的模型上下文协议(MCP)服务器,为人工智能助手提供在多显示器设置中捕获和分析屏幕内容的能力。

特点/功能

  • 📸(相机图标,通常表示拍照或照片) 多显示器截图支持捕获所有连接显示器上任意区域的屏幕截图
  • 🖥️ 电脑 屏幕信息获取所有连接显示器的详细信息(分辨率、位置、尺寸)
  • 🎨 表示“美术”或“绘画”的意思,可直接用作相关描述,无需额外翻译。 智能图像优化针对AI上下文效率的自动压缩和调整大小
  • 🔄 旋转(或循环) 双模式操作作为MCP服务器或独立的Web API运行
  • ⚡(闪电符号,常用于表示速度、活力、电力或警告等含义,在中文中无直接对应文字,可保留原符号或根据上下文意译为“闪电”、“快”等) 由FastAPI驱动基于现代、快速且文档齐全的FastAPI框架构建

安装

先决条件

  • Python 3.8 或更高版本
  • Windows、macOS 或 Linux

设置

  1. 克隆仓库:
git clone https://github.com/yourusername/desktop-mcp.git
cd desktop-mcp
  1. 安装依赖项:
pip install -r requirements.txt

使用方法

MCP 模式(默认)

作为MCP服务器运行,以与Claude Desktop等AI助手配合使用:

python -m app.main

网络模式

作为一个独立的网页API运行,并带有交互式文档:

python -m app.main --web

这将会:

  • 在(指定时间/位置)启动服务器 http://localhost:8000
  • 在您的浏览器中自动打开交互式API文档
  • 为开发启用实时重载功能

配置

添加到Claude Desktop

将此配置添加到您的Claude Desktop MCP设置文件中(通常位于 ~/.cursor/mcp.json 或者 %APPDATA%/.cursor/mcp.json):

{
  "mcpServers": {
    "Desktop MCP": {
      "command": "python",
      "args": ["-m", "app.main"],
      "cwd": "/path/to/desktop-mcp"
    }
  }
}

API 参考文档

终点(或:终端点)

GET /desktop/screens

获取所有已连接显示器的信息。

回答:

[
  {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080,
    "name": "\\\\.\\DISPLAY1",
    "is_primary": true,
    "width_mm": 527,
    "height_mm": 296
  }
]

POST /desktop/screenshot

截取特定区域的屏幕截图。

参数:

  • x (int): 左上角的X坐标
  • y (int): 左上角的Y坐标
  • width (int): 捕获区域的宽度
  • height (int): 捕获区域的高度
  • context_mode (字符串,可选):图像质量模式

- minimal (默认):最大600像素,30%质量 - 用于基本UI检测 - normal最大800像素,50%质量 - 用于详细检查用户界面 - detailed最大1200像素,70%质量 - 用于像素级精确的UI分析

请求体:

{
  "x": 0,
  "y": 0,
  "width": 1920,
  "height": 1080
}

回答:

{
  "context": [
    {
      "type": "image",
      "source": {
        "type": "base64",
        "media_type": "image/webp",
        "data": "UklGRi..."
      }
    }
  ]
}

使用示例

示例1:捕获主显示器

import requests

# Get screen info
screens = requests.get("http://localhost:8000/desktop/screens").json()
primary = next(s for s in screens if s["is_primary"])

# Capture primary screen
screenshot = requests.post(
    "http://localhost:8000/desktop/screenshot",
    params={"context_mode": "normal"},
    json={
        "x": primary["x"],
        "y": primary["y"],
        "width": primary["width"],
        "height": primary["height"]
    }
).json()

示例2:捕获特定区域

# Capture a 800x600 region starting at position (100, 100)
screenshot = requests.post(
    "http://localhost:8000/desktop/screenshot",
    params={"context_mode": "minimal"},
    json={
        "x": 100,
        "y": 100,
        "width": 800,
        "height": 600
    }
).json()

示例3:多显示器设置

# For a 3-monitor horizontal setup (each 1920x1080):
# Left monitor: x=0, y=0
# Center monitor: x=1920, y=0
# Right monitor: x=3840, y=0

# Capture right monitor
screenshot = requests.post(
    "http://localhost:8000/desktop/screenshot",
    params={"context_mode": "detailed"},
    json={
        "x": 3840,
        "y": 0,
        "width": 1920,
        "height": 1080
    }
).json()

使用AI助手的用例

当与像Claude这样的AI助手集成时:

  • 可视化调试“你能看到我屏幕上显示的错误信息是什么吗?”
  • 用户界面/用户体验分析“你觉得这个设计布局怎么样?”
  • 教程协助“我卡在这个步骤了,你能看看我哪里做错了?”
  • 代码审查“你能看看我屏幕上显示的代码吗?”
  • 无障碍性测试“这个用户界面是否易于访问且组织得当?”

发展

项目结构

desktop-mcp/
├── app/
│   ├── __init__.py
│   ├── main.py              # Application entry point
│   ├── api/
│   │   ├── __init__.py
│   │   └── desktop.py       # Desktop API routes
│   └── schemas/
│       ├── __init__.py
│       ├── enums.py         # Context mode enums
│       ├── rect.py          # Rectangle schema
│       └── screeninfo.py    # Screen info schema
├── requirements.txt
└── README.md

运行测试

# Run the server in web mode for testing
python -m app.main --web

# Visit http://localhost:8000/docs to test endpoints

要求

  • fastapi - 现代网络框架
  • fastmcp - MCP协议实现
  • uvicorn - ASGI服务器
  • screeninfo - 监控信息检索
  • pyautogui - 截图捕捉
  • pillow - 图像处理
  • pydantic - 数据验证

安全考虑事项

⚠️(警告/注意的符号,无具体文字含义,可理解为“小心”、“注意”等) 重要的这个工具提供了直接访问屏幕内容的功能。在部署时:

  • 仅连接到受信任的网络
  • 考虑用于生产环境的认证机制
  • 注意截图中的敏感信息
  • 使用适当的上下文模式以最小化数据传输

贡献

欢迎贡献!请随时提交拉取请求。

许可证

MIT 许可证 - 欢迎自由地将此项目用于个人或商业用途。

故障排除

截图捕获失败

  • Linux(发音:/ˈlɪnʊks/)确保已安装所需的X11库
  • macOS(苹果电脑操作系统)在系统偏好设置中授予屏幕录制权限
  • Windows如果捕获受保护内容,请以适当的权限运行

多显示器问题

  • 使用 GET /desktop/screens 首先验证显示器坐标
  • 记住,坐标是基于虚拟桌面布局的
  • 显示器可以水平、垂直或按照自定义配置进行排列

性能优化

  • 使用 minimal 频繁捕获时的上下文模式
  • 仅捕获所需区域,而非整个屏幕
  • 考虑缓存屏幕信息,避免重复查询

支持

对于问题、疑问或建议,请在GitHub上提交一个议题。

______________________________________________________________________

用心打造,旨在提升AI助手能力

目录标签

目录标签

PythonClaudeAI代理多显示器支持本地部署屏幕信息获取智能图像优化FastAPI框架AI助手集成

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP