@kryptosai/mcp-observatory 1.32.0 â 1.32.1
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 +4 -10
- package/README.zh-CN.md +4 -10
- package/dist/src/cli.js +1 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/enforce.d.ts +2 -2
- package/dist/src/commands/enforce.js +5 -8
- package/dist/src/commands/enforce.js.map +1 -1
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/test.js +2 -2
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/telemetry.js +2 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/validate.js +5 -6
- package/dist/src/validate.js.map +1 -1
- package/docs/mcp-server-safety-index.md +68 -8
- package/docs/safety-index/artifacts/antv-chart-server.json +1452 -19
- package/docs/safety-index/artifacts/antv-chart-server.md +156 -10
- package/docs/safety-index/artifacts/brave-search-server.json +341 -0
- package/docs/safety-index/artifacts/brave-search-server.md +201 -0
- package/docs/safety-index/artifacts/browsermcp-server.json +83 -18
- package/docs/safety-index/artifacts/browsermcp-server.md +46 -12
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +592 -21
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +96 -14
- package/docs/safety-index/artifacts/clay-server.json +66 -0
- package/docs/safety-index/artifacts/clay-server.md +106 -0
- package/docs/safety-index/artifacts/cloudflare-server.json +66 -0
- package/docs/safety-index/artifacts/cloudflare-server.md +106 -0
- package/docs/safety-index/artifacts/context7-server.json +85 -18
- package/docs/safety-index/artifacts/context7-server.md +52 -11
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +1565 -34
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +178 -17
- package/docs/safety-index/artifacts/docker-server.json +395 -0
- package/docs/safety-index/artifacts/docker-server.md +204 -0
- package/docs/safety-index/artifacts/everything-server.json +145 -18
- package/docs/safety-index/artifacts/everything-server.md +56 -11
- package/docs/safety-index/artifacts/exa-server.json +400 -0
- package/docs/safety-index/artifacts/exa-server.md +207 -0
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +625 -18
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +95 -11
- package/docs/safety-index/artifacts/fetch-server.json +66 -0
- package/docs/safety-index/artifacts/fetch-server.md +106 -0
- package/docs/safety-index/artifacts/figma-server.json +1766 -0
- package/docs/safety-index/artifacts/figma-server.md +256 -0
- package/docs/safety-index/artifacts/filesystem-mcp-server.json +428 -24
- package/docs/safety-index/artifacts/filesystem-mcp-server.md +75 -14
- package/docs/safety-index/artifacts/filesystem-server.json +426 -22
- package/docs/safety-index/artifacts/filesystem-server.md +73 -12
- package/docs/safety-index/artifacts/firecrawl-server.json +4056 -0
- package/docs/safety-index/artifacts/firecrawl-server.md +243 -0
- package/docs/safety-index/artifacts/github-mcp-server.json +374 -21
- package/docs/safety-index/artifacts/github-mcp-server.md +71 -15
- package/docs/safety-index/artifacts/gitlab-server.json +229 -0
- package/docs/safety-index/artifacts/gitlab-server.md +753 -0
- package/docs/safety-index/artifacts/gmail-server.json +66 -0
- package/docs/safety-index/artifacts/gmail-server.md +106 -0
- package/docs/safety-index/artifacts/google-calendar-server.json +66 -0
- package/docs/safety-index/artifacts/google-calendar-server.md +106 -0
- package/docs/safety-index/artifacts/google-drive-server.json +66 -0
- package/docs/safety-index/artifacts/google-drive-server.md +106 -0
- package/docs/safety-index/artifacts/google-sheets-server.json +66 -0
- package/docs/safety-index/artifacts/google-sheets-server.md +106 -0
- package/docs/safety-index/artifacts/google-tasks-server.json +66 -0
- package/docs/safety-index/artifacts/google-tasks-server.md +106 -0
- package/docs/safety-index/artifacts/huggingface-server.json +66 -0
- package/docs/safety-index/artifacts/huggingface-server.md +106 -0
- package/docs/safety-index/artifacts/jina-server.json +66 -0
- package/docs/safety-index/artifacts/jina-server.md +106 -0
- package/docs/safety-index/artifacts/kubernetes-server.json +1054 -27
- package/docs/safety-index/artifacts/kubernetes-server.md +137 -18
- package/docs/safety-index/artifacts/linear-server.json +1494 -0
- package/docs/safety-index/artifacts/linear-server.md +237 -0
- package/docs/safety-index/artifacts/memory-server.json +191 -18
- package/docs/safety-index/artifacts/memory-server.md +51 -9
- package/docs/safety-index/artifacts/mongodb-server.json +66 -0
- package/docs/safety-index/artifacts/mongodb-server.md +106 -0
- package/docs/safety-index/artifacts/neon-server.json +66 -0
- package/docs/safety-index/artifacts/neon-server.md +103 -0
- package/docs/safety-index/artifacts/notion-server.json +7151 -0
- package/docs/safety-index/artifacts/notion-server.md +236 -0
- package/docs/safety-index/artifacts/onesignal-server.json +66 -0
- package/docs/safety-index/artifacts/onesignal-server.md +106 -0
- package/docs/safety-index/artifacts/opentofu-server.json +31 -19
- package/docs/safety-index/artifacts/opentofu-server.md +28 -10
- package/docs/safety-index/artifacts/playwright-mcp-server.json +415 -24
- package/docs/safety-index/artifacts/playwright-mcp-server.md +84 -20
- package/docs/safety-index/artifacts/postgres-server.json +330 -0
- package/docs/safety-index/artifacts/postgres-server.md +208 -0
- package/docs/safety-index/artifacts/promptopia-server.json +96 -19
- package/docs/safety-index/artifacts/promptopia-server.md +43 -9
- package/docs/safety-index/artifacts/puppeteer-server.json +118 -29
- package/docs/safety-index/artifacts/puppeteer-server.md +61 -19
- package/docs/safety-index/artifacts/qdrant-server.json +66 -0
- package/docs/safety-index/artifacts/qdrant-server.md +106 -0
- package/docs/safety-index/artifacts/reddit-server.json +66 -0
- package/docs/safety-index/artifacts/reddit-server.md +106 -0
- package/docs/safety-index/artifacts/ref-tools-server.json +95 -18
- package/docs/safety-index/artifacts/ref-tools-server.md +45 -12
- package/docs/safety-index/artifacts/sentry-server.json +66 -0
- package/docs/safety-index/artifacts/sentry-server.md +106 -0
- package/docs/safety-index/artifacts/sequential-thinking-server.json +59 -18
- package/docs/safety-index/artifacts/sequential-thinking-server.md +41 -9
- package/docs/safety-index/artifacts/slack-server.json +66 -0
- package/docs/safety-index/artifacts/slack-server.md +102 -0
- package/docs/safety-index/artifacts/sqlite-server.json +67 -0
- package/docs/safety-index/artifacts/sqlite-server.md +106 -0
- package/docs/safety-index/artifacts/stripe-server.json +66 -0
- package/docs/safety-index/artifacts/stripe-server.md +106 -0
- package/docs/safety-index/artifacts/supabase-server.json +66 -0
- package/docs/safety-index/artifacts/supabase-server.md +102 -0
- package/docs/safety-index/artifacts/tavily-search-server.json +66 -0
- package/docs/safety-index/artifacts/tavily-search-server.md +106 -0
- package/docs/safety-index/artifacts/ui5-mcp-server.json +24 -24
- package/docs/safety-index/artifacts/ui5-mcp-server.md +13 -13
- package/docs/safety-index/artifacts/vercel-ai-server.json +66 -0
- package/docs/safety-index/artifacts/vercel-ai-server.md +106 -0
- package/docs/safety-index/targets.json +535 -0
- package/package.json +1 -1
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-07-12T23:44:31.584Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `brave-search-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y @modelcontextprotocol/server-brave-search`
|
|
10
|
+
- Server: `example-servers/brave-search 0.1.0`
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 93/100 (A)**
|
|
17
|
+
|
|
18
|
+
| Dimension | Score | Weight |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| Protocol Compliance | 100/100 | 30% |
|
|
21
|
+
| Schema Quality | 100/100 | 20% |
|
|
22
|
+
| Security | 100/100 | 20% |
|
|
23
|
+
| Reliability | 67/100 | 20% |
|
|
24
|
+
| Performance | 100/100 | 10% |
|
|
25
|
+
|
|
26
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| pass | 9 | 7 | 0 | 0 | 2 | 0 | 0 |
|
|
29
|
+
|
|
30
|
+
## At a Glance
|
|
31
|
+
|
|
32
|
+
- Safety verdict: **Needs review** â The server is usable, but caveated checks should be reviewed before agents depend on it.
|
|
33
|
+
- Top risks: No high-priority risks detected.
|
|
34
|
+
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
35
|
+
- Failing checks: none
|
|
36
|
+
- Partial or flaky checks: none
|
|
37
|
+
- Skipped checks: none
|
|
38
|
+
- Unsupported checks: prompts, resources
|
|
39
|
+
- Suggested next step: Confirm that unsupported capabilities are intentional for this target: prompts, resources.
|
|
40
|
+
- CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
|
|
41
|
+
|
|
42
|
+
## What Was Not Tested
|
|
43
|
+
|
|
44
|
+
- đ filesystem_mutation: Filesystem write operations were not exercised
|
|
45
|
+
- âšī¸ credential_access: Credential scanning was performed (see security findings)
|
|
46
|
+
- âšī¸ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
|
|
47
|
+
|
|
48
|
+
## Runtime Profile
|
|
49
|
+
|
|
50
|
+
### Egress Manifest
|
|
51
|
+
|
|
52
|
+
The following targets were identified as potentially reachable by this server (confidence: **medium**):
|
|
53
|
+
|
|
54
|
+
| Target | Protocol | Source | Confidence |
|
|
55
|
+
| --- | --- | --- | --- |
|
|
56
|
+
| brave_web_search | unknown | description_analysis | low |
|
|
57
|
+
| brave_local_search | unknown | description_analysis | low |
|
|
58
|
+
|
|
59
|
+
_Analyzed at 2026-07-12T23:44:32.348Z_
|
|
60
|
+
|
|
61
|
+
## Regressions and Recoveries
|
|
62
|
+
|
|
63
|
+
_Use the `diff` command against another run artifact to classify regressions and recoveries over time._
|
|
64
|
+
|
|
65
|
+
## Full Capability Status Table
|
|
66
|
+
|
|
67
|
+
| Focus | Check | Status | Duration (ms) | Message |
|
|
68
|
+
| --- | --- | --- | --- | --- |
|
|
69
|
+
| healthy | attack-sim | pass | 0.31 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
|
|
70
|
+
| healthy | conformance | pass | 0.51 | All 7 conformance checks passed. |
|
|
71
|
+
| healthy | runtime-profile | pass | 0.06 | Detected 2 potential egress target(s) and 0 potential state mutation(s) with low confidence. |
|
|
72
|
+
| healthy | schema-quality | pass | 0.22 | All 2 item(s) have good schema quality. |
|
|
73
|
+
| healthy | security | pass | 0.13 | No security issues detected. |
|
|
74
|
+
| healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
|
|
75
|
+
| healthy | tools | pass | 0.41 | Advertised capability responded with the minimal expected shape (2 items). |
|
|
76
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
77
|
+
| confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
|
|
78
|
+
|
|
79
|
+
## Evidence Snippets
|
|
80
|
+
|
|
81
|
+
### attack-sim â pass
|
|
82
|
+
|
|
83
|
+
Summary: Safe attack simulation found no high-risk MCP attack-readiness findings.
|
|
84
|
+
|
|
85
|
+
- Endpoint: `attack-sim/safe`
|
|
86
|
+
- Advertised: `true`
|
|
87
|
+
- Responded: `true`
|
|
88
|
+
- Minimal shape present: `true`
|
|
89
|
+
- Item count: `0`
|
|
90
|
+
- Identifiers: none
|
|
91
|
+
- Diagnostics: none
|
|
92
|
+
|
|
93
|
+
### conformance â pass
|
|
94
|
+
|
|
95
|
+
Summary: All 7 conformance checks passed.
|
|
96
|
+
|
|
97
|
+
- Endpoint: `conformance/check`
|
|
98
|
+
- Advertised: `true`
|
|
99
|
+
- Responded: `true`
|
|
100
|
+
- Minimal shape present: `true`
|
|
101
|
+
- Item count: `7`
|
|
102
|
+
- Identifiers: none
|
|
103
|
+
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 2 tool(s). (+4 more)
|
|
104
|
+
|
|
105
|
+
### runtime-profile â pass
|
|
106
|
+
|
|
107
|
+
Summary: Detected 2 potential egress target(s) and 0 potential state mutation(s) with low confidence.
|
|
108
|
+
|
|
109
|
+
- Endpoint: `runtime-profile/analyze`
|
|
110
|
+
- Advertised: `true`
|
|
111
|
+
- Responded: `true`
|
|
112
|
+
- Minimal shape present: `true`
|
|
113
|
+
- Item count: `2`
|
|
114
|
+
- Identifiers: none
|
|
115
|
+
- Diagnostics: Egress entries: 2, State mutations: 0, Confidence: medium
|
|
116
|
+
|
|
117
|
+
### schema-quality â pass
|
|
118
|
+
|
|
119
|
+
Summary: All 2 item(s) have good schema quality.
|
|
120
|
+
|
|
121
|
+
- Endpoint: `schema-quality/scan`
|
|
122
|
+
- Advertised: `true`
|
|
123
|
+
- Responded: `true`
|
|
124
|
+
- Minimal shape present: `true`
|
|
125
|
+
- Item count: `0`
|
|
126
|
+
- Identifiers: none
|
|
127
|
+
- Diagnostics: none
|
|
128
|
+
|
|
129
|
+
### security â pass
|
|
130
|
+
|
|
131
|
+
Summary: No security issues detected.
|
|
132
|
+
|
|
133
|
+
- Endpoint: `security/scan`
|
|
134
|
+
- Advertised: `true`
|
|
135
|
+
- Responded: `true`
|
|
136
|
+
- Minimal shape present: `true`
|
|
137
|
+
- Item count: `0`
|
|
138
|
+
- Identifiers: none
|
|
139
|
+
- Diagnostics: none
|
|
140
|
+
|
|
141
|
+
### security-lite â pass
|
|
142
|
+
|
|
143
|
+
Summary: No security issues detected (lightweight scan).
|
|
144
|
+
|
|
145
|
+
- Endpoint: `security/scan-lite`
|
|
146
|
+
- Advertised: `true`
|
|
147
|
+
- Responded: `true`
|
|
148
|
+
- Minimal shape present: `true`
|
|
149
|
+
- Item count: `0`
|
|
150
|
+
- Identifiers: none
|
|
151
|
+
- Diagnostics: none
|
|
152
|
+
|
|
153
|
+
### tools â pass
|
|
154
|
+
|
|
155
|
+
Summary: Advertised capability responded with the minimal expected shape (2 items).
|
|
156
|
+
|
|
157
|
+
- Endpoint: `tools/list`
|
|
158
|
+
- Advertised: `true`
|
|
159
|
+
- Responded: `true`
|
|
160
|
+
- Minimal shape present: `true`
|
|
161
|
+
- Item count: `2`
|
|
162
|
+
- Identifiers: brave_web_search, brave_local_search
|
|
163
|
+
- Diagnostics: Brave Search MCP Server running on stdio
|
|
164
|
+
|
|
165
|
+
### prompts â unsupported
|
|
166
|
+
|
|
167
|
+
Summary: Prompts are not advertised by the target.
|
|
168
|
+
|
|
169
|
+
- Endpoint: `prompts/list`
|
|
170
|
+
- Advertised: `false`
|
|
171
|
+
- Responded: `false`
|
|
172
|
+
- Minimal shape present: `false`
|
|
173
|
+
- Item count: `0`
|
|
174
|
+
- Identifiers: none
|
|
175
|
+
- Diagnostics: none
|
|
176
|
+
|
|
177
|
+
### resources â unsupported
|
|
178
|
+
|
|
179
|
+
Summary: Resources are not advertised by the target.
|
|
180
|
+
|
|
181
|
+
- Endpoint: `resources/list | resources/templates/list`
|
|
182
|
+
- Advertised: `false`
|
|
183
|
+
- Responded: `false`
|
|
184
|
+
- Minimal shape present: `false`
|
|
185
|
+
- Item count: `0`
|
|
186
|
+
- Identifiers: none
|
|
187
|
+
- Diagnostics: none
|
|
188
|
+
|
|
189
|
+
## Reproduction Commands
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
193
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Artifact Provenance
|
|
197
|
+
|
|
198
|
+
- Artifact type: `run`
|
|
199
|
+
- Schema version: `1.0.0`
|
|
200
|
+
- Run ID: `run_2026-07-12T234431584Z_0c1cf559`
|
|
201
|
+
- Gate: `pass`
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"artifactType": "run",
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"gate": "pass",
|
|
5
|
-
"runId": "run_2026-07-
|
|
6
|
-
"createdAt": "2026-07-
|
|
7
|
-
"toolVersion": "
|
|
5
|
+
"runId": "run_2026-07-12T234409514Z_67c87a4e",
|
|
6
|
+
"createdAt": "2026-07-12T23:44:09.514Z",
|
|
7
|
+
"toolVersion": "1.31.0",
|
|
8
8
|
"target": {
|
|
9
9
|
"targetId": "browsermcp-server",
|
|
10
10
|
"adapter": "local-process",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"nodeVersion": "v22.22.1"
|
|
30
30
|
},
|
|
31
31
|
"summary": {
|
|
32
|
-
"total":
|
|
32
|
+
"total": 9,
|
|
33
33
|
"pass": 7,
|
|
34
34
|
"fail": 0,
|
|
35
|
-
"partial":
|
|
35
|
+
"partial": 1,
|
|
36
36
|
"unsupported": 1,
|
|
37
37
|
"flaky": 0,
|
|
38
38
|
"skipped": 0,
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"id": "tools",
|
|
44
44
|
"capability": "tools",
|
|
45
45
|
"status": "pass",
|
|
46
|
-
"durationMs": 0.
|
|
46
|
+
"durationMs": 0.9639999999999418,
|
|
47
47
|
"message": "Advertised capability responded with the minimal expected shape (12 items).",
|
|
48
48
|
"evidence": [
|
|
49
49
|
{
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
"id": "prompts",
|
|
243
243
|
"capability": "prompts",
|
|
244
244
|
"status": "unsupported",
|
|
245
|
-
"durationMs": 0.
|
|
245
|
+
"durationMs": 0.0009160000008705538,
|
|
246
246
|
"message": "Prompts are not advertised by the target.",
|
|
247
247
|
"evidence": [
|
|
248
248
|
{
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
"id": "resources",
|
|
259
259
|
"capability": "resources",
|
|
260
260
|
"status": "pass",
|
|
261
|
-
"durationMs": 0.
|
|
261
|
+
"durationMs": 0.4857090000004973,
|
|
262
262
|
"message": "Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.",
|
|
263
263
|
"evidence": [
|
|
264
264
|
{
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
"id": "security-lite",
|
|
286
286
|
"capability": "security-lite",
|
|
287
287
|
"status": "pass",
|
|
288
|
-
"durationMs": 0.
|
|
288
|
+
"durationMs": 0.027999999998428393,
|
|
289
289
|
"message": "No security issues detected (lightweight scan).",
|
|
290
290
|
"evidence": [
|
|
291
291
|
{
|
|
@@ -297,11 +297,52 @@
|
|
|
297
297
|
}
|
|
298
298
|
]
|
|
299
299
|
},
|
|
300
|
+
{
|
|
301
|
+
"id": "runtime-profile",
|
|
302
|
+
"capability": "runtime-profile",
|
|
303
|
+
"status": "partial",
|
|
304
|
+
"durationMs": 0.08887500000128057,
|
|
305
|
+
"message": "Detected 3 potential egress target(s) and 0 potential state mutation(s) with high confidence.",
|
|
306
|
+
"evidence": [
|
|
307
|
+
{
|
|
308
|
+
"endpoint": "runtime-profile/analyze",
|
|
309
|
+
"advertised": true,
|
|
310
|
+
"responded": true,
|
|
311
|
+
"minimalShapePresent": true,
|
|
312
|
+
"itemCount": 3,
|
|
313
|
+
"diagnostics": [
|
|
314
|
+
"Egress entries: 3",
|
|
315
|
+
"State mutations: 0",
|
|
316
|
+
"Confidence: high"
|
|
317
|
+
],
|
|
318
|
+
"findings": [
|
|
319
|
+
{
|
|
320
|
+
"target": "url",
|
|
321
|
+
"protocol": "unknown",
|
|
322
|
+
"source": "tool_schema",
|
|
323
|
+
"confidence": "high"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"target": "The URL to navigate to",
|
|
327
|
+
"protocol": "unknown",
|
|
328
|
+
"source": "description_analysis",
|
|
329
|
+
"confidence": "medium"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"target": "browser_navigate",
|
|
333
|
+
"protocol": "unknown",
|
|
334
|
+
"source": "description_analysis",
|
|
335
|
+
"confidence": "low"
|
|
336
|
+
}
|
|
337
|
+
]
|
|
338
|
+
}
|
|
339
|
+
]
|
|
340
|
+
},
|
|
300
341
|
{
|
|
301
342
|
"id": "conformance",
|
|
302
343
|
"capability": "conformance",
|
|
303
344
|
"status": "pass",
|
|
304
|
-
"durationMs": 1.
|
|
345
|
+
"durationMs": 1.643000000000029,
|
|
305
346
|
"message": "All 7 conformance checks passed.",
|
|
306
347
|
"evidence": [
|
|
307
348
|
{
|
|
@@ -327,7 +368,7 @@
|
|
|
327
368
|
"id": "schema-quality",
|
|
328
369
|
"capability": "schema-quality",
|
|
329
370
|
"status": "pass",
|
|
330
|
-
"durationMs": 0.
|
|
371
|
+
"durationMs": 0.4385839999995369,
|
|
331
372
|
"message": "All 12 item(s) have good schema quality.",
|
|
332
373
|
"evidence": [
|
|
333
374
|
{
|
|
@@ -344,7 +385,7 @@
|
|
|
344
385
|
"id": "security",
|
|
345
386
|
"capability": "security",
|
|
346
387
|
"status": "pass",
|
|
347
|
-
"durationMs": 0.
|
|
388
|
+
"durationMs": 0.15845899999840185,
|
|
348
389
|
"message": "No security issues detected.",
|
|
349
390
|
"evidence": [
|
|
350
391
|
{
|
|
@@ -360,7 +401,7 @@
|
|
|
360
401
|
"id": "attack-sim",
|
|
361
402
|
"capability": "attack-sim",
|
|
362
403
|
"status": "pass",
|
|
363
|
-
"durationMs": 0.
|
|
404
|
+
"durationMs": 0.5191660000018601,
|
|
364
405
|
"message": "Safe attack simulation found no high-risk MCP attack-readiness findings.",
|
|
365
406
|
"evidence": [
|
|
366
407
|
{
|
|
@@ -419,16 +460,40 @@
|
|
|
419
460
|
"weight": 0.1,
|
|
420
461
|
"score": 100,
|
|
421
462
|
"details": [
|
|
422
|
-
"Connect:
|
|
463
|
+
"Connect: 869ms",
|
|
423
464
|
"p95 latency: 1ms (3 operations)"
|
|
424
465
|
]
|
|
425
466
|
}
|
|
426
467
|
]
|
|
427
468
|
},
|
|
428
469
|
"performanceMetrics": {
|
|
429
|
-
"connectMs":
|
|
430
|
-
"toolsListMs": 0.
|
|
431
|
-
"promptsListMs": 0.
|
|
432
|
-
"resourcesListMs": 0.
|
|
470
|
+
"connectMs": 868.9238330000007,
|
|
471
|
+
"toolsListMs": 0.9639999999999418,
|
|
472
|
+
"promptsListMs": 0.0009160000008705538,
|
|
473
|
+
"resourcesListMs": 0.4857090000004973
|
|
474
|
+
},
|
|
475
|
+
"runtimeProfile": {
|
|
476
|
+
"egress": [
|
|
477
|
+
{
|
|
478
|
+
"target": "url",
|
|
479
|
+
"protocol": "unknown",
|
|
480
|
+
"source": "tool_schema",
|
|
481
|
+
"confidence": "high"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"target": "The URL to navigate to",
|
|
485
|
+
"protocol": "unknown",
|
|
486
|
+
"source": "description_analysis",
|
|
487
|
+
"confidence": "medium"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"target": "browser_navigate",
|
|
491
|
+
"protocol": "unknown",
|
|
492
|
+
"source": "description_analysis",
|
|
493
|
+
"confidence": "low"
|
|
494
|
+
}
|
|
495
|
+
],
|
|
496
|
+
"analyzedAt": "2026-07-12T23:44:10.385Z",
|
|
497
|
+
"confidence": "high"
|
|
433
498
|
}
|
|
434
499
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-07-
|
|
3
|
+
Generated at 2026-07-12T23:44:09.514Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
@@ -25,20 +25,41 @@ Generated at 2026-07-06T19:49:54.694Z
|
|
|
25
25
|
|
|
26
26
|
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
27
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
-
| pass |
|
|
28
|
+
| pass | 9 | 7 | 0 | 1 | 1 | 0 | 0 |
|
|
29
29
|
|
|
30
30
|
## At a Glance
|
|
31
31
|
|
|
32
32
|
- Safety verdict: **Needs review** â The server is usable, but caveated checks should be reviewed before agents depend on it.
|
|
33
|
-
- Top risks:
|
|
33
|
+
- Top risks: runtime-profile: Detected 3 potential egress target(s) and 0 potential state mutation(s) with high confidence.
|
|
34
34
|
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
35
35
|
- Failing checks: none
|
|
36
|
-
- Partial or flaky checks:
|
|
36
|
+
- Partial or flaky checks: runtime-profile
|
|
37
37
|
- Skipped checks: none
|
|
38
38
|
- Unsupported checks: prompts
|
|
39
|
-
- Suggested next step:
|
|
39
|
+
- Suggested next step: Review the caveated checks next: runtime-profile.
|
|
40
40
|
- CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
|
|
41
41
|
|
|
42
|
+
## What Was Not Tested
|
|
43
|
+
|
|
44
|
+
- đ network_egress: No outbound network calls were attempted during scan
|
|
45
|
+
- đ filesystem_mutation: Filesystem write operations were not exercised
|
|
46
|
+
- âšī¸ credential_access: Credential scanning was performed (see security findings)
|
|
47
|
+
- âšī¸ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
|
|
48
|
+
|
|
49
|
+
## Runtime Profile
|
|
50
|
+
|
|
51
|
+
### Egress Manifest
|
|
52
|
+
|
|
53
|
+
The following targets were identified as potentially reachable by this server (confidence: **high**):
|
|
54
|
+
|
|
55
|
+
| Target | Protocol | Source | Confidence |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| url | unknown | tool_schema | high |
|
|
58
|
+
| The URL to navigate to | unknown | description_analysis | medium |
|
|
59
|
+
| browser_navigate | unknown | description_analysis | low |
|
|
60
|
+
|
|
61
|
+
_Analyzed at 2026-07-12T23:44:10.385Z_
|
|
62
|
+
|
|
42
63
|
## Regressions and Recoveries
|
|
43
64
|
|
|
44
65
|
_Use the `diff` command against another run artifact to classify regressions and recoveries over time._
|
|
@@ -47,13 +68,14 @@ _Use the `diff` command against another run artifact to classify regressions and
|
|
|
47
68
|
|
|
48
69
|
| Focus | Check | Status | Duration (ms) | Message |
|
|
49
70
|
| --- | --- | --- | --- | --- |
|
|
50
|
-
| healthy | attack-sim | pass | 0.
|
|
51
|
-
| healthy | conformance | pass | 1.
|
|
52
|
-
| healthy | resources | pass | 0.
|
|
53
|
-
| healthy | schema-quality | pass | 0.
|
|
54
|
-
| healthy | security | pass | 0.
|
|
71
|
+
| healthy | attack-sim | pass | 0.52 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
|
|
72
|
+
| healthy | conformance | pass | 1.64 | All 7 conformance checks passed. |
|
|
73
|
+
| healthy | resources | pass | 0.49 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
|
|
74
|
+
| healthy | schema-quality | pass | 0.44 | All 12 item(s) have good schema quality. |
|
|
75
|
+
| healthy | security | pass | 0.16 | No security issues detected. |
|
|
55
76
|
| healthy | security-lite | pass | 0.03 | No security issues detected (lightweight scan). |
|
|
56
|
-
| healthy | tools | pass | 0.
|
|
77
|
+
| healthy | tools | pass | 0.96 | Advertised capability responded with the minimal expected shape (12 items). |
|
|
78
|
+
| review | runtime-profile | partial | 0.09 | Detected 3 potential egress target(s) and 0 potential state mutation(s) with high confidence. |
|
|
57
79
|
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
58
80
|
|
|
59
81
|
## Evidence Snippets
|
|
@@ -149,6 +171,18 @@ Summary: Advertised capability responded with the minimal expected shape (12 ite
|
|
|
149
171
|
- Identifiers: browser_navigate, browser_go_back, browser_go_forward, browser_snapshot, browser_click (+7 more)
|
|
150
172
|
- Diagnostics: none
|
|
151
173
|
|
|
174
|
+
### runtime-profile â partial
|
|
175
|
+
|
|
176
|
+
Summary: Detected 3 potential egress target(s) and 0 potential state mutation(s) with high confidence.
|
|
177
|
+
|
|
178
|
+
- Endpoint: `runtime-profile/analyze`
|
|
179
|
+
- Advertised: `true`
|
|
180
|
+
- Responded: `true`
|
|
181
|
+
- Minimal shape present: `true`
|
|
182
|
+
- Item count: `3`
|
|
183
|
+
- Identifiers: none
|
|
184
|
+
- Diagnostics: Egress entries: 3, State mutations: 0, Confidence: high
|
|
185
|
+
|
|
152
186
|
### prompts â unsupported
|
|
153
187
|
|
|
154
188
|
Summary: Prompts are not advertised by the target.
|
|
@@ -172,5 +206,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
172
206
|
|
|
173
207
|
- Artifact type: `run`
|
|
174
208
|
- Schema version: `1.0.0`
|
|
175
|
-
- Run ID: `run_2026-07-
|
|
209
|
+
- Run ID: `run_2026-07-12T234409514Z_67c87a4e`
|
|
176
210
|
- Gate: `pass`
|