README
🚀 TRAA MCP 服务器
TRAA MCP 服务器是一款基于模型上下文协议(MCP)的屏幕捕获服务器。它能枚举系统屏幕和窗口,还可捕获屏幕截图。该服务器通过 MCP 协议与客户端通信,支持标准输入输出(stdio)和 Server-Sent Events (SSE) 两种传输方式。
🚀 快速开始
配置 MCP 服务器
在 Claude Desktop 或其他 AI 代理中配置:
{
"mcpServers": {
"traa_mcp": {
"command": "absolute/path/to/uv",
"args": [
"--directory",
"absolute/path/to/traa-mcp",
"run",
"traa_mcp_server"
]
}
}
}
服务端运行
服务器支持两种运行模式:
- 标准输入输出模式(默认):
uv run traa_mcp_server
- SSE 模式(带端口指定):
uv run traa_mcp_server-sse --port 3001(默认)
客户端使用
客户端提供一个交互式的命令行界面,便于访问服务器功能:
uv run traa_mcp_client
启动后,客户端会显示所有可用工具的列表。您可以执行以下操作:
- 使用
enum_screen_sources查看所有可用的屏幕和窗口源 - 使用
create_snapshot捕获屏幕截图并获取图像数据 - 使用
save_snapshot保存指定源的屏幕截图
✨ 主要特性
- 屏幕和窗口源枚举:
- 列出系统中所有可用的显示设备
- 列出系统中所有可用的窗口
- 每个源包括 ID、标题、类型(显示/窗口)以及位置信息
- 屏幕捕获:
- 捕获指定显示设备或窗口的屏幕截图
- 自定义截图尺寸
- 支持 JPEG 和 PNG 格式
- 可配置图像质量设置
- 自动创建保存文件的目录
📦 安装指南
依赖项
- Python >= 3.10
- 必要的库包括:Pillow、uvicorn、fastapi 等,请根据需求安装最新版本
💻 使用示例
工具介绍
enum_screen_sources- 枚举系统中所有可用的屏幕和窗口源,并返回一个
SimpleScreenSourceInfo列表 - 返回类型:list[SimpleScreenSourceInfo]
- 枚举系统中所有可用的屏幕和窗口源,并返回一个
create_snapshot- 创建指定源 ID 的屏幕截图并将其作为图像返回
- 输入参数:
- source_id: int(源 ID)
- snapshot_size: tuple[int, int](截图尺寸)
- 返回类型:Image
save_snapshot- 将指定源 ID 的屏幕截图保存到文件中
- 输入参数:
- source_id: int(源 ID)
- snapshot_size: tuple[int, int](截图尺寸)
- file_path: str(文件路径)
- 返回类型:None
示例展示

📚 详细文档
图像格式支持
- 默认使用 JPEG 格式,文件大小较小,适合网络传输
- 支持 PNG 格式,提供更高的图像质量
注意事项
⚠️ 重要提示
- 自动创建保存路径中所需的目录结构
- 配置文件和日志路径请确保权限正确
- 保持服务器与客户端的网络连接稳定
📄 许可证
[此处插入相关许可证信息,如 MIT License 或 Apache License 等]
此文档详细介绍了 TRAA MCP 服务器的功能、使用方法及其配置细节,帮助用户顺利部署和使用该工具。
Scan to join WeChat group