🚀 截图服务器(文件路径聚焦)
本项目搭建了一个基于MCP(模块化通信协议)的服务器,其核心功能是捕获截图并保存到指定路径,方便其他进程或AI助手使用。
🚀 快速开始
此服务器主要用于捕获截图并将其保存到指定路径,为其他进程或AI助手提供便利。通过基于文件路径的方法,解决了直接解析图像数据不可靠的问题。
✨ 主要特性
- 提供基于MCP协议的截图服务。
- 支持将截图保存到指定的工作空间路径。
- 可直接返回截图的文件路径,便于后续处理。
📦 安装指南
先决条件
- 安装Python 3.x。
- 使用命令安装依赖:
uv sync .
运行服务器
环境考虑(特别是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 的默认目录。