Token导航 LogoToken导航TokenDH.com
MCP Snagit logo
AI代理未说明官方级别未说明来源级核验

MCP Snagit

MCP Server

一个.NET 9 MCP服务器,为AI助手提供访问和管理iCloud中存储的Snagit截图的功能,包括截图发现、提取、调整大小和客户端感知格式化。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
图像处理C#ClaudeClaude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Bisiar

提供方

Bisiar

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP。Snagit-Snagit的模型上下文协议服务器

A.NET 9 MCP(模型上下文协议)服务器,为AI助手提供对存储在iCloud中的Snagit屏幕截图的访问。

经过验证的解决方案 -文件路径模式

此实现通过将图像提取到临时文件并返回Claude可以直接读取的文件路径,成功解决了MCP图像令牌限制问题。 任何图像大小都不再有令牌限制错误!

概述

MCP。Snagit使Claude Desktop等AI助手能够直接访问和分析您的Snagit捕获。它会自动处理:

  • 在iCloud文档中发现Snagit捕获
  • 从.snagx存档文件中提取图像
  • 调整图像大小以满足AI模型约束
  • 客户端感知格式(Claude Desktop、VS Code等)

特性

核心工具

  1. list_captures -列出可用的Snagit捕获

- 返回最近捕获的元数据 - 支持按日期范围过滤 - 包括文件大小和时间戳信息

  1. get_last_capture -检索最近的捕获

- 自动查找最新的.snagx文件 - 提取并返回图像 - 调整大小以适应客户端约束

  1. get_capture -按文件名获取特定捕获

- 支持部分文件名匹配 - 返回完整图像数据

  1. get_captures -获取多个捕获

- 接受文件名数组 - 批量处理以提高效率

图像处理

  • 自动调整大小 满足克劳德的限制(5MB,8000x8000像素)
  • 格式优化 基于检测到的客户端
  • 元数据保存 用于捕获上下文

安装

先决条件

  • .NET 9.0 SDK或更高版本
  • 已安装Snagit(任何平台)
  • 访问Snagit捕获文件(.snagx格式)

从源代码构建

# Clone the repository
git clone https://github.com/Bisiar/mcp-snagit.git
cd mcp-snagit

# Restore dependencies
dotnet restore

# Build the project
dotnet build --configuration Release

# Publish as self-contained
dotnet publish -c Release -o published

配置

⚠️ 重要: - 更新路径:替换 /path/to/your/mcp-snagit/ 使用克隆此存储库的实际目录。 - Snagit路径:设置 SNAGIT_PATH 存储Snagit捕获的位置(默认为macOS iCloud位置)。 - 交叉平台的:适用于任何Snagit安装-只需点 SNAGIT_PATH 到您的捕获目录。

Claude桌面设置

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "snagit": {
      "command": "/usr/local/share/dotnet/dotnet",
      "args": [
        "/path/to/your/mcp-snagit/published/MCP.Snagit.dll"
      ],
      "env": {
        "SNAGIT_PATH": "~/Library/Mobile Documents/iCloud~com~TechSmith~Snagit/Documents",
        "MAX_IMAGE_WIDTH": "2048",
        "MAX_IMAGE_HEIGHT": "2048",
        "MCP_CLIENT_TYPE": "claude-desktop"
      }
    }
  }
}

备注:

  • 替换 /path/to/your/mcp-snagit/ 使用克隆此存储库的实际路径。
  • macOS:默认值 SNAGIT_PATH 以上内容适用于iCloud同步的Snagit捕获。
  • 视窗:设置 SNAGIT_PATH 到您的Snagit捕获文件夹(例如。, C:\\Users\\YourName\\Documents\\Snagit 或类似)。
  • 自定义:设置 SNAGIT_PATH 到包含以下内容的任何文件夹 .snagx 文件夹。

环境变量

  • SNAGIT_PATH -Snagit文档文件夹的路径(可选,默认为macOS iCloud位置)
  • MAX_IMAGE_WIDTH -最大图像宽度(像素)(默认值:2048)
  • MAX_IMAGE_HEIGHT -最大图像高度(像素)(默认值:2048)
  • MCP_CLIENT_TYPE -用于格式优化的客户端类型(claude桌面、vscode等)
  • CACHE_DURATION_MINUTES -缓存提取图像的时间(默认值:15)

使用示例

在克劳德桌面

配置后,您可以使用自然语言:

"Show me my last Snagit capture"
"List my recent screenshots from today"
"Get the capture named 'login-screen'"
"Show me all captures from this morning"

直接工具使用

// List recent captures
{
  "tool": "list_captures",
  "arguments": {
    "count": 10,
    "startDate": "2025-06-07"
  }
}

// Get specific capture - File path mode (default, most efficient)
{
  "tool": "get_capture",
  "arguments": {
    "filename": "2025-06-07_09-52-32.snagx",
    "maxWidth": 1920
  }
}

// Get specific capture - Reference mode (lightweight)
{
  "tool": "get_capture",
  "arguments": {
    "filename": "2025-06-07_09-52-32.snagx",
    "mode": "reference"
  }
}

// Get specific capture - Base64 mode (for remote servers)
{
  "tool": "get_capture",
  "arguments": {
    "filename": "2025-06-07_09-52-32.snagx",
    "maxWidth": 1920,
    "mode": "base64"
  }
}

图像返回模式

