mcpField
S
slimsnap

slimsnap

本地服务
github.com/bickov生产力013 周前更新

关于 slimsnap

slimsnap 是本地 MCP 服务,为 AI Agent 提供 SlimSnap 截图的结构化数据,包括屏幕文字、位置、颜色和标注。适合查看已标记的屏幕;需要视觉细节时也可返回缩小后的图像。

主要功能

  1. 01以 JSON 读取最新截图
  2. 02列出近期截图
  3. 03按 ID 获取截图
  4. 04返回缩小后的帧图像
  5. 05包含标注目标和屏幕文字

适用场景

  1. 01询问 Agent 标记的按钮
  2. 02从近期截图中查找旧截图
  3. 03查看长页面中的文字和标注

MCP 相关

向 MCP 客户端提供 4 个工具,用于列出和读取已有截图。它读取本地截图文件,不包含网络代码。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bickov-slimsnap": {
"command": "npx",
"args": [
"-y",
"@slimsnap/mcp"
]
}
}
}
启动命令npx -y @slimsnap/mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@slimsnap/mcp0.1.2

工具

4

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

SlimSnap 连接器

将最近的屏幕截图转换为 AI 真正能读取的结构化数据。

在 SlimSnap 中截取屏幕,标记你想表达的内容,然后在 Claude 或 Cursor 中说“查看我最近的截图”。无需粘贴、无需文件路径,也无需剪贴板。

Agent 能获取什么

不是截图,而是一份 JSON 文档:屏幕上每段文本的位置和颜色,以及你绘制的箭头、方框和标注,还有每个标注指向的元素。

这很重要,原因有三点。

粘贴到 Agent 中的截图会在模型读取前被缩小,而系统不会告诉你。Anthropic 自己的文档建议预先调整图片大小并裁剪,因为调整大小“可能会让文字更难辨认”。长页面上的文字会彻底消失。

