一个强大的模型上下文协议(MCP)工具,使AI助手能够使用Claude Vision API捕获并分析屏幕截图。捕捉屏幕截图,分析屏幕内容,并获得关于桌面界面的AI见解。
最可靠的安装Screen View MCP的方式是通过npm:
# 安装最新版本
npm install -g screen-view-mcp
# 确保获取到确切的最新版本并避免缓存问题
npm install -g screen-view-mcp@2.0.15 # 替换为最新版本号
然后按照下面“手动配置”部分所示配置您的AI客户端。
通过npm安装后,配置您的AI客户端:
Claude Desktop:
%APPDATA%/Claude/claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.jsonCursor:
%APPDATA%/Cursor/mcp.json 或 ~/.cursor/mcp.json~/Library/Application Support/Cursor/mcp.jsonCLIne:
~/.config/cline/mcp.jsonWindsurf:
~/.config/windsurf/mcp.json{
"mcpServers": {
"screen-view-mcp": {
"command": "npx",
"args": [
"screen-view-mcp@2.0.15" // 指定确切版本以避免缓存问题
],
"transport": "stdio",
"env": {
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
}
}
对于支持SSE传输的客户端或远程连接场景:
{
"mcpServers": {
"screen-view-mcp": {
"command": "npx",
"args": [
"screen-view-mcp@2.0.15",
"--sse",
"--port", "8080",
"--host", "localhost"
],
"env": {
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
}
}
对于连接到远程SSE服务器(运行在另一台机器上):
{
"mcpServers": {
"screen-view-mcp": {
"url": "http://your-server-ip:8080/sse",
"transport": "sse",
"env": {
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
}
}
捕获并分析当前屏幕内容。
参数:
{
prompt?: string; // 自定义分析提示
modelName?: string; // 使用的Claude模型
saveScreenshot?: boolean; // 是否保存本地截图
}
在Claude中的示例用法:
你能分析一下我现在屏幕上的内容并描述布局吗?
npm list -g screen-view-mcp)--sse标志以下是不同客户端支持的传输类型:
| 客户端 | 支持的传输类型 |
|---|---|
| Claude Desktop | stdio |
| Cursor | stdio, SSE |
| Cline | stdio, SSE |
| Windsurf | stdio, SSE |
如果遇到连接错误,请确保您使用了适合客户端的传输配置。
git clone https://github.com/yourusername/screen-view-mcp.git
cd screen-view-mcp
npm install
npm run build
# 使用stdio传输(默认)测试
node dist/screen-capture-mcp.js --api-key=your-anthropic-api-key
# 使用SSE传输测试
node dist/screen-capture-mcp.js --sse --port 8080 --host localhost --api-key=
MIT
此项目配置为在Smithery上部署,允许通过WebSocket传输托管MCP服务器。
anthropicApiKey(必需):您的Anthropic API密钥verbose(可选):启用详细日志记录(默认:false)helloWorld:简单的测试工具,回显一条消息captureAndAnalyzeScreen:捕获屏幕截图并使用Claude Vision进行分析const response = await mcpClient.invoke("captureAndAnalyzeScreen", {
prompt: "我现在屏幕上的内容是什么?重点关注主要内容。",
modelName: "claude-3-opus-20240229"
});
console.log(response);