SnappySnag

io.github.snappysnag由 GitHub 账号 snappysnag 发布v1.0.0更新于 Oct 29, 2026

Flutter in-app bug tracking, visual pin annotations, and device logs directly into your AI IDE.

发布方自己的服务:Snag

已验证Streamable HTTP可网页运行效率与工作流开发者工具

概览

AI 生成的概览

SnappySnag 的托管 MCP 服务器让 AI 编程助手读取 Flutter 应用内缺陷报告(标注点、截图、组件树、设备日志),并可将其标记为已解决。

可以做什么
  • 获取最新的缺陷报告或用户反馈,含标注点、截图、元数据与设备信息
  • 按状态、严重程度、来源或关键词搜索并列出反馈工单
  • 获取单个工单的完整详情,包括截图、活动标注点与讨论备注
  • 更新工单状态(已解决、已忽略、待处理)并附上开发者解决说明
适用场景
适合通过 SnappySnag 收集 Flutter 视觉缺陷报告的团队:让编程助手查看被报告的界面与组件上下文、实施修复,并在不离开编辑器的情况下关闭工单。
运行要求
需要访问 snappysnag.com 的远程端点(通过 Streamable HTTP 与 OAuth 登录),或在本地以 Node.js 运行该服务器。需要 SnappySnag 账号及按项目限定的 MCP 密钥,以 Bearer Authorization 请求头或密钥参数传入;不提供密钥时本地方式以模拟工单的演示模式运行。
安装前请注意
MCP 密钥属于凭据,请勿写入共享配置,泄露后应立即撤销或重新生成。服务器可更改工单状态并发布解决备注,助手的操作会写入你的 SnappySnag 项目。缺陷报告、截图与设备日志会与 SnappySnag 托管服务之间传输。

安装

在 SourceWeft 中

  1. 打开 控制台中的 SnappySnag,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.snappysnag%2Fsnappysnag/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "snappysnag": {
      "type": "http",
      "url": "https://snappysnag.com/api/mcp"
    }
  }
}

README

SnappySnag Model Context Protocol (MCP) Server

[MIT License] [SnappySnag] [pub.dev]

The official Model Context Protocol (MCP) integration for SnappySnag — seamlessly bridge Flutter in-app bug reports, pin annotations, screen diagnostics, and device logs directly into Cursor, Windsurf, Claude Desktop, and other AI coding assistants.


⚡ What is SnappySnag MCP?

When testing Flutter applications, QA testers and end-users pinpoint visual bugs or unexpected behaviors directly on the mobile screen. SnappySnag captures:

  • Exact visual pin coordinates and feedback comments
  • Annotated high-resolution screenshot
  • Active screen class & widget tree hierarchy
  • Real-time device logs (OS, platform, version, device metadata)
  • AI-generated root-cause insights and resolution prompts

With the SnappySnag MCP Server, your AI coding agent (in Cursor, Windsurf, Claude, etc.) can inspect these bug reports directly, jump straight to the relevant Flutter widget code, implement fixes, and mark tickets as resolved without ever switching context away from your editor.


🛠️ Available MCP Tools

ToolDescriptionKey Parameters
get_latest_feedbackFetches the most recent bug report or user feedback with full details (active pins, screenshot, metadata, device info).status (open | all), include_screenshot (true | false)
list_feedbacksSearches and lists feedback tickets matching filter criteria (status, severity, keyword). Returns lightweight summaries.status (open | resolved | ignored | all), severity, source, keyword, limit
get_feedback_detailRetrieves complete details for a specific feedback ID, including screenshot image, active pins, and discussion notes.feedback_id (required), include_screenshot
update_feedback_statusUpdates ticket status (resolved / ignored / open) and optionally attaches a developer resolution note.feedback_id (required), status (required), comment

🚀 Quick Start / Configuration

SnappySnag supports two connection options:

  1. Option A (Command / stdio with Demo Mode): Runs locally via standard MCP stdio. If no key is provided, an interactive Demo Mode with mock Flutter bug tickets is activated!
  2. Option B (Remote SSE / Streamable HTTP): Connects directly to SnappySnag's hosted endpoint without any local dependencies.

1. Get your MCP Secret Key (Optional for Demo)

  1. Sign in to your SnappySnag Dashboard.
  2. Open Project Settings (gear icon) -> Integrations or MCP tab.
  3. Click Generate MCP Secret Key and copy your key (snag_mcp_...).

2. Configure Your AI Editor

🔹 Option A: Command / stdio (npx or local build)
Cursor (.cursor/mcp.json)
json
{  "mcpServers": {    "snappysnag": {      "command": "node",      "args": ["path/to/snappy-snag-mcp/dist/index.js", "--key=YOUR_MCP_SECRET_KEY"]    }  }}

(Tip: Omit --key or set --key=demo to test with demo data!)

Claude Desktop (claude_desktop_config.json)
json
{  "mcpServers": {    "snappysnag": {      "command": "node",      "args": ["path/to/snappy-snag-mcp/dist/index.js", "--key=YOUR_MCP_SECRET_KEY"]    }  }}

🔹 Option B: Streamable HTTP (Remote SSE)
Cursor (.cursor/mcp.json)
json
{  "mcpServers": {    "snappysnag": {      "url": "https://snappysnag.com/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_MCP_SECRET_KEY"      }    }  }}
Windsurf (~/.codeium/windsurf/mcp_config.json)
json
{  "mcpServers": {    "snappysnag": {      "serverUrl": "https://snappysnag.com/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_MCP_SECRET_KEY"      }    }  }}

💡 Example Prompt Workflow

Once connected, you can instruct your AI assistant naturally:

"Check the latest open bug report from SnappySnag and fix the issue."

The AI agent will:

  1. Call get_latest_feedback(status: "open") to inspect the reported screen, pin position, and device specs.
  2. Read the referenced Flutter widget file in your repository.
  3. Apply the necessary code fix or layout adjustment.
  4. Call update_feedback_status(feedback_id: "...", status: "resolved", comment: "Fixed overflow in ProductCard layout").

🔒 Security & Privacy

  • Per-Project Scoped Keys: Each MCP Secret Key is strictly scoped to its designated project.
  • Instant Revocation: If compromised, keys can be regenerated or revoked with a single click in the dashboard.
  • Encrypted Transmission: All data and screenshot assets are delivered via HTTPS with short-lived signed URLs.

📚 Resources & Links


📄 License

This repository is licensed under the MIT License.

来源:README.md,提交 0a53e79

工具

0
该服务器需要 API 密钥等凭据,因此 SourceWeft 无法在没有凭据的情况下读取其工具,也未收录。

版本历史

1
  1. v1.0.0最新Oct 29, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Snag 集成