通过 MCP 返回的图片情况更糟。在 Claude Code 中,图片会作为文本而非原生图片块传递,消耗约 15-25k 个 token,而直接粘贴同一张图片只需约 1.6k 个 token;模型根本无法读取这些图片(claude-code#31208,问题已关闭且不会处理)。结果足够大时,还会直接超出单个结果的 token 上限(#9152)。

过大的截图还可能永久污染会话。它会一直留在上下文中,每轮对话都会重新发送,而且无法移除(#55040)。

这个连接器通过完全不发送图片,避开了以上三种问题。普通屏幕所需的 token 比同一屏幕作为图片时少约三分之一;而对于长页面,比较的重点甚至不再是成本:将 18,410 像素的页面缩小到模型 1568 像素的上限,会让正文文字只有 1.4 像素高,因此图片之所以便宜,是因为它无法辨认。无论哪种情况,Agent 获得的都是精确坐标,而不是对你指的是哪个按钮的猜测。

如果确实需要像素信息(视觉风格、间距、色彩平衡),还有一个单独的工具可供使用,而且图片已预先缩小到模型可读取的尺寸。

安装

Claude Code

claude mcp add slimsnap -- npx -y @slimsnap/mcp

然后检查:/mcp 应列出包含 4 个工具的 slimsnap。

Claude Desktop

从 Releases 下载 slimsnap-mcp.mcpb 并打开。Claude 会显示安装对话框。之后,该连接器会出现在 Settings 下。

Cursor

添加到 Cursor

也可以手动将其添加到项目中的 .cursor/mcp.json,或添加到 ~/.cursor/mcp.json,以供所有项目使用:

{
  "mcpServers": {
    "slimsnap": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@slimsnap/mcp"]
    }
  }
}

如果项目配置和全局配置同时存在,项目配置优先。然后像询问 Claude 一样,询问 Cursor 你最近的截图。

作为 Claude Code 插件(同一连接器,以插件形式安装和更新)

/plugin marketplace add bickov/slimsnap-mcp
/plugin install slimsnap@slimsnap

你需要 SlimSnap 0.5.0 或更高版本,因为该版本开始将最近的截图保存在磁盘上。

批准工具

Claude Code 首次使用每个工具时都会请求权限,且批准仅适用于你当时所在的文件夹。4 个工具意味着会出现 4 次提示,而且进入下一个项目时这些提示还会再次出现。这并非异常;Claude Code 就是这样管理 MCP 工具权限的。

要一次性批准所有位置的工具,请将以下内容添加到 ~/.claude/settings.json:

{
  "permissions": {
    "allow": [
      "mcp__slimsnap__get_latest_capture",
      "mcp__slimsnap__list_captures",
      "mcp__slimsnap__get_capture",
      "mcp__slimsnap__get_capture_image"
    ]
  }
}

如果文件已存在,请将 allow 条目合并进去,而不是替换整个文件。之后重启 Claude Code。

工具

工具功能
get_latest_capture最新的一次捕获,以结构化 JSON 格式呈现。最常用的工具。
list_captures按时间从新到旧列出近期捕获,并提供文本预览。可用于查找较早的捕获,或一次处理多个标记屏幕。
get_capture按 ID 获取一次捕获。
get_capture_image获取一帧缩小后的图像,以便在 JSON 无法回答问题时查看。

有意只提供四个工具。每轮对话中,工具描述都会占用上下文窗口,因此接口保持精简。

查看真实捕获

samples/ 中有两个示例捕获:一个单屏捕获和一个三帧滚动捕获,两者中的箭头都已解析为其指向的元素。将其中任一个复制到 ~/.slimsnap/recent/,连接器便会读取它,这样你就可以在安装 SlimSnap 前试用全部四个工具。

mkdir -p ~/.slimsnap/recent
cp -R samples/single-frame ~/.slimsnap/recent/2026-07-30T09-00-00-000000-00-00

然后询问你的 Agent:我在上一次捕获中标记了什么?——它应该会告诉你 Save changes 按钮,以及附在该按钮上的备注。

数据存储位置

SlimSnap 会将近期捕获保存在 ~/.slimsnap/recent/ 中,默认保留最新的 20 项。每次捕获都存放在一个文件夹中,包含 capture.json、一个小型 meta.json 索引,以及每帧一张 PNG 图片,长边上限为 1568px。

连接器会读取 ~/.slimsnap/config.json 来找到该文件夹。每当设置发生变化时,SlimSnap 都会重写此文件。移动保存文件夹后,连接器会自动跟随,无需重新配置。

如需更改保留数量,或彻底关闭缓存,请在 SlimSnap 的“Settings”(设置)>“Export”(导出)>“Recent captures”(近期捕获)中进行设置。同一位置还有一个“Clear”(清除)按钮。

隐私政策

服务会读取你主目录下的文件,不会与任何对象通信。它不包含任何网络代码,无法捕获你的屏幕,也无法要求 SlimSnap 捕获屏幕。它只会读取你已经捕获并选择保留的内容。

不会上传任何内容,也不需要账户,且没有遥测数据。

我们不会收集、存储、传输或共享任何个人数据。服务不包含网络代码,也不进行数据分析。完整政策:https://slimsnap.ai/privacy。

系统要求

SlimSnap 0.5.0 或更高版本,macOS 或 Windows。兼容 Claude Code、Claude Desktop 和 Cursor。

目前尚不支持 Codex。它将单个工具结果限制在约 10 KB,而真实捕获会超过此限制;并且在存在结构化输出时,它会丢弃图像内容(codex#7906、#10334)。这两个问题都已在上游公开反馈。

Claude Desktop 方案无需额外安装:Desktop 自带 Node,.mcpb bundle 也会使用它。Claude Code 方案会从 PATH 中运行 node,因此需要安装 Node 18 或更高版本。新装的 Windows 机器上通常没有 Node,这一点容易被忽略。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。