@kryptosai/mcp-observatory 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -169
- package/dist/src/checks/resources.js +1 -1
- package/dist/src/checks/resources.js.map +1 -1
- package/dist/src/checks/tools-invoke.js +1 -1
- package/dist/src/checks/tools-invoke.js.map +1 -1
- package/dist/src/cli.js +252 -124
- package/dist/src/cli.js.map +1 -1
- package/dist/src/diff.js +8 -8
- package/dist/src/diff.js.map +1 -1
- package/dist/src/environment.d.ts +9 -0
- package/dist/src/environment.js +226 -0
- package/dist/src/environment.js.map +1 -0
- package/dist/src/server.js +101 -0
- package/dist/src/server.js.map +1 -1
- package/dist/src/validate.js +2 -0
- package/dist/src/validate.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,142 +1,135 @@
|
|
|
1
1
|
# MCP Observatory
|
|
2
2
|
|
|
3
|
+
```
|
|
4
|
+
███╗ ███╗ ██████╗██████╗
|
|
5
|
+
████╗ ████║██╔════╝██╔══██╗
|
|
6
|
+
██╔████╔██║██║ ██████╔╝
|
|
7
|
+
██║╚██╔╝██║██║ ██╔═══╝
|
|
8
|
+
██║ ╚═╝ ██║╚██████╗██║
|
|
9
|
+
╚═╝ ╚═╝ ╚═════╝╚═╝
|
|
10
|
+
O B S E R V A T O R Y
|
|
11
|
+
```
|
|
12
|
+
|
|
3
13
|
[](https://github.com/KryptosAI/mcp-observatory/actions/workflows/ci.yml)
|
|
4
|
-
[](https://github.com/KryptosAI/mcp-observatory/actions/workflows/real-server-matrix.yml)
|
|
5
14
|
[](https://www.npmjs.com/package/@kryptosai/mcp-observatory)
|
|
6
|
-
[](https://github.com/KryptosAI/mcp-observatory/releases)
|
|
7
15
|
[](./LICENSE)
|
|
8
16
|
[](./package.json)
|
|
17
|
+
[](https://glama.ai/mcp/servers/KryptosAI/mcp-observatory)
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<sub>* I'm a dude playing a dude disguised as another dude.</sub>
|
|
19
|
+
Find problems in your MCP servers before your users do.
|
|
13
20
|
|
|
14
|
-
|
|
21
|
+
You update a server, a tool silently breaks, and your agent starts failing. MCP Observatory catches that. It connects to your servers, checks every capability, actually calls tools to make sure they work, and diffs runs to catch what changed.
|
|
15
22
|
|
|
16
23
|
<p align="center">
|
|
17
24
|
<img src="./docs/demo.svg" alt="MCP Observatory scan output" width="820">
|
|
18
25
|
</p>
|
|
19
26
|
|
|
20
|
-
##
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
Scan every MCP server in your Claude config:
|
|
21
30
|
|
|
22
31
|
```bash
|
|
23
32
|
npx @kryptosai/mcp-observatory
|
|
24
33
|
```
|
|
25
34
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
To check a specific server, pass the command directly:
|
|
35
|
+
Check a specific server:
|
|
29
36
|
|
|
30
37
|
```bash
|
|
31
38
|
npx @kryptosai/mcp-observatory run -- npx -y @modelcontextprotocol/server-everything
|
|
32
|
-
npx @kryptosai/mcp-observatory run --invoke-tools -- npx -y @modelcontextprotocol/server-everything
|
|
33
|
-
npx @kryptosai/mcp-observatory check tools -- npx -y @modelcontextprotocol/server-filesystem .
|
|
34
39
|
```
|
|
35
40
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"targetId": "filesystem-server",
|
|
41
|
-
"adapter": "local-process",
|
|
42
|
-
"command": "npx",
|
|
43
|
-
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
|
|
44
|
-
"timeoutMs": 15000
|
|
45
|
-
}
|
|
46
|
-
```
|
|
41
|
+
Add it to Claude Code as an MCP server:
|
|
47
42
|
|
|
48
43
|
```bash
|
|
49
|
-
npx @kryptosai/mcp-observatory
|
|
44
|
+
claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
|
|
50
45
|
```
|
|
51
46
|
|
|
52
|
-
|
|
47
|
+
Or add it manually to your config:
|
|
53
48
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"mcpServers": {
|
|
52
|
+
"mcp-observatory": {
|
|
53
|
+
"command": "npx",
|
|
54
|
+
"args": ["-y", "@kryptosai/mcp-observatory", "serve"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
61
59
|
|
|
62
|
-
|
|
60
|
+
## What It Does
|
|
63
61
|
|
|
64
|
-
|
|
62
|
+
**Check capabilities** — connects to a server and verifies tools, prompts, and resources respond correctly.
|
|
65
63
|
|
|
66
|
-
|
|
67
|
-
- `diff`: compare two runs and classify regressions, recoveries, and schema drift
|
|
68
|
-
- `report`: turn a saved run artifact into readable terminal, JSON, or Markdown output
|
|
69
|
-
- `scan`: auto-discover MCP servers from local config files and check them all (default command)
|
|
70
|
-
- `check`: run a single capability check (tools, prompts, resources, or tools-invoke)
|
|
64
|
+
**Invoke tools** — goes beyond listing. Actually calls safe tools (no required params / readOnlyHint) and reports which ones work and which ones crash.
|
|
71
65
|
|
|
72
|
-
|
|
66
|
+
```bash
|
|
67
|
+
npx @kryptosai/mcp-observatory scan --invoke-tools
|
|
68
|
+
```
|
|
73
69
|
|
|
74
|
-
|
|
70
|
+
**Detect schema drift** — diffs two runs and surfaces added/removed fields, type changes, and breaking parameter changes.
|
|
75
71
|
|
|
76
72
|
```bash
|
|
77
|
-
mcp-observatory
|
|
78
|
-
mcp-observatory scan
|
|
79
|
-
mcp-observatory scan --config ~/.claude.json
|
|
80
|
-
mcp-observatory scan --invoke-tools
|
|
73
|
+
npx @kryptosai/mcp-observatory diff --base run-a.json --head run-b.json
|
|
81
74
|
```
|
|
82
75
|
|
|
83
|
-
|
|
84
|
-
- `~/.claude.json` (Claude Code)
|
|
85
|
-
- `~/Library/Application Support/Claude/claude_desktop_config.json` (Claude Desktop, macOS)
|
|
86
|
-
- `%APPDATA%/Claude/claude_desktop_config.json` (Claude Desktop, Windows)
|
|
87
|
-
- `.claude.json` (current directory)
|
|
88
|
-
- `.mcp.json` (current directory)
|
|
89
|
-
|
|
90
|
-
## Check
|
|
76
|
+
**Recommend servers** — scans your project for languages, frameworks, databases, and cloud providers, then cross-references the [MCP registry](https://registry.modelcontextprotocol.io) to suggest servers you're missing. Ask your agent "what MCP servers should I add?" and it figures out the rest.
|
|
91
77
|
|
|
92
|
-
|
|
78
|
+
**Watch for regressions** — re-runs checks on an interval and alerts when something changes.
|
|
93
79
|
|
|
94
80
|
```bash
|
|
95
|
-
mcp-observatory
|
|
96
|
-
mcp-observatory check prompts --target ./my-server.json
|
|
97
|
-
mcp-observatory check resources --target ./my-server.json
|
|
98
|
-
mcp-observatory check tools-invoke --target ./my-server.json
|
|
81
|
+
npx @kryptosai/mcp-observatory run --watch -- npx -y @modelcontextprotocol/server-filesystem .
|
|
99
82
|
```
|
|
100
83
|
|
|
101
|
-
##
|
|
84
|
+
## Commands
|
|
102
85
|
|
|
103
|
-
|
|
86
|
+
| Command | What it does |
|
|
87
|
+
|---------|-------------|
|
|
88
|
+
| `scan` | Auto-discover servers from config files and check them all (default) |
|
|
89
|
+
| `run` | Check one server and save a run artifact |
|
|
90
|
+
| `check` | Run a single capability check (tools, prompts, resources, tools-invoke) |
|
|
91
|
+
| `diff` | Compare two runs — regressions, recoveries, schema drift |
|
|
92
|
+
| `report` | Render a run as terminal, JSON, markdown, or HTML |
|
|
93
|
+
| `serve` | Run as an MCP server — exposes scan, check, diff, suggest as tools |
|
|
104
94
|
|
|
105
|
-
|
|
106
|
-
mcp-observatory scan --invoke-tools
|
|
107
|
-
mcp-observatory run --target ./my-server.json --invoke-tools
|
|
108
|
-
mcp-observatory check tools-invoke --target ./my-server.json
|
|
109
|
-
```
|
|
95
|
+
### Scan locations
|
|
110
96
|
|
|
111
|
-
|
|
97
|
+
When you run `scan`, it looks for MCP configs in:
|
|
112
98
|
|
|
113
|
-
|
|
99
|
+
- `~/.claude.json` (Claude Code)
|
|
100
|
+
- `~/Library/Application Support/Claude/claude_desktop_config.json` (Claude Desktop, macOS)
|
|
101
|
+
- `%APPDATA%/Claude/claude_desktop_config.json` (Claude Desktop, Windows)
|
|
102
|
+
- `.claude.json` and `.mcp.json` (current directory)
|
|
114
103
|
|
|
115
|
-
|
|
116
|
-
mcp-observatory diff --base run-a.json --head run-b.json
|
|
117
|
-
```
|
|
104
|
+
## MCP Server Mode
|
|
118
105
|
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
Schema Drift:
|
|
122
|
-
- search (tools): added required field 'limit', changed 'query' type from 'number' to 'string'
|
|
123
|
-
- old-tool (tools): removed
|
|
124
|
-
```
|
|
106
|
+
When running as an MCP server (`serve`), your AI agent gets five tools:
|
|
125
107
|
|
|
126
|
-
|
|
108
|
+
| Tool | What it does |
|
|
109
|
+
|------|-------------|
|
|
110
|
+
| `scan` | Discover and check all configured servers |
|
|
111
|
+
| `check_server` | Check a specific server by command |
|
|
112
|
+
| `diff_runs` | Compare two saved run artifacts |
|
|
113
|
+
| `get_last_run` | Return the most recent run for a target |
|
|
114
|
+
| `suggest_servers` | Scan your environment and recommend servers you're missing |
|
|
127
115
|
|
|
128
|
-
|
|
116
|
+
An AI tool that checks other AI tools. It's a tool testing tools that serve tools.*
|
|
129
117
|
|
|
130
|
-
|
|
131
|
-
mcp-observatory run --target ./my-server.json --watch
|
|
132
|
-
mcp-observatory run --target ./my-server.json --watch --interval 60
|
|
133
|
-
```
|
|
118
|
+
<sub>* I'm a dude playing a dude disguised as another dude.</sub>
|
|
134
119
|
|
|
135
|
-
|
|
120
|
+
## Compatibility
|
|
136
121
|
|
|
137
|
-
|
|
122
|
+
Works with any MCP server that uses standard transports:
|
|
138
123
|
|
|
139
|
-
|
|
124
|
+
| Transport | Examples | Adapter |
|
|
125
|
+
|-----------|----------|---------|
|
|
126
|
+
| **stdio** (most servers) | [filesystem](https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem), [memory](https://www.npmjs.com/package/@modelcontextprotocol/server-memory), [context7](https://www.npmjs.com/package/@upstash/context7-mcp), [brave-search](https://www.npmjs.com/package/@modelcontextprotocol/server-brave-search), [sentry](https://www.npmjs.com/package/@sentry/mcp-server), [notion](https://www.npmjs.com/package/@notionhq/notion-mcp-server), [stripe](https://www.npmjs.com/package/@stripe/mcp) | `local-process` |
|
|
127
|
+
| **HTTP/SSE** (remote) | [Cloudflare](https://developers.cloudflare.com/mcp/), [Exa](https://exa.ai), [Tavily](https://tavily.com) | `http` |
|
|
128
|
+
| **Docker** | All `@modelcontextprotocol/server-*` images | `local-process` via `docker run -i` |
|
|
129
|
+
|
|
130
|
+
Servers needing API keys work via `env` in the target config. Python servers work via `uvx`. See the [full compatibility matrix](./docs/compatibility.md) for tested servers and known issues.
|
|
131
|
+
|
|
132
|
+
### HTTP / SSE targets
|
|
140
133
|
|
|
141
134
|
```json
|
|
142
135
|
{
|
|
@@ -148,49 +141,23 @@ In addition to local-process stdio, you can check remote MCP servers over HTTP (
|
|
|
148
141
|
}
|
|
149
142
|
```
|
|
150
143
|
|
|
151
|
-
|
|
152
|
-
mcp-observatory run --target ./remote-target.json
|
|
153
|
-
mcp-observatory run --target ./remote-target.json --invoke-tools
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## HTML Reports
|
|
157
|
-
|
|
158
|
-
Generate a self-contained HTML report from any run or diff artifact:
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
mcp-observatory report --run ./run-artifact.json --format html --output report.html
|
|
162
|
-
mcp-observatory diff --base run-a.json --head run-b.json --format html --output diff.html
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
Open the file in any browser — no server required, shareable via Slack/email/GitHub comments.
|
|
166
|
-
|
|
167
|
-
## Use as an MCP Server
|
|
144
|
+
### Target config files
|
|
168
145
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
Add it to your Claude config:
|
|
146
|
+
For more control (env vars, metadata, custom timeout):
|
|
172
147
|
|
|
173
148
|
```json
|
|
174
149
|
{
|
|
175
|
-
"
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
150
|
+
"targetId": "filesystem-server",
|
|
151
|
+
"adapter": "local-process",
|
|
152
|
+
"command": "npx",
|
|
153
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
|
|
154
|
+
"timeoutMs": 15000
|
|
181
155
|
}
|
|
182
156
|
```
|
|
183
157
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|------|-------------|
|
|
188
|
-
| `scan` | Discover and check all configured servers |
|
|
189
|
-
| `check_server` | Check a specific server by command |
|
|
190
|
-
| `diff_runs` | Compare two saved run artifacts |
|
|
191
|
-
| `get_last_run` | Return the most recent run for a target |
|
|
192
|
-
|
|
193
|
-
Or start it manually: `mcp-observatory serve`
|
|
158
|
+
```bash
|
|
159
|
+
npx @kryptosai/mcp-observatory run --target ./target.json
|
|
160
|
+
```
|
|
194
161
|
|
|
195
162
|
## Limitations
|
|
196
163
|
|
|
@@ -198,53 +165,6 @@ Or start it manually: `mcp-observatory serve`
|
|
|
198
165
|
- Custom WebSocket transports (e.g., BrowserTools MCP) are not supported
|
|
199
166
|
- A few servers time out or close before init — see [known issues](./docs/known-issues.md) and [compatibility](./docs/compatibility.md)
|
|
200
167
|
|
|
201
|
-
## Repo-Local Validation
|
|
202
|
-
|
|
203
|
-
If you do want the repo-local path, use the fixture flow:
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
npm install
|
|
207
|
-
npm run cli -- run --target tests/fixtures/sample-target-config.json
|
|
208
|
-
npm run cli -- diff --base tests/fixtures/sample-run-a.json --head tests/fixtures/sample-run-b.json
|
|
209
|
-
npm run cli -- report --run tests/fixtures/sample-run-b.json --format markdown --output examples/results/sample-report.md
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
This path exists to validate the repo itself. It is not the only way to use the tool.
|
|
213
|
-
|
|
214
|
-
## Artifact Contract
|
|
215
|
-
|
|
216
|
-
Every artifact is versioned and intentionally boring:
|
|
217
|
-
|
|
218
|
-
- `artifactType`: `run` or `diff`
|
|
219
|
-
- `schemaVersion`: currently `1.0.0`
|
|
220
|
-
- `gate`: `pass` or `fail`
|
|
221
|
-
|
|
222
|
-
Compatibility rules:
|
|
223
|
-
|
|
224
|
-
- additive changes stay within `1.x`
|
|
225
|
-
- breaking artifact changes require a major schema bump
|
|
226
|
-
|
|
227
|
-
Published schemas:
|
|
228
|
-
|
|
229
|
-
- [schemas/run-artifact.schema.json](./schemas/run-artifact.schema.json)
|
|
230
|
-
- [schemas/diff-artifact.schema.json](./schemas/diff-artifact.schema.json)
|
|
231
|
-
|
|
232
|
-
Validate checked-in artifacts locally:
|
|
233
|
-
|
|
234
|
-
```bash
|
|
235
|
-
npm run validate:artifacts
|
|
236
|
-
```
|
|
237
|
-
|
|
238
168
|
## Contributing
|
|
239
169
|
|
|
240
|
-
See [CONTRIBUTING.md](./CONTRIBUTING.md) for
|
|
241
|
-
|
|
242
|
-
The fastest way to contribute something credible is to add evidence:
|
|
243
|
-
|
|
244
|
-
- a real passing target with a distinct capability shape
|
|
245
|
-
- a clearer report surface
|
|
246
|
-
- a cleaner startup diagnosis
|
|
247
|
-
|
|
248
|
-
## Known Issues
|
|
249
|
-
|
|
250
|
-
See [docs/known-issues.md](./docs/known-issues.md) for the difference between `unsupported` and `failed`, and [docs/compatibility.md](./docs/compatibility.md) for the full compatibility matrix including servers that don't work and why.
|
|
170
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines. The fastest way to contribute is to add a real passing target with a distinct capability shape, a clearer report surface, or a cleaner startup diagnosis.
|
|
@@ -152,7 +152,7 @@ export async function runResourcesCheck(context) {
|
|
|
152
152
|
message =
|
|
153
153
|
"Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.";
|
|
154
154
|
}
|
|
155
|
-
else
|
|
155
|
+
else {
|
|
156
156
|
message = `Advertised capability responded with the minimal expected shape (${itemCount} items).`;
|
|
157
157
|
}
|
|
158
158
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/checks/resources.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/checks/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-invoke.js","sourceRoot":"","sources":["../../../src/checks/tools-invoke.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools-invoke.js","sourceRoot":"","sources":["../../../src/checks/tools-invoke.ts"],"names":[],"mappings":"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"}
|