
Mcp Observatory
io.github.KryptosAIPublished by GitHub account KryptosAIv1.36.1Updated Oct 24, 2026
MCP security scanner. CI-native testing, attack simulation, health scoring, and SARIF.
Overview
MCP security and health scanner that lets an assistant test, score, record and diff other MCP servers from inside a chat.
- What you can do
- Scan and check configured MCP servers, or test a single server command, for health and capability problems
- Score servers with a 0-100 health grade and compare two runs to surface regressions and schema drift
- Record a working server session, replay it offline, and verify a live server still matches the recording
- Watch a server for changes since the last check and retrieve earlier run results
- Suggest MCP servers that match the project's detected stack
- When to use it
- Useful when you maintain or depend on MCP servers and want an agent to check them before installing, after updating, or when something breaks. It fits teams that want repeatable compatibility and security checks without leaving the chat.
- Requirements
- Runs as a local stdio process via npx, so Node.js 20+ and npm are needed. The manifest declares no environment variables, headers or authentication; target servers that need API keys are configured through the target config's env or header references. Network access is needed to fetch the package and to reach remote HTTP/SSE targets.
Installation
In SourceWeft
- Open Mcp Observatory in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
MCP Observatory
[CI] [CodeQL] [Coverage Workflow] [npm] [GitHub stars] [License: MIT]
More badges
[OpenSSF Scorecard] [Dependabot] [npm provenance workflow] [npm weekly downloads] [Node >= 20] [Smithery] [mcp-observatory MCP server] [All Contributors] [Gitee Stars] [Gitee Forks] [MCP Registry] [MCP Market] [MCP Hub China] [OpenTools] [Gitee]
Free, open-source MCP security testing from ClearFrame. MCP Observatory is the CI-native security tool for teams shipping custom MCP servers. Test during development, catch schema drift, simulate attacks, and generate compliance evidence — before agents depend on your servers.
Also available in Simplified Chinese.
Runtime enforcement: Use mcp-seatbelt to block dangerous MCP tool calls at runtime based on observatory scan results.
Get Started
Step-by-step setup guide · macOS, Windows, Linux · Node.js 20+ and npm (install Node.js LTS).
1. Run your first scan
Open Terminal or PowerShell in your project folder and paste:
This downloads Observatory and checks your first configured MCP server. With no configured server, it uses an included example. To try only that example, run npx -y @kryptosai/mcp-observatory@latest demo --example.
2. Read the result
The terminal shows the target, grade, findings, and saved receipt path. Failed checks are findings to review, not a request to pay. If connection failed, fix the startup command or credentials and rerun. A demo grade describes the example, not your own server.
3. Review locally, then continue in ClearFrame
The dashboard shows your local scan history, HTML reports, and JSON downloads. No account, upload, subscription, or time-based retention limit. Stop it with Ctrl+C.
The clearframe command writes a private instruction file and prints a read-only CLI command. Review the file, then run that command or paste it into a new ClearFrame Mac chat with your project open. It does not launch ClearFrame or upload evidence automatically.
Get ClearFrame CLI or the Mac app · Currently Apple Silicon Mac. ClearFrame has its own account and usage terms; all Observatory features work without it.
MCP Observatory is free and MIT licensed. Product telemetry is off by default and makes no telemetry network request before explicit opt-in. Use telemetry preview to inspect fields or telemetry enable to opt in. Privacy details.
If this repo is an MCP package, that tests npx -y <package.json name>. Otherwise set command:.
Or generate a full workflow: npx -y @kryptosai/mcp-observatory@latest setup-ci --all --command "npx -y my-mcp-server" --sarif
Install: 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
Scanning a server on the host needs network and, for local files, a volume mount (-v "$PWD:$PWD" -w "$PWD").
Agents: npx -y @kryptosai/mcp-observatory@latest serve
Default-deny connect: npx -y @kryptosai/mcp-observatory@latest protect rewrites every discovered client config (Cursor, Claude, VS Code, .mcp.json, …). Undo: protect --undo. HTTP/SSE servers are left alone.
Runtime deny-default: npx -y @kryptosai/mcp-observatory@latest enforce --start-proxy writes a Seatbelt policy from the scan and starts the proxy. Local scan stays free.
Proof: Safety Index. Local history, evidence export, CI, and remediation task preparation are free.
Learn from production usage
Connect real tool calls to user intent with the usage-learning SDK and CLI: sanitized invocation evidence, opted-in “asked / expected / got” reports, selected conversation excerpts, one-click dissatisfaction flags, intent grouping across captured requests, and regression-case export. Run mcp-observatory usage review --dir private-usage to inspect linked evidence in a loopback-only browser screen. Server logs cannot reveal unshared conversations; observed execution and inferred breakdown signals stay separate. Collection is local and requires explicit integration.
Why MCP Observatory
MCP servers are becoming production dependencies. If agents rely on them, teams need a way to catch broken tools, unsafe schemas, schema drift, slow responses, and security footguns before those failures reach users.
Observatory gives maintainers and teams:
- One-command CI setup with
setup-ci --all - Profile-mapped audits with
audit --profile nsa-mcp - MCP receipts that package target, evidence, verdict, action, and reproduction commands
- MCP risk graphs that group servers by capability boundary, receipt state, CI posture, and recommended action
- Action receipts that say
allow,gate,rerun,quarantine, orescalate - GitHub PR comments for compatibility, drift, and security findings
- GitHub Code Scanning SARIF for normalized MCP findings
- Health score badges for public trust signals
- Record/replay/verify workflows for regression testing
- MCP server mode so agents can inspect other MCP servers directly
- Review and remediation with free local history, CI, and optional ClearFrame CLI or Mac tasks
See GitHub Code Scanning for MCP servers, MCP Receipts, Troubleshooting, Safety Methodology, MCP Server Safety Index, MCP Observatory Contributors, hosted client contract, repository boundary, open-source policy, and free project policy.
Self-Assessment
We scan ourselves with mcp-observatory on every release. See results →
Self-hosted evidence
The MIT-licensed hosting source includes private receipt storage, GitHub sign-in, multi-target history, downloads, hosted HTTP checks and retention cleanup. Deploy it with your own configuration; no Observatory subscription is required. The account-free local dashboard is the fastest start.
Free tools for maintainers and teams
All scanner features, source audits, skill scans, package-name review, cross-server capability review, receipts, record/replay, local dashboards, and CI integrations are open source under MIT. No hosted account or private API is needed.
These checks identify review candidates; they do not prove a server is safe. See coverage and competitor feature evidence, ClearFrame workflow, and project policy.
How It Compares
Quick Start
Run a first check. No arguments starts demo (your servers, or the packaged local demo):
Go deeper — also invoke safe tools to verify they actually run:
Test a specific server:
Add it to Claude Code as an MCP server:
Or add it manually to your config:
Commands
Run with no arguments to start demo. Use --menu for the interactive catalog.
What It Does
Check capabilities — connects to a server and verifies tools, prompts, and resources respond correctly.
Invoke tools — goes beyond listing. Actually calls safe tools (no required params / readOnlyHint) and reports which ones work and which ones crash.
Detect schema drift — diffs two runs and surfaces added/removed fields, type changes, and breaking parameter changes.
Recommend servers — scans your project for languages, frameworks, databases, and cloud providers, then cross-references the MCP registry to suggest servers you're missing.
Or ask your agent "what MCP servers should I add?" when running in MCP server mode.
Security scanning — analyzes tool schemas for dangerous patterns: shell injection surfaces, broad filesystem access, missing auth, and credential leakage in responses.
Record / replay / verify — capture a live session, replay it offline in CI, and verify nothing changed. Like VCR for MCP.
Watch for regressions — re-runs checks on an interval and alerts when something changes.
Scan locations
When you run scan, it looks for MCP configs in:
~/.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.jsonand.mcp.json(current directory)
Architecture
CI / GitHub Action
Add Observatory to your MCP server's CI pipeline:
Check the adoption kit:
Successful test, run, and single-target scan checks also offer to convert the passing result into a CI adoption kit. That automatic conversion enables SARIF/Code Scanning and weekly scheduled checks by default; pass --no-ci-sarif when you only want a conservative workflow without Code Scanning upload.
Or create the workflow manually:
GitLab CI
Runs the same test scan on merge requests and on main, publishing the SARIF as a GitLab SAST report so findings appear in the merge request security widget. This matches what setup-ci --ci-provider gitlab-ci generates.
Or let the CLI write it for you:
Action inputs:
The action can comment on PRs and set commit statuses when the workflow grants write permissions. setup-ci generates read-only third-party-friendly workflows by default and lets maintainers opt into comments/statuses later. init-ci remains available as a backward-compatible alias. See action/README.md for all options.
Observatory is free and open source. Continue with ClearFrame CLI or Mac when you want an agent to help review and repair findings.
Evidence badges for MCP Observatory
MCP server maintainers can add a public compatibility/security signal to their README:
Or generate a score badge from a live check:
See the evidence distribution loop for the GitHub Action template, maintainer PR body, and badge rollout playbook. A badge is a public evidence signal, not a certification or endorsement.
Generate a production/security report from local run artifacts:
For clearer internal account attribution in CI, set:
To deliberately associate a contact email and optional contact-channel slug with private telemetry analytics, run mcp-observatory telemetry identify --email <address> [--channel <slug>]. Setting an organization or identifying a contact does not authorize outreach.
Testing Feishu/Lark integrations? See the Feishu/Lark MCP guide.
Lock Files
Lock files are the package-lock for AI tools: commit the MCP contract, then make every tool, schema, prompt, or resource drift visible in CI. See MCP lock files.
Trend Tracking
Nightly Scans
MCP Server Mode
No other testing tool is itself an MCP server. Add Observatory as a server and your AI agent can autonomously test, diagnose, and monitor your other MCP servers.
Your agent gets 10 tools:
An AI tool that checks other AI tools. It is a tool testing tools that serve tools.
Security
The MCP server runs inside AI hosts where an LLM chooses which tools to call. To prevent prompt-injection attacks:
- Command allowlist: Only
npx,node,python,python3,uvx,docker,deno,bunare permitted as base executables. The CLI has no restrictions. - Path validation: File-reading tools are constrained to the runs/cassettes directories.
- No arbitrary execution: Use the CLI for unrestricted commands.
CLI vs MCP: Intentional Differences
Compatibility
Works with any MCP server that uses standard transports:
Servers needing API keys work via env in the target config. Python servers work via uvx. See the full compatibility matrix for tested servers and known issues.
Target config files
For more control (env vars, metadata, custom timeout):
HTTP / SSE targets
Target configs support ${VAR}, $VAR, and env:VAR references in authToken, headers, and local-process env values.
How It Compares
Each tool has strengths. Observatory focuses on regression detection and CI-friendly workflows. mcp-recorder is great as a transparent proxy. MCPBench is the go-to for performance benchmarking. mcp-jest is ideal if you're already in a Jest workflow.
Prior Art
The record/replay/verify pattern is inspired by:
- VCR (Ruby) — pioneered cassette-based HTTP record/replay
- Polly.js (Netflix) — HTTP interaction recording for JavaScript
- mcp-recorder — MCP-specific traffic recording proxy
- MCPBench — MCP server benchmarking
- mcp-jest — Jest-style testing for MCP servers
Limitations
- Servers requiring interactive OAuth (e.g., Google Drive) need pre-authentication before Observatory can connect
- Custom WebSocket transports (e.g., BrowserTools MCP) are not supported
- A few servers time out or close before init — see known issues and compatibility
Works with mcp-seatbelt
Scan before you trust. Then run npx -y @kryptosai/mcp-observatory@latest enforce --start-proxy — Observatory writes a deny-default mcp-seatbelt policy and starts the proxy. Observatory validates; seatbelt enforces.
Works with agent-obs
Secure your servers with Observatory. Trace your agents with agent-obs — an open-source agent execution tracer that records every tool call, computes A-F session grades, and shows you exactly where your agents spend time, burn tokens, and hit errors. Observatory tells you if a server is safe. agent-obs tells you what your agent did with it. Free, local-first, npm install -g agent-obs.
Contributors ✨
Thanks to these amazing people who have contributed:
- leemeo3 — 3 Safety Index targets (Git, Chrome DevTools, Filesystem MCP)
- albatrossflyon-coder — GitHub MCP Safety Index (#201)
- tanishxdev — Legacy CLI deprecation warnings (#187)
- sansynx — CLI format validation (#182)
Contributing
We welcome contributors! This project follows a Contributor Covenant Code of Conduct. The fastest way to get involved:
The most common first contribution is adding an MCP server to the Safety Index (10-15 minutes). See CONTRIBUTING.md for full guidelines, code standards, and the contributor recognition ladder.
If Observatory saved you a broken deploy, consider giving it a star. It helps others find the project.
Source: README.md at commit e37d197
Tools
0Version history
1- v1.36.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts