使用说明
项目简介
TRAA MCP 屏幕截图服务器是一个基于模型上下文协议 (MCP) 构建的应用后端,旨在为LLM客户端提供屏幕和窗口的截图功能。它允许LLM通过标准化的MCP协议,枚举系统中的屏幕和窗口资源,并根据需要捕获屏幕截图,从而实现更丰富的上下文感知和桌面自动化应用。
主要功能点
-
屏幕和窗口资源枚举:
- 列出系统中所有可用的显示器。
- 列出系统中所有可用的窗口。
- 每个资源包含ID、标题、类型(显示器/窗口)和位置信息。
-
屏幕截图:
- 捕获任何显示器或窗口的屏幕截图。
- 可自定义截图尺寸。
- 支持JPEG和PNG格式。
- 可配置图像质量设置。
- 自动创建目录以保存文件。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本。
- 安装依赖: 根据 'README.md' 的 'Dependencies' 部分,使用 'uv pip install' 或 'pip install' 命令安装所需的 Python 包,例如:
或uv pip install mcp>=1.0.0 anyio>=4.5 traa>=0.1.5 pillow>=11.1.0pip install mcp>=1.0.0 anyio>=4.5 traa>=0.1.5 pillow>=11.1.0 - 获取代码: 从 GitHub 仓库 https://github.com/opentraa/traa-mcp 克隆或下载代码。
服务器配置
MCP服务器需要配置在MCP客户端中才能使用,例如 Claude Desktop 或其他 AI agents。以下是配置 'traa_mcp' 服务器的 JSON 格式配置信息,请根据实际文件路径进行调整:
{ "mcpServers": { "traa_mcp": { "command": "absolute/path/to/uv", "args": [ "--directory", "absolute/path/to/traa-mcp", "run", "traa_mcp_server" ] } } }
配置参数说明:
- 'server name': 'traa_mcp' - 服务器名称,客户端根据此名称识别和调用。
- 'command': '"absolute/path/to/uv"' - 'uv' 命令的绝对路径。'uv' 是仓库 'README.md' 中推荐的 Python 环境和包管理器,如果使用 'python' 或其他方式运行,请替换为相应的命令路径。
- 'args': 启动服务器的参数列表。
- '--directory': '"absolute/path/to/traa-mcp"' - 'traa-mcp' 仓库代码所在目录的绝对路径。
- '"run"': 'uv run' 的子命令,用于运行 Python 脚本。
- '"traa_mcp_server"': 要运行的服务器脚本名称,对应 'traa_mcp_server' 包的入口点。
注意:
- 请将 '"absolute/path/to/uv"' 和 '"absolute/path/to/traa-mcp"' 替换为实际的绝对路径。
- 如果您不使用 'uv',可以将 'command' 替换为 Python 解释器路径 (例如 '"absolute/path/to/python"'),并调整 'args' 为 '["-m", "traa_mcp_server.server.app"]' 或其他适合您环境的启动方式。
- 如果需要使用 SSE 模式,请将 'args' 修改为 '["--directory", "absolute/path/to/traa-mcp", "run", "traa_mcp_server-sse", "--port", "3001"]',并确保客户端配置的连接方式与服务器的传输协议一致。
基本使用方法
- 启动服务器: 根据上述服务器配置,在终端中运行服务器。例如,使用 'uv' 运行 stdio 模式的服务器:
或运行 SSE 模式的服务器 (默认端口 3001):uv run traa_mcp_serveruv run traa_mcp_server-sse - 运行客户端: 在另一个终端中,运行客户端程序:
uv run traa_mcp_client - 客户端交互: 客户端启动后,会列出可用的工具。您可以根据提示,输入工具名称和参数进行交互。
- 使用 'enum_screen_sources' 查看可用的屏幕和窗口资源列表。
- 使用 'create_snapshot' 捕获屏幕截图,截图数据将直接返回。
- 使用 'save_snapshot' 将屏幕截图保存到指定文件路径。
示例客户端交互:
Select a tool to use or 'quit' to exit. Tool: enum_screen_sources Description: Enumerate all screen and window sources available on the system and return a list of SimpleScreenSourceInfo Tool: create_snapshot Description: Create a snapshot of the screen source with the given ID and return it as an image Parameters: - source_id (integer) Description: - snapshot_size (array) Description: Tool: save_snapshot Description: Save a snapshot of the screen source with the given ID to a file Parameters: - source_id (integer) Description: - snapshot_size (array) Description: - file_path (string) Description: Query: enum_screen_sources Tool Response: [ { "id": 0, "title": "Display 1", "is_window": false, "rect": [ 0, 0, 1920, 1080 ] }, { "id": 1, "title": "Calculator", "is_window": true, "rect": [ 100, 100, 800, 600 ] } ] Select a tool to use or 'quit' to exit. ...
信息
分类
桌面与硬件