MCP支持三种返回图像的模式:

  1. 文件路径模式(默认)✅ 推荐 -将图像提取到临时文件并返回路径

- 最有效:图像数据不使用令牌(元数据仅使用约20个令牌) - 适用于任何图像大小:不再出现“超过最大令牌”错误 - 直接访问:Claude使用读取工具直接读取文件 - 自动清理:存储在项目目录中的临时文件 - 完全质量:支持图像大小调整,同时保持质量

  1. 参考模式 -返回对图像的轻量级引用

- 效率适中(约100个代币作为参考) - 返回用于编程访问的资源URI - 有利于构建MCP资源链

  1. Base64模式 -将完整图像作为base64数据返回

- 代币重:约40000多个代币,正常截图达到限制 - 与远程MCP服务器兼容 - 仅在文件路径模式不可用时使用

成功案例

在实现文件路径模式后,以前以“响应超过最大允许令牌(25000)”失败的映像现在可以完美工作,无论大小如何。该解决方案优雅、高效,并利用了Claude现有的文件读取功能。

技术细节

文件路径实现

突破性的解决方案将提取的图像存储在 temp_captures MCP项目中的目录:

/path/to/your/mcp-snagit/
├── published/               # MCP server binaries
├── temp_captures/          # Extracted images for Claude
│   ├── snagit_capture_20250608_105234_abc123.png
│   └── snagit_capture_20250608_105445_xyz789.png
└── ...

工艺流程:

  1. MCP从.snagx ZIP文件中提取图像
  2. 使用SixLabors应用任何请求的大小调整。ImageSharp
  3. 保存到temp_captures/,文件名唯一
  4. 返回Claude的文件路径(约20个标记)
  5. Claude使用读取工具直接访问图像(图像数据不需要额外标记)

文件格式

Snagit.snagx文件是ZIP存档,包含:

  • thumbnail.png -预览图片
  • {GUID}.json -捕获元数据
  • {GUID}.snagt -其他捕获数据
  • metadata.json -文件元数据

图像处理流水线

  1. 发现 -扫描Snagit目录中的.snagx文件
  2. 提取 -解压缩并提取thumbnail.png
  3. 分析 -检查图像尺寸和大小
  4. 调整大小 -如果超过限制,请使用高质量算法缩小规模
  5. 编码 -转换为base64进行传输
  6. 缓存 -临时存储处理后的图像

客户端检测

服务器尝试通过以下方式检测客户端:

  1. MCP上下文标头(如果可用)
  2. MCP_CLIENT_TYPE 环境变量
  3. 工序名称检查
  4. 默认为Claude兼容格式

发展

项目结构

/MCP.Snagit
├── Program.cs           # Entry point and MCP server setup
├── Tools/
│   └── SnagitTools.cs   # Tool implementations
├── Services/
│   ├── SnagitService.cs # Core capture handling logic
│   └── ImageProcessor.cs # Image resizing and optimization
├── Models/
│   └── SnagitCapture.cs # Data models
└── MCP.Snagit.csproj    # Project configuration

关键依赖关系

  • ModelContextProtocol -MCP服务器实现
  • SixLabors.ImageSharp -图像处理
  • System.IO.Compression -ZIP文件处理

添加新工具

  1. 添加方法 SnagitTools 与一起上课 [McpServerTool] 属性
  2. 使用实现逻辑 SnagitService
  3. 返回JSON序列化结果
  4. 更新README文档

故障排除

常见问题

  1. “未找到捕获”

- 验证Snagit是否正在保存到iCloud文档 - 检查 SNAGIT_PATH 环境变量 - 确保文件权限正确

  1. “图像太大”

- 自动调整大小应该能解决这个问题 - 检查 MAX_IMAGE_WIDTH/HEIGHT 设置 - 验证ImageSharp是否正确安装

  1. “服务器没有响应”

- 检查克劳德桌面日志: ~/Library/Logs/Claude/ - 核实。NET运行时已安装 - 手动测试服务器(见下文)

手动测试

# Test server initialization
echo '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"1.0.0","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":1}' | dotnet run

# Test tool discovery
echo '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":2}' | dotnet run

调试模式

设置详细日志记录的环境变量:

export MCP_DEBUG=true

安全考虑

  • 仅访问指定Snagit目录中的文件
  • 没有网络请求或外部API调用
  • 图像在内存中处理(无临时文件)
  • 尊重系统文件权限

许可证

\[您的许可证在这里\]

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 提交拉取请求

参考实现

此MCP服务器可作为处理MCP服务器中大型二进制数据的可靠参考。 文件路径方法解决了当前MCP实现中的一个基本限制,可以适用于:

  • PDF文档服务器
  • 音频/视频文件服务器
  • CAD文件服务器
  • 任何处理大型二元资产的MCP

模式很简单:提取→ 保存到临时位置→ 返回文件路径→ 让克劳德直接读。

路线图

  • \[x\] 解决令牌限制问题 - ✅ 完成 具有文件路径模式
  • \[x\] 与跨平台支持 - ✅ 完成 -可在任何平台上使用自定义 SNAGIT_PATH
  • \[\]视频捕获支持(Snagit的.mp4)
  • \[\]高级搜索过滤器(按内容、标签)
  • \[\]批量导出功能
  • \[\]与Snagit的注释数据集成

目录标签

目录标签

图像处理C#Claude截图管理本地部署AI助手文件路径模式MCP服务器

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP