关于 mcp-observatory
MCP Observatory 是面向自定义 MCP 服务维护者和团队的开源安全测试工具,可在开发和 CI 中检查服务能力、安全风险及架构变化。它还提供攻击模拟、健康评分、SARIF 报告和录制回放验证。
主要功能
- 01扫描工具、提示词和资源响应
- 02检测安全风险与架构漂移
- 03模拟攻击并运行安全工具
- 04录制、回放和验证服务会话
- 05生成健康评分、凭据和 SARIF
- 06通过 CI 集成自动检查
适用场景
- 01在发布前审查自定义 MCP 服务
- 02在 CI 中检测兼容性和安全问题
- 03比较运行结果以发现架构回归
- 04离线回放记录的服务会话
MCP 相关
除扫描和测试其他 MCP 服务外,MCP Observatory 可通过 `serve` 作为 MCP 服务运行,让 Agent 检查其他服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
原文在翻译后有更新,译文可能不是最新。
MCP Observatory
守护你正在构建的 MCP 服务安全。 MCP Observatory 是一款原生支持 CI 的安全工具,面向交付自定义 MCP 服务的团队。它可以在开发期间进行测试、发现架构漂移、模拟攻击并生成合规证据——在 Agent 依赖你的服务之前完成这些工作。
另有简体中文版本。
运行时强制执行: 使用 mcp-seatbelt,根据 Observatory 扫描结果,在运行时阻止危险的 MCP 工具调用。
开始使用
分步设置指南 · macOS、Windows、Linux · Node.js 20+ 和 npm(安装 Node.js LTS)。
1. 运行首次扫描
在项目文件夹中打开 Terminal 或 PowerShell,然后粘贴:
npx -y @kryptosai/mcp-observatory@latest
这会下载 Observatory 并检查你配置的第一个 MCP 服务。如果没有配置任何服务,则会使用随附的示例。若只想试用该示例,请运行 npx -y @kryptosai/mcp-observatory@latest demo --example。
2. 查看结果
终端会显示目标、评分、发现项和收据保存路径。未通过的检查是需要复核的发现项,并不表示需要付费。如果连接失败,请修正启动命令或凭据,然后重新运行。演示评分描述的是示例,而不是你自己的服务。
3. 免费保存一份托管快照(可选)
在同一个项目文件夹中运行:
npx -y @kryptosai/mcp-observatory@latest cloud upload
打开终端中打印的验证链接,确认代码,使用 GitHub 连接,然后返回终端。等待出现 Upload complete,再打开仪表板链接。无需单独设置账户或提供付款方式。免费版包含一个目标、最新快照、七天保留期,以及每月十次上传。
本地扫描和本地 CI 始终免费。Individual Pro 每月 $29,适用于需要 10 个目标、90 天历史记录、托管 CI 数据接入或托管 HTTP 扫描的情况。
MCP Observatory 会在显示数据收集通知后,根据司法辖区启用产品遥测。使用 telemetry preview 查看确切收集字段,使用 telemetry status 查看当前政策,或随时通过 telemetry disable、MCP_OBSERVATORY_TELEMETRY=0 或 DO_NOT_TRACK=1 停止收集。请参阅完整的隐私和遥测通知。
npx -y @kryptosai/mcp-observatory@latest test npx -y @modelcontextprotocol/server-everything
- uses: KryptosAI/mcp-observatory/action@v1
如果此仓库是 MCP 包,这会测试 npx -y <package.json name>。否则请设置 command:。
或者生成完整的工作流:npx -y @kryptosai/mcp-observatory@latest setup-ci --all --command "npx -y my-mcp-server" --sarif
安装:npx -y @kryptosai/mcp-observatory@latest · brew tap kryptosai/mcp-observatory https://github.com/KryptosAI/mcp-observatory && brew install mcp-observatory · docker pull ghcr.io/kryptosai/mcp-observatory:latest · curl -fsSL https://raw.githubusercontent.com/KryptosAI/mcp-observatory/main/scripts/install.sh | sh
docker run --rm ghcr.io/kryptosai/mcp-observatory:latest demo
docker run --rm ghcr.io/kryptosai/mcp-observatory:latest test npx -y @modelcontextprotocol/server-everything
扫描主机上的服务需要网络;扫描本地文件时还需要挂载卷(-v "$PWD:$PWD" -w "$PWD")。
Agent:npx -y @kryptosai/mcp-observatory@latest serve
默认拒绝连接:npx -y @kryptosai/mcp-observatory@latest protect 会重写所有已发现的客户端配置(Cursor、Claude、VS Code、.mcp.json 等)。撤销:protect --undo。HTTP/SSE 服务不受影响。
运行时默认拒绝:npx -y @kryptosai/mcp-observatory@latest enforce --start-proxy 会根据扫描结果生成 Seatbelt 策略并启动代理。本地扫描始终免费。
证明:安全指数。使用 cloud upload 免费上传一份托管快照;Individual Pro 每月 $29,适用于需要保留历史记录和托管 CI 数据接入的情况。
从生产环境使用情况中学习
通过使用情况学习 SDK 和 CLI,将真实工具调用与用户意图关联起来:经过脱敏的调用证据、选择加入的“询问内容 / 预期结果 / 实际结果”报告、选定的对话摘录、一键标记不满意、对捕获请求进行意图分组,以及导出回归用例。运行 mcp-observatory usage review --dir private-usage,在仅限环回地址访问的浏览器页面中查看关联证据。服务器日志无法揭示未共享的对话;观察到的执行情况和推断出的故障信号会分别呈现。数据在本地收集,且需要明确集成。
为什么选择 MCP Observatory
MCP 服务正成为生产环境中的依赖项。如果 Agent 依赖它们,团队就需要一种方式,在故障影响用户之前发现损坏的工具、不安全的架构、架构漂移、响应缓慢以及容易引发安全问题的疏漏。
Observatory 为维护者和团队提供:
- 使用
setup-ci --all一条命令即可完成 CI 设置 - 使用
audit --profile nsa-mcp按配置文件映射进行审计 - MCP 凭证,打包目标、证据、判定、操作和复现命令
- MCP 风险图谱,按能力边界、凭证状态、CI 状态和建议操作对服务分组
- 操作凭证,指出应当
allow、gate、rerun、quarantine还是escalate - 针对兼容性、漂移和安全问题的 GitHub PR 评论
- 用于标准化 MCP 发现项的 GitHub Code Scanning SARIF
- 用于公开信任信号的 健康度评分徽章
- 用于回归测试的 记录/回放/验证 工作流
- MCP 服务模式,让 Agent 能直接检查其他 MCP 服务
- 面向生产环境的 支持路径,提供单用户托管历史记录、CI 数据接入和可供所有者直接采用的 Release Gate 修复建议
参见 MCP 服务的 GitHub Code Scanning、MCP 凭证、故障排查、安全方法论、MCP 服务安全指数、MCP Observatory 贡献者、托管客户端契约、仓库边界、开放核心边界和商业支持。
自我评估
我们会在每次发布时使用 mcp-observatory 扫描自身。查看结果 →
面向安全与平台团队
MCP 服务正成为 AI 软件供应链的一部分。在这些工具成为关键任务工作流的依赖项之前,Agent 需要可靠、可测试、可审计的工具。
无论你只发布一个 MCP 服务,还是要管理一组服务,MCP Observatory 都能为你提供原生集成 CI 的安全评分、攻击模拟、架构漂移检测、SARIF/HTML/Markdown 报告和 GitHub Code Scanning——从你的第一个 npx 命令一直到生产部署。本地开发始终免费;即将做出生产环境审批决策的团队可使用固定范围的 MCP Release Gate Pilot。
生产支持
在 MIT 许可下,本地 OSS 使用始终免费。在生产环境中运行 MCP 的团队可使用 MCP Release Gate Pilot,获取安全模式证据、SARIF/Code Scanning 设置、CI 推广、私密报告和可供所有者直接采用的修复说明。固定的公开入门方案为 $15,000,涵盖 1-3 个关键 MCP 服务,周期为十个工作日;更广泛的工作将在发布决策后确定范围。
开源仓库是可移植的证据引擎。托管身份验证、数据保留、组织工作流、服务群协调和私有情报均不包含在 OSS 软件包中;详见仓库边界。
运行 npx @kryptosai/mcp-observatory cloud,通过议题选择器提交试点请求,或参阅 COMMERCIAL.md。另请参阅隐私、活动归因和生产环境使用条款。
对比
| 功能 | mcp-observatory | Snyk agent-scan | Cisco mcp-scanner | agent-shield |
|---|---|---|---|---|
| 原生支持 MCP | ✓ | ✓ | ✓ | ✓ |
| 攻击模拟 | ✓ | ✗ | ✗ | ✗ |
| 架构漂移检测 | ✓ | ✗ | ✗ | ✗ |
| 记录/回放/验证 | ✓ | ✗ | ✗ | ✗ |
| 健康度评分(0-100) | ✓ | ✗ | ✗ | ✗ |
| SARIF 输出 | ✓ | ✓ | ✓ | ✓ |
| 原生集成 CI/CD(setup-ci) | ✓ | ✓ | ✓ | ✓ |
| 公开安全指数 | ✓ | ✗ | ✗ | ✗ |
| 通过 mcp-seatbelt 进行运行时强制执行 | ✓ | ✗ | ✗ | ✗ |
快速开始
运行首次检查。不带参数时会启动 demo(你的服务,或打包的本地演示):
npx @kryptosai/mcp-observatory
深入检查——同时调用安全工具,确认它们确实能运行:
npx @kryptosai/mcp-observatory scan deep
测试指定服务:
npx @kryptosai/mcp-observatory test npx -y @modelcontextprotocol/server-everything
将其作为 MCP 服务添加到 Claude Code:
claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
或者手动将其添加到配置中:
{
"mcpServers": {
"mcp-observatory": {
"command": "npx",
"args": ["-y", "@kryptosai/mcp-observatory", "serve"]
}
}
}
命令
| 命令 | 功能 |
|---|---|
scan | 自动发现服务、检查服务,并默认运行安全攻击就绪度模拟 |
scan deep | 扫描、运行安全攻击模拟,并调用安全工具以确认它们能够执行 |
test <cmd> / test --target <file> | 按命令或目标配置测试单个服务,并生成操作回执 |
record <cmd> | 将服务会话录制到磁带文件,以便离线回放 |
replay <cassette> | 离线回放磁带——无需运行中的服务 |
verify <cassette> <cmd> | 验证运行中的服务是否仍与录制的磁带一致 |
diff <base> <head> | 比较两个运行产物,检查回归和架构漂移 |
watch <config> | 监视服务变化,并在出现回归时发出提醒 |
suggest | 检测你的技术栈,并从注册表推荐 MCP 服务 |
serve | 作为 MCP 服务启动,供 AI Agent 使用 |
lock | 将 MCP 服务架构快照保存到锁定文件 |
lock verify | 验证运行中的服务是否与锁定文件一致 |
history | 显示 MCP 服务的健康评分趋势 |
setup-ci / init-ci | 创建 GitHub Action 和徽章代码片段,用于检查 MCP 兼容性和安全性 |
setup-ci --sarif | 生成工作流,将规范化的发现结果上传到 GitHub Code Scanning |
setup-ci --doctor | 检查仓库是否具备完整的 CI 接入套件 |
telemetry status|enable|disable|identify|preview | 查看或控制产品遥测,并主动提供联系邮箱 |
risk-graph --input <path> | 将回执和运行产物合并为 JSON、Markdown 和 HTML 格式的 MCP 风险图 |
--no-attack-sim | 在 scan 或 test 中选择退出默认的安全攻击模拟 |
ci-report | 生成用于创建 GitHub issue 的 CI 报告 |
enterprise-report | 根据运行产物生成静态生产/安全报告 |
score <cmd> | 评估 MCP 服务的健康状况(0-100) |
badge <cmd> | 生成 README 健康评分 SVG 徽章 |
cloud | 显示免费托管快照、Individual Pro 和 Release Gate Pilot 选项 |
不带参数运行即可启动 demo。使用 --menu 打开交互式目录。
功能
检查能力——连接到服务,并验证工具、提示词和资源能否正常响应。
调用工具——不止于列出工具。实际调用安全工具(无需必填参数 / 带有 readOnlyHint),并报告哪些工具正常运行、哪些发生崩溃。
npx @kryptosai/mcp-observatory scan deep
检测架构漂移——对比两次运行,显示新增/移除的字段、类型变更和破坏性参数变更。
npx @kryptosai/mcp-observatory diff run-a.json run-b.json
推荐服务——扫描你的项目,识别语言、框架、数据库和云服务提供商,然后与 MCP 注册表交叉比对,推荐你尚未使用的服务。
npx @kryptosai/mcp-observatory suggest
在 MCP 服务模式下运行时,也可以询问你的 Agent:“我应该添加哪些 MCP 服务?”
安全扫描——分析工具架构中的危险模式:Shell 注入攻击面、过宽的文件系统访问权限、缺少身份验证,以及响应中的凭据泄露。
npx @kryptosai/mcp-observatory test --security npx -y my-mcp-server
录制 / 回放 / 验证——捕获实时会话,在 CI 中离线回放,并验证是否一切保持不变。类似于 MCP 的 VCR。
# Record a session
npx @kryptosai/mcp-observatory record npx -y @modelcontextprotocol/server-everything
# Replay offline (no server needed)
npx @kryptosai/mcp-observatory replay .mcp-observatory/cassettes/latest.cassette.json
# Verify the live server still matches
npx @kryptosai/mcp-observatory verify cassette.json npx -y @modelcontextprotocol/server-everything
监视回归——定期重新运行检查,并在发生变化时发出提醒。
npx @kryptosai/mcp-observatory watch target.json
扫描位置
运行 scan 时,它会在以下位置查找 MCP 配置:
~/.claude.json(Claude Code)~/Library/Application Support/Claude/claude_desktop_config.json(Claude Desktop,macOS)%APPDATA%/Claude/claude_desktop_config.json(Claude Desktop,Windows).claude.json和.mcp.json(当前目录)
架构
┌─────────────────────────┐
│ MCP Observatory CLI │
│ npx @kryptosai/mcp- │
│ observatory scan │
└───────────┬─────────────┘
│
┌───────────▼─────────────┐
│ Config Discovery │
│ (Claude, Cursor, etc.) │
└───────────┬─────────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ Security Scan │ │ Attack Sim │ │ Schema Drift │
│ (shell, creds) │ │ (tool poison)│ │ (version diff) │
└────────┬────────┘ └──────┬───────┘ └────────┬─────────┘
│ │ │
└─────────────────┼───────────────────┘
▼
┌─────────────────────┐
│ Health Score │
│ (0-100 + verdict) │
└──────────┬──────────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ SARIF │ │ Markdown │ │ CI Gateway │
│ (Code Scan) │ │ Report │ │ (setup-ci) │
└──────────────┘ └──────────────┘ └──────────────┘
CI / GitHub Action
将 Observatory 添加到 MCP 服务的 CI 流水线:
npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y my-mcp-server" --sarif --schedule weekly
查看采用工具包:
npx @kryptosai/mcp-observatory setup-ci --doctor
成功的 test、run 和单目标 scan 检查也会提供选项,将通过的结果转换为 CI 采用工具包。默认情况下,此自动转换会启用 SARIF/代码扫描和每周定时检查;如果只需要不含代码扫描上传的保守工作流,请传入 --no-ci-sarif。
也可以手动创建工作流:
# .github/workflows/observatory.yml
name: MCP Server Check
on: [pull_request]
permissions:
contents: read
jobs:
observatory:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: KryptosAI/mcp-observatory/action@v1
with:
command: npx -y my-mcp-server
deep: true
security: true
comment-on-pr: false
set-status: false
GitLab CI
在合并请求和 main 分支上运行相同的 test 扫描,并将 SARIF 发布为 GitLab SAST 报告,以便在合并请求安全小组件中查看发现结果。这与 setup-ci --ci-provider gitlab-ci 生成的内容一致。
# .gitlab-ci.yml
mcp-observatory:
image: node:22
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- if: $CI_COMMIT_BRANCH == 'main'
script:
- npx @kryptosai/mcp-observatory test npx -y my-mcp-server --deep --security --sarif mcp-observatory.sarif
artifacts:
reports:
sast: mcp-observatory.sarif
也可以让 CLI 为你编写:
npx @kryptosai/mcp-observatory setup-ci --ci-provider gitlab-ci --command "npx -y my-mcp-server"
Action 输入项:
| 输入项 | 说明 | 默认值 |
|---|---|---|
command | 要测试的服务命令 | (可选;省略时扫描发现的服务) |
target | 目标配置 JSON 的路径 | |
targets | 多服务矩阵扫描所用 MCP 配置文件的路径 | |
deep | 同时调用安全工具 | false |
security | 运行安全分析 | false |
fail-on-regression | 遇到问题时让 Action 失败 | true |
fail-on-baseline-drift | 基线验证检测到偏移时让 Action 失败 | true |
comment-on-pr | 将报告作为 PR 评论发布。需要 pull-requests: write。 | true |
set-status | 在 HEAD SHA 上设置提交状态检查(绿/红)。需要 statuses: write。 | true |
github-token | 用于 PR 评论和提交状态的令牌 | ${{ github.token }} |
当工作流授予写入权限时,Action 可以在 PR 上发表评论并设置提交状态。setup-ci 默认生成只读且适用于第三方的工作流,维护者之后可以选择启用评论/状态。init-ci 仍作为向后兼容的别名提供。所有选项请参阅 action/README.md。
近期需要决定是否批准 MCP 的生产团队,可以使用固定范围的 MCP 发布门禁试点:在十个工作日内对 1–3 个服务作出批准、设限或暂缓的决定。请参阅 COMMERCIAL.md,或访问 mcp-observatory.com/release-gate-pilot 请求评估。
MCP Observatory 证据徽章
MCP 服务维护者可以在 README 中添加公开的兼容性/安全信号:
[](https://github.com/KryptosAI/mcp-observatory)
也可以根据实时检查生成评分徽章:
npx @kryptosai/mcp-observatory badge npx -y my-mcp-server --output docs/mcp-health.svg
有关 GitHub Action 模板、维护者 PR 正文和徽章推广操作指南,请参阅证据传播流程。徽章是公开的证据信号,并非认证或背书。
根据本地运行产物生成适用于试点的生产/安全报告:
npx @kryptosai/mcp-observatory enterprise-report \
--account "Your Company" \
--format html \
--output observatory-enterprise-report.html
若要在 CI 中更清晰地归属内部账户,请设置:
MCP_OBSERVATORY_ORG=your-company.com
若要将联系邮箱和可选的联系渠道标识与私有遥测分析信息关联,请运行 mcp-observatory telemetry identify --email <address> [--channel <slug>]。设置组织或识别联系人并不代表授权联系。
正在测试 Feishu/Lark 集成?请参阅 Feishu/Lark MCP 指南。
锁定文件
$ npx @kryptosai/mcp-observatory lock # Snapshot all server schemas
$ npx @kryptosai/mcp-observatory lock verify # Verify no drift since last lock
锁定文件是 AI 工具的 package-lock:提交 MCP 契约,然后在 CI 中显式呈现每项工具、架构、提示词或资源的偏移。请参阅 MCP 锁定文件。
趋势跟踪
$ npx @kryptosai/mcp-observatory history # Show health trends over time
夜间扫描
$ npx @kryptosai/mcp-observatory ci-report # Generate regression report for CI
MCP 服务模式
没有其他测试工具本身是 MCP 服务。 将 Observatory 添加为服务,AI Agent 即可自主测试、诊断和监控其他 MCP 服务。
claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
你的 Agent 可使用 10 个工具:
| 工具 | 使用场景 |
|---|---|
scan | 检查所有已配置的 MCP 服务是否运行正常 |
check_server | 在安装前或更新后测试特定服务 |
score_server | 快速获取服务的健康评分和等级 |
record | 为正常运行的服务捕获基线,以便将来进行比较 |
replay | 根据录制的会话进行测试——无需运行中的服务 |
verify | 确认服务更新没有导致问题 |
watch | 检查服务并查看自上次检查以来的变化 |
diff_runs | 查找两次检查结果之间的回归问题 |
get_last_run | 获取服务此前的检查结果 |
suggest_servers | 发现适合项目技术栈的 MCP 服务 |
一个用于检查其他 AI 工具的 AI 工具。它是一个测试工具的工具,而这些工具又为其他工具提供服务。
安全性
MCP 服务运行在 AI 主机内部,由大模型决定调用哪些工具。为防止提示词注入攻击:
- 命令允许列表: 仅允许将
npx、node、python、python3、uvx、docker、deno、bun用作基础可执行文件。CLI 不受限制。 - 路径验证: 文件读取工具仅限访问 runs/cassettes 目录。
- 不支持任意执行: 如需执行不受限制的命令,请使用 CLI。
CLI 与 MCP:有意为之的差异
| 功能 | CLI | MCP 服务 | 原因 |
|---|---|---|---|
watch | 轮询循环 | 单次检查 + 差异 | 请求/响应模式不支持长轮询 |
| 交互式菜单 | 方向键导航 | 不可用 | MCP 没有交互式界面 |
| 彩色输出 | --no-color 标志 | 始终为纯文本 | MCP 返回结构化内容 |
report | 渲染已保存的工件 | 不可用 | Agent 可直接读取工件 |
serve | 启动 MCP 服务 | 不适用 | 它本身就是 MCP 服务 |
run | 读取目标配置文件 | 内联参数 | MCP 工具可直接接受参数 |
get_last_run | 不可用(使用 ls + diff) | 可用 | 为 Agent 提供便利 |
兼容性
适用于使用标准传输方式的任何 MCP 服务:
| 传输方式 | 示例 | 适配器 |
|---|---|---|
| stdio(大多数服务) | filesystem、memory、context7、brave-search、sentry、notion、stripe | local-process |
| HTTP/SSE(远程) | Cloudflare、Exa、Tavily | http |
| Docker | 所有 @modelcontextprotocol/server-* 镜像 | 通过 docker run -i 使用 local-process |
需要 API 密钥的服务可通过目标配置中的 env 使用。Python 服务可通过 uvx 使用。有关已测试服务和已知问题,请参阅完整兼容性矩阵。
目标配置文件
如需更多控制(环境变量、元数据、自定义超时时间):
{
"targetId": "filesystem-server",
"adapter": "local-process",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
"timeoutMs": 15000,
"skipInvoke": false
}
npx @kryptosai/mcp-observatory run --target ./target.json
HTTP / SSE 目标
{
"targetId": "my-remote-server",
"adapter": "http",
"url": "https://mcp.example.com/mcp",
"authToken": "${MCP_SERVER_TOKEN}",
"headers": {
"X-Api-Key": "$MCP_SERVER_API_KEY"
},
"timeoutMs": 15000
}
目标配置支持在 authToken、headers 和 local-process 的 env 值中使用 ${VAR}、$VAR 和 env:VAR 引用。
功能对比
| 功能 | Observatory | mcp-recorder | MCPBench | mcp-jest |
|---|---|---|---|---|
| 自动发现服务 | ✅ | — | — | — |
| 检查功能 | ✅ | — | ✅ | ✅ |
| 调用工具 | ✅ | — | — | ✅ |
| 检测架构漂移 | ✅ | — | — | — |
| 录制/回放 | ✅ | ✅ | — | — |
| 根据录制数据验证 | ✅ | — | — | — |
| 响应快照差异 | ✅ | — | — | — |
| 基准测试/延迟 | — | — | ✅ | — |
| Jest 集成 | — | — | — | ✅ |
| 可作为 MCP 服务运行 | ✅ | — | — | — |
每种工具都有自己的优势。Observatory 专注于回归检测和适合 CI 的工作流。mcp-recorder 是出色的透明代理。MCPBench 是性能基准测试的首选。若你已在使用 Jest 工作流,mcp-jest 是理想之选。
先前项目
录制/回放/验证模式的灵感来自:
- VCR(Ruby)——开创了基于录制数据的 HTTP 录制/回放
- Polly.js(Netflix)——用于 JavaScript 的 HTTP 交互录制
- mcp-recorder——MCP 专用流量录制代理
- MCPBench——MCP 服务基准测试
- mcp-jest——面向 MCP 服务的 Jest 风格测试
限制
- 需要交互式 OAuth 的服务(例如 Google Drive)必须先完成身份验证,Observatory 才能连接
- 不支持自定义 WebSocket 传输(例如 BrowserTools MCP)
- 少数服务会超时或在初始化前关闭——请参阅已知问题和兼容性
与 mcp-seatbelt 配合使用
先扫描,再信任。然后运行 npx -y @kryptosai/mcp-observatory@latest enforce --start-proxy——Observatory 会编写一份默认拒绝的 mcp-seatbelt 策略并启动代理。Observatory 负责验证;seatbelt 负责执行。
与 agent-obs 配合使用
使用 Observatory 保护你的服务。使用 agent-obs 跟踪你的 Agent——这是一款开源的 Agent 执行跟踪工具,可记录每次工具调用、计算 A-F 会话评分,并准确展示 Agent 将时间花在哪里、消耗了多少令牌以及遇到了哪些错误。Observatory 会告诉你服务是否安全。agent-obs 会告诉你 Agent 对服务做了什么。免费、本地优先,npm install -g agent-obs。
贡献者 ✨
感谢以下贡献者的出色付出:
- leemeo3——3 个 Safety Index 目标(Git、Chrome DevTools、Filesystem MCP)
- albatrossflyon-coder——GitHub MCP Safety Index(#201)
- tanishxdev——旧版 CLI 弃用警告(#187)
- sansynx——CLI 格式验证(#182)
参与贡献
欢迎贡献者加入!本项目遵循贡献者公约行为准则。最快的参与方式:
git clone https://github.com/KryptosAI/mcp-observatory.git && cd mcp-observatory && npm install && npm test
最常见的首次贡献是将 MCP 服务添加到 Safety Index(10-15 分钟)。完整指南、代码规范和贡献者认可阶梯,请参阅 CONTRIBUTING.md。
如果 Observatory 帮你避免了一次失败的部署,不妨给它点个星标。这能帮助其他人发现这个项目。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。