Back to MCP directory
publicPublicdnsLocal runtime

mcp-screenshot-server

一个基于FastAPI的轻量级截图微服务,兼容MCP协议,支持全屏、区域和窗口截图,适用于AI代理和自动化工具。

article

README

🚀 🖼️ MCP 截图服务器

MCP 截图服务器是一个轻量级的截图微服务,与 MCP 兼容,专为 Windows 系统使用 FastAPI 构建。它能让 AI 代理和自动化工具通过简单的 HTTP 调用,轻松捕获全屏、特定区域或特定窗口的截图。

MCP 兼容 许可证: MIT Python

🚀 快速开始

按照以下步骤启动 MCP 截图服务器:

git clone https://github.com/yourusername/mcp-screenshot-server.git
cd mcp-screenshot-server
python -m venv .venv
source .venv/bin/activate   # 或 .venv\Scripts\activate 在 Windows 上
pip install -r requirements.txt
uvicorn main:app --reload

✨ 主要特性

  • 📸 可捕获全屏截图。
  • 🪟 能通过窗口标题捕获特定窗口的截图。
  • 🔲 支持指定区域 [x, y, 宽度, 高度] 进行截图。
  • 🧠 具备 MCP 兼容的 REST API。
  • 🖼️ 可返回 PNG 或 base64 格式的图像。
  • 🚀 基于 FastAPI 构建,适用于生产环境或 LLM 使用。

📚 详细文档

🧠 使用场景

  • 通过模型上下文协议 (MCP) 集成与 LLM 的使用。
  • 可用于 QA 测试自动化流水线。
  • 能作为监控和远程截图工具。
  • 可作为视觉日志记录/调试工具供代理使用。

🔌 API 使用

POST /screenshot

请求 JSON 正文

{
  "region": [0, 0, 1280, 720],        // 可选参数
  "window_title": "Untitled - Notepad", // 可选参数
  "base64": true                      // 可选参数 (默认: false)
}

响应(base64 模式)

{
  "status": "ok",
  "mode": "region",
  "image_format": "base64",
  "image": "<base64-encoded-image>"
}

🔧 技术细节

本项目使用的技术栈如下:

  • Python 3.11+
  • FastAPI
  • msspyautogui 截图工具
  • pillow 图像处理库
  • pygetwindow 窗口匹配(可选)

📄 许可证

本项目采用 MIT 许可证。您可以自由使用、分叉和集成。详细信息请参阅 LICENSE

📬 贡献指南

欢迎提交 Pull Request 和 Issues!您可以通过 PR 添加功能或提高跨平台兼容性(例如 Mac/Linux 支持)。

🙋 常见问题

  • 在 Linux/macOS 上运行如何?
    当前版本专注于 Windows,但欢迎您扩展它以支持其他平台。
  • 是否经过 MCP 认证?
    此项目旨在尽可能遵循 MCP 规范,以实现与 LLM 代理的最大兼容性。

🧠 启发来源

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client