mcpField
S
Silentfail

Silentfail

本地服务
github.com/decksaga开发工具123 周前更新

关于 Silentfail

SilentFail 是用于诊断 MCP 配置的命令行工具和 MCP 服务,支持多种客户端。它检查服务健康状况、测试工具、审计 token 成本、发现名称冲突,并扫描配置和架构中的安全风险。

主要功能

  1. 01发现 MCP 客户端配置
  2. 02检查服务健康状况和启动时间
  3. 03使用推断参数测试工具
  4. 04测量 token 成本并发现冲突
  5. 05扫描安全风险

适用场景

  1. 01查找本地 MCP 配置中的故障服务
  2. 02在依赖工具前验证其是否可用
  3. 03检查 token 开销和工具名称冲突
  4. 04扫描服务配置中的提示注入模式

MCP 相关

作为 MCP 服务,SilentFail 提供扫描 MCP 服务和打开仪表板的工具。它也可作为命令行工具运行诊断并输出 JSON。

配置

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

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

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

安装包
npmsilentfail

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

SILENTFAIL — 你的 MCP 服务正在出故障,只是你还不知道。



你的 MCP 服务正在出故障,只是你还不知道。

你连接的每个工具都会在你开始输入之前消耗令牌。服务故障时会悄无声息地失效。 SilentFail 会找出问题所在——一次扫描即可完成健康检查、令牌审计和安全扫描。


README 配图 README 配图 README 配图 README 配图 README 配图




问题所在

你将 MCP 服务连接到 Claude、Cursor、VS Code。它们出了故障——没有日志,没有警告,你也无从得知哪个服务运行缓慢、已经停止,或正在耗尽整个上下文窗口。

每个连接的服务都有令牌成本。在对话开始之前,Claude 就会读取所有工具架构。五个服务各有 20 多个工具,光是待在那里就可能消耗 5,000 多个令牌。如果其中某个服务包含带有提示词注入的恶意工具描述?你根本不会察觉。


SilentFail 的功能

发现查找 Claude Desktop、Claude Code、Cursor、VS Code、Windsurf 和项目级文件中的所有 MCP 配置
连接启动每个服务、测量启动时间并列出所有工具
测试使用智能推断的参数调用每个工具,验证其是否正常工作
审计计算每个服务和每个工具的准确令牌成本
检测查找不同服务之间的工具名称冲突
扫描检查 50 多种安全模式——提示词注入、数据外泄、危险命令、编码载荷
报告在 CLI、聊天或可视化仪表板中提供清晰、可执行的输出

快速开始

git clone https://github.com/decksaga/silentfail.git
cd silentfail
npm install
npm run build

SilentFail 支持两种模式:MCP 服务(Claude 自行扫描)或 CLI(通过终端运行)。




模式 1:MCP 服务(推荐)

将 SilentFail 添加到 Claude Desktop 配置中,让 Claude 诊断自身设置。

claude_desktop_config.json

{
  "mcpServers": {
    "silentfail": {
      "command": "node",
      "args": ["/absolute/path/to/silentfail/dist/server.js"]
    }
  }
}
这个文件在哪里?
操作系统路径
Windows%APPDATA%\Claude\claude_desktop_config.json
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Linux~/.config/claude/claude_desktop_config.json

然后重启 Claude Desktop 并询问:

“扫描我的 MCP 服务”

Claude 会调用扫描工具,获取完整的诊断报告,并使用你提问时所用的语言呈现结果。首次使用时,它会询问你想在聊天中查看结果,还是使用可视化 Web 仪表板。它会记住你的偏好。

提供的工具
工具描述
scan_mcp_servers完整诊断:健康状况、令牌、冲突、安全性和建议。将 test_tools: true 设置为验证每个工具是否正常工作。
open_silentfail_dashboard运行扫描并在 localhost:3777 打开交互式 Web 仪表板



模式 2:CLI

直接在终端运行,快速诊断或集成到 CI 中。

silentfail              # Quick health check
silentfail --test       # Full scan + call each tool to verify
silentfail --dashboard  # Open visual web dashboard
silentfail --json       # JSON output for scripts/CI
silentfail --help       # All options

如需将 silentfail 用作全局命令:

npm link
输出示例
  SilentFail — Scan Report
  ──────────────────────────────────────────────────

  OVERVIEW
  ──────────────────────────────────────────────────
  Configs found:    3 (Claude Desktop, Claude Code, Cursor)
  Servers:          4 healthy, 1 failed
  Total tools:      23
  Schema tokens:    ~4,812 (consumed before you type anything)
  Conflicts:        1
  Scan time:        6204ms

  market-pulse                                    OK
     Response: 412ms
     Tokens:   ~651 (8 tools, ~81 per tool)
     Tools:
       get_price (110 tok) passed
       get_stock_price (94 tok) passed
       get_market_summary (69 tok) passed

  broken-server                                   ERROR
     Error: Script not found: /old/path/server.js

  TOKEN BUDGET
  ──────────────────────────────────────────────────
    browser-tools             ████████████░░░░░░░░  2,340 tok (49%)
    file-system               ██████░░░░░░░░░░░░░░  1,180 tok (25%)
    market-pulse              ███░░░░░░░░░░░░░░░░░    651 tok (14%)

  SECURITY SCAN
  ──────────────────────────────────────────────────
  Risk level: CLEAN
  Scanned: 4 server(s), 23 tool(s)
    No security issues detected.

  RECOMMENDATIONS
  ──────────────────────────────────────────────────
    [broken-server] Server is broken: Script not found.
       Fix the configuration or remove this server.
    [browser-tools] Heavy schema cost: ~2,340 tokens for 12 tools.
       Consider if you use all 12. Each unused tool wastes context.
    [market-pulse] Healthy and efficient. 8 tools, ~651 tokens.



