截图服务器

一个可靠的模型上下文协议服务器,用于拍摄带有时间戳叠加的屏幕截图。

  • by antondemidov
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 antondemidov/screenshot-mcp-server

使用说明

MCP屏幕截图服务器-干净版本

一个可靠的模型上下文协议服务器,用于使用时间戳覆盖进行截图。

项目结构

mcp-screenshot-server/
├── screenshot_server.py        # Main server file
├── config.py                   # Configuration settings
├── screenshot_utils.py         # Screenshot utilities
├── requirements.txt           # Python dependencies
└── README.md                  # This file

安装

1.创建项目目录

mkdir mcp-screenshot-server
cd mcp-screenshot-server

2.创建文件

使用上述工件的内容创建每个文件:

  • screenshot_server.py -主服务器
  • config.py -配置
  • screenshot_utils.py -公用事业
  • requirements.txt -依赖关系

3.安装依赖项

# Using your specific Python environment
/Users/antond/.pyenv/versions/3.12.4/envs/python_3_12/bin/pip install -r requirements.txt

4.测试服务器

cd mcp-screenshot-server
/Users/antond/.pyenv/versions/3.12.4/envs/python_3_12/bin/python screenshot_server.py

您应该看到:“正在启动MCP屏幕截图服务器…”和“屏幕截图将保存到:/Users/antond/Downloads/MCP_Screenshots”

配置

Claude桌面配置

添加到您的Claude Desktop配置文件中:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/antond/Desktop",
        "/Users/antond/Downloads"
      ]
    },
    "screenshot": {
      "command": "/Users/antond/.pyenv/versions/3.12.4/envs/python_3_12/bin/python",
      "args": ["/full/path/to/mcp-screenshot-server/screenshot_server.py"]
    }
  }
}

自定义设置

编辑 config.py 更改:

  • 截图目录路径
  • 支持的图像格式
  • 默认时间戳格式
  • 不同系统的字体路径

特性

✅ 核心屏幕截图

  • 全屏截图
  • 基于区域的屏幕截图
  • 多种格式(PNG、JPG、BMP、TIFF)
  • 带有自动时间戳的自定义文件名

✅ 时间戳叠加

  • 可定制的位置(5个位置)
  • 字体大小控制(8-72px)
  • 颜色定制
  • 半透明背景
  • 自定义日期/时间格式

✅ 文件管理

  • 列出所有带有元数据的屏幕截图
  • 文件大小和尺寸信息
  • 创建/修改时间戳
  • 自动目录组织

✅ 交叉平台的

  • macOS、Windows、Linux支持
  • 自动字体检测
  • 屏幕信息检测

使用示例

在Claude Desktop中配置后:

基本屏幕截图

  • “截图”
  • “截取名为“my_desktop”的屏幕截图”
  • “以JPG格式截图”

区域截图

  • “截取区域x=100,y=100,宽度=800,高度=600的屏幕截图”

带时间戳的屏幕截图

  • “截取带有时间戳的屏幕截图”
  • “在右上角截取带有时间戳的屏幕截图”
  • “截取带有大时间戳的屏幕截图”

文件管理

  • “列出我的所有截图”
  • “显示屏幕信息”

故障排除

权限问题(macOS)

授予屏幕录制权限:

  1. 系统首选项→ 安全与隐私→ 屏幕录制
  2. 将Claude Desktop添加到允许的应用程序中
  3. 重新启动克劳德桌面

导入错误

# Ensure all dependencies are installed
/Users/antond/.pyenv/versions/3.12.4/envs/python_3_12/bin/pip install --upgrade -r requirements.txt

路径问题

  • 在Claude Desktop配置中使用绝对路径
  • 使用以下命令验证Python可执行路径: which python
  • 检查项目目录中的文件权限

架构优势

🏗️ 清洁分离

  • screenshot_server.py:MCP服务器处理
  • config.py:所有设置集中在一个地方
  • screenshot_utils.py:核心截图逻辑

🔧 易于维护

  • 模块化设计,便于更新
  • 明确错误处理和记录
  • 无需更改代码即可配置

🚀 性能可靠

  • 无外部浏览器依赖关系
  • 使用经过验证的pyautogui库
  • 稳健的错误处理

📦 简单部署

  • 最小依赖性
  • 自给自足的项目
  • 易于备份和共享

这种干净、模块化的方法为您提供了可靠的屏幕截图功能的坚实基础,易于维护和扩展!