article
README
🚀 截图服务器(文件路径聚焦)
本项目搭建了一个基于MCP(模块化通信协议)的服务器,其核心功能是捕获截图并保存到指定路径,方便其他进程或AI助手使用。
🚀 快速开始
此服务器主要用于捕获截图并将其保存到指定路径,为其他进程或AI助手提供便利。通过基于文件路径的方法,解决了直接解析图像数据不可靠的问题。
✨ 主要特性
- 提供基于MCP协议的截图服务。
- 支持将截图保存到指定的工作空间路径。
- 可直接返回截图的文件路径,便于后续处理。
📦 安装指南
先决条件
- 安装Python 3.x。
- 使用命令安装依赖:
uv sync .
运行服务器
- 注意:必须在Windows上运行此服务器。
环境考虑(特别是WSL2)
- 将项目文件夹放在Windows文件系统中(例如
C:\path\to\screenshot-server)。 - 在WSL中的MCP主机配置中,使用以下内容启动服务器:
{ "mcpServers": { "Screenshot-server": { "command": "powershell.exe", "args": [ "-Command", "Invoke-Command -ScriptBlock { cd '<YOUR_WINDOWS_PROJECT_PATH>'; & '<YOUR_WINDOWS_UV_PATH>' run screenshot.py }" ] } } }- 将
<YOUR_WINDOWS_PROJECT_PATH>替换为实际的Windows路径。 - 将
<YOUR_WINDOWS_UV_PATH>替换为实际的uv安装路径。
- 将
💻 使用示例
基础用法
1. WSL主机到Windows Server的工作流程
- AI助手在WSL中识别当前工作空间路径(例如
/home/user/current_project)。 - AI助手使用
use_mcp_tool调用Screenshot-server上的save_screenshot_to_host_workspace方法,传递参数host_workspace_path="/home/user/current_project"和可选的name。 - 收到
"success"回应。 - AI助手知道截图现在位于
/home/user/current_project/workspace_screenshot.jpg(或指定名称)。 - AI助手使用
use_mcp_tool调用运行在WSL中的图像分析服务器/工具,传递路径/home/user/current_project/workspace_screenshot.jpg。 - 图像分析服务器读取文件并执行其任务。
2. 一般工作流程
- 调用
take_screenshot_and_return_path方法。 - 收到截图的路径(例如
C:\path\to\screenshots\default_name.jpg)。 - 使用该路径进行后续处理。
高级用法
AI助手在WSL中的示例工作流程
- AI助手识别当前工作空间路径(例如
/home/user/current_project)。 - 调用
save_screenshot_to_host_workspace方法,传递host_workspace_path="/home/user/current_project"和可选的name。 - 收到
"success"回应。 - AI助手知道截图位于
/home/user/current_project/workspace_screenshot.jpg(或指定名称)。 - 调用图像分析服务器,并传递路径
/home/user/current_project/workspace_screenshot.jpg。
📚 详细文档
可用工具
save_screenshot_to_host_workspace
- 功能:将截图保存到指定的工作空间路径。
- 参数:
host_workspace_path: WSL中的工作空间路径(例如/home/user/current_project)。name(可选): 图片文件名,不带扩展名,默认为workspace_screenshot.jpg。
take_screenshot_and_return_path
- 功能:捕获屏幕并返回截图的路径。
- 参数:
name(可选): 图片文件名,不带扩展名,默认为default.jpg。
take_screenshot_path
- 功能:指定保存路径和文件名。
- 参数:
path: 文件夹路径(例如C:\path\to\screenshots)。name: 图片文件名,包括扩展名(例如custom_name.jpg)。
🔧 技术细节
直接解析图像数据不可靠,因此项目采用基于文件路径的方法。通过将截图保存到指定路径,避免了直接处理图像数据时可能出现的问题,提高了系统的稳定性和可靠性。
📄 文件结构
screenshot.py: 核心MCP服务器脚本。README.md: 此文档文件。pyproject.toml: 项目定义和uv依赖项。uv.lock: 依赖锁定文件。.gitignore: Git忽略配置。.python-version(可选): Python版本指定器。server.log: 服务器生成的日志文件。images/:take_screenshot_and_return_path的默认目录。
微信扫一扫