## 智能工具测试

SilentFail 不只是检查服务是否响应——它会调用每个工具。

它会读取架构、推断有效的测试输入(股票使用 AAPL,外汇使用 USD/EUR,加密货币使用 bitcoin),调用工具,并对结果进行分类:

结果含义
通过工具正常运行并返回了数据
故障运行时错误——工具已失效
拒绝工具正常运行,但拒绝了测试输入(验证功能正常)
已跳过无法推断安全参数——建议手动测试
超时响应耗时过长

如果它报告故障,那就是真的故障,不会误报。


安全扫描

每次扫描都会自动根据 50 多种模式检查所有服务配置和工具架构:

类别示例
提示词注入ignore previous instructions、伪造的系统提示词、角色劫持、提示词泄露
数据外泄可疑 URL、POST 请求、Webhook 端点、先进行 Base64 编码再发送
危险命令eval()、rm -rf、反向 Shell、child_process 生成的进程
敏感环境变量服务配置中的 AWS 密钥、API 令牌、数据库凭据
编码载荷使用 Base64、十六进制、Unicode、HTML 实体隐藏恶意内容
  SECURITY SCAN
  ──────────────────────────────────────────────────
  Risk level: CRITICAL
  Scanned: 3 server(s), 15 tool(s)

    [CRITICAL] shady-server -> execute_query
      Tells the model to ignore previous instructions
      Evidence: "ignore all previous instructions and..."
      Remove this server immediately.

Token 预算说明

你连接的每个 MCP 工具都有一个 JSON 架构,Claude 会在对话开始前读取它。这一过程是不可见的——没有界面,也不会发出警告。

SilentFail 会测量每个服务和每个工具的确切 Token 开销,让你了解:

  • 哪些服务占用的上下文最多
  • 哪些工具值得保留
  • 哪些地方浪费了 Token,用在你从不使用的工具上

整洁且 Token 开销低的配置,意味着能为实际工作留出更多上下文。


可视化仪表板

运行 --dashboard(CLI),或让 Claude 执行 open_silentfail_dashboard(MCP 模式),即可打开交互式 Web UI:

  • 显示状态指示器的服务健康卡片
  • 使用渐变条展示 Token 预算
  • 按工具显示带有通过/失败徽章的测试结果
  • 显示严重级别的安全问题
  • 语言切换(English / Español)

服务运行于 localhost:3777。深色主题。无外部依赖。


支持的客户端

SilentFail 会自动发现所有主流 MCP 客户端的配置:

客户端配置路径
Claude Desktop%APPDATA%/Claude/claude_desktop_config.json
Claude Code~/.claude/settings.json
Cursor~/.cursor/mcp.json
VS Code~/.vscode/mcp.json
Windsurf~/.windsurf/mcp.json
项目级.mcp.json、.claude/settings.json

架构

  Discovery         Connect          Test Tools        Security          Report
 ┌─────────────┐   ┌──────────────┐  ┌───────────────┐ ┌──────────────┐  ┌──────────────┐
 │ Find configs │──>│ Spawn each   │─>│ Infer params  │>│ 50+ patterns │─>│ CLI output   │
 │ across all   │   │ MCP server   │  │ from schema   │ │ Injection,   │  │ MCP report   │
 │ clients      │   │ via stdio    │  │ Call & verify  │ │ exfil, etc.  │  │ Dashboard    │
 └─────────────┘   └──────────────┘  └───────────────┘ └──────────────┘  └──────────────┘

关键文件:

src/
  discovery.ts   — Config auto-detection across all clients
  scanner.ts     — Server connection, tool listing, testing
  security.ts    — Pattern-based security analysis (50+ rules)
  server.ts      — MCP server mode (Claude Desktop integration)
  dashboard.ts   — Web dashboard with i18n (EN/ES)
  index.ts       — CLI entry point
  types.ts       — TypeScript interfaces

常见问题

SilentFail 会扫描自身吗?

不会。作为 MCP 服务运行时,SilentFail 会自动将自身排除在扫描范围之外,以避免递归。

运行工具测试安全吗?

安全。SilentFail 只会使用只读、最小化的测试输入调用工具(股票代码、货币代码)。它绝不会发送破坏性操作。如果无法推断安全参数,就会跳过该工具。

可以在 CI 中使用吗?

可以。使用 silentfail --test --json 获取机器可读的输出。解析 JSON 即可执行自动化检查。

需要哪个 Node 版本?

Node 18 或更高版本。使用 ES 模块和 MCP SDK。


许可证

MIT——你可以随意使用。


由 @decksaga 构建

停止猜测,开始扫描。

评论

支持 Markdown

第一次接触 MCP?

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

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