@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,208 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-07-12T23:44:29.948Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `postgres-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y @modelcontextprotocol/server-postgres postgres://localhost:5432/db`
|
|
10
|
+
- Server: `example-servers/postgres 0.1.0`
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 70/100 (C)**
|
|
17
|
+
|
|
18
|
+
| Dimension | Score | Weight |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| Protocol Compliance | 60/100 | 30% |
|
|
21
|
+
| Schema Quality | 60/100 | 20% |
|
|
22
|
+
| Security | 100/100 | 20% |
|
|
23
|
+
| Reliability | 50/100 | 20% |
|
|
24
|
+
| Performance | 100/100 | 10% |
|
|
25
|
+
|
|
26
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| fail | 9 | 5 | 1 | 2 | 1 | 0 | 0 |
|
|
29
|
+
|
|
30
|
+
## At a Glance
|
|
31
|
+
|
|
32
|
+
- Safety verdict: **Blocked** â One or more checks can break agent dependence and should be fixed before production use.
|
|
33
|
+
- Top risks: conformance: 5/7 conformance checks passed, 2 failed.; schema-quality: Found 2 quality finding(s) across 1 item(s): 0 warnings, 2 info.; resources: Advertised capability did not respond successfully.
|
|
34
|
+
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
35
|
+
- Failing checks: resources
|
|
36
|
+
- Partial or flaky checks: conformance, schema-quality
|
|
37
|
+
- Skipped checks: none
|
|
38
|
+
- Unsupported checks: prompts
|
|
39
|
+
- Suggested next step: Start with the failing checks: 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
|
+
- đ 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
|
+
### State Mutations
|
|
52
|
+
|
|
53
|
+
The following state-modifying operations were identified from tool schemas:
|
|
54
|
+
|
|
55
|
+
| Resource | Operation | Scope | Source |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| filesystem | write | working_directory | description_analysis |
|
|
58
|
+
|
|
59
|
+
_Analyzed at 2026-07-12T23:44:30.715Z_
|
|
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.94 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
|
|
70
|
+
| healthy | runtime-profile | pass | 0.03 | Detected 0 potential egress target(s) and 1 potential state mutation(s) with low confidence. |
|
|
71
|
+
| healthy | security | pass | 0.08 | No security issues detected. |
|
|
72
|
+
| healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
|
|
73
|
+
| healthy | tools | pass | 0.39 | Advertised capability responded with the minimal expected shape (1 item). |
|
|
74
|
+
| review | conformance | partial | 1.62 | 5/7 conformance checks passed, 2 failed. |
|
|
75
|
+
| review | schema-quality | partial | 0.70 | Found 2 quality finding(s) across 1 item(s): 0 warnings, 2 info. |
|
|
76
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
77
|
+
| act now | resources | fail | 6.44 | Advertised capability did not respond successfully. |
|
|
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
|
+
### runtime-profile â pass
|
|
94
|
+
|
|
95
|
+
Summary: Detected 0 potential egress target(s) and 1 potential state mutation(s) with low confidence.
|
|
96
|
+
|
|
97
|
+
- Endpoint: `runtime-profile/analyze`
|
|
98
|
+
- Advertised: `true`
|
|
99
|
+
- Responded: `true`
|
|
100
|
+
- Minimal shape present: `true`
|
|
101
|
+
- Item count: `1`
|
|
102
|
+
- Identifiers: none
|
|
103
|
+
- Diagnostics: Egress entries: 0, State mutations: 1, Confidence: medium
|
|
104
|
+
|
|
105
|
+
### security â pass
|
|
106
|
+
|
|
107
|
+
Summary: No security issues detected.
|
|
108
|
+
|
|
109
|
+
- Endpoint: `security/scan`
|
|
110
|
+
- Advertised: `true`
|
|
111
|
+
- Responded: `true`
|
|
112
|
+
- Minimal shape present: `true`
|
|
113
|
+
- Item count: `0`
|
|
114
|
+
- Identifiers: none
|
|
115
|
+
- Diagnostics: none
|
|
116
|
+
|
|
117
|
+
### security-lite â pass
|
|
118
|
+
|
|
119
|
+
Summary: No security issues detected (lightweight scan).
|
|
120
|
+
|
|
121
|
+
- Endpoint: `security/scan-lite`
|
|
122
|
+
- Advertised: `true`
|
|
123
|
+
- Responded: `true`
|
|
124
|
+
- Minimal shape present: `true`
|
|
125
|
+
- Item count: `0`
|
|
126
|
+
- Identifiers: none
|
|
127
|
+
- Diagnostics: none
|
|
128
|
+
|
|
129
|
+
### tools â pass
|
|
130
|
+
|
|
131
|
+
Summary: Advertised capability responded with the minimal expected shape (1 item).
|
|
132
|
+
|
|
133
|
+
- Endpoint: `tools/list`
|
|
134
|
+
- Advertised: `true`
|
|
135
|
+
- Responded: `true`
|
|
136
|
+
- Minimal shape present: `true`
|
|
137
|
+
- Item count: `1`
|
|
138
|
+
- Identifiers: query
|
|
139
|
+
- Diagnostics: none
|
|
140
|
+
|
|
141
|
+
### conformance â partial
|
|
142
|
+
|
|
143
|
+
Summary: 5/7 conformance checks passed, 2 failed.
|
|
144
|
+
|
|
145
|
+
- Endpoint: `conformance/check`
|
|
146
|
+
- Advertised: `true`
|
|
147
|
+
- Responded: `true`
|
|
148
|
+
- Minimal shape present: `false`
|
|
149
|
+
- Item count: `7`
|
|
150
|
+
- Identifiers: resources-capability-match, tool-response-content
|
|
151
|
+
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 1 tool(s). (+4 more)
|
|
152
|
+
|
|
153
|
+
### schema-quality â partial
|
|
154
|
+
|
|
155
|
+
Summary: Found 2 quality finding(s) across 1 item(s): 0 warnings, 2 info.
|
|
156
|
+
|
|
157
|
+
- Endpoint: `schema-quality/scan`
|
|
158
|
+
- Advertised: `true`
|
|
159
|
+
- Responded: `true`
|
|
160
|
+
- Minimal shape present: `true`
|
|
161
|
+
- Item count: `2`
|
|
162
|
+
- Identifiers: query
|
|
163
|
+
- Diagnostics: [info] tool "query": Has properties but no 'required' array declared, [info] tool "query": Property 'sql' missing description
|
|
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 â fail
|
|
178
|
+
|
|
179
|
+
Summary: Advertised capability did not respond successfully.
|
|
180
|
+
|
|
181
|
+
- Endpoint: `resources/list`
|
|
182
|
+
- Advertised: `true`
|
|
183
|
+
- Responded: `false`
|
|
184
|
+
- Minimal shape present: `false`
|
|
185
|
+
- Item count: `0`
|
|
186
|
+
- Identifiers: none
|
|
187
|
+
- Diagnostics: MCP error -32603:
|
|
188
|
+
- Endpoint: `resources/templates/list`
|
|
189
|
+
- Advertised: `true`
|
|
190
|
+
- Responded: `false`
|
|
191
|
+
- Minimal shape present: `false`
|
|
192
|
+
- Item count: `0`
|
|
193
|
+
- Identifiers: none
|
|
194
|
+
- Diagnostics: MCP error -32601: Method not found
|
|
195
|
+
|
|
196
|
+
## Reproduction Commands
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
200
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Artifact Provenance
|
|
204
|
+
|
|
205
|
+
- Artifact type: `run`
|
|
206
|
+
- Schema version: `1.0.0`
|
|
207
|
+
- Run ID: `run_2026-07-12T234429948Z_a99275fd`
|
|
208
|
+
- Gate: `fail`
|
|
@@ -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-12T234359279Z_f1769fb2",
|
|
6
|
+
"createdAt": "2026-07-12T23:43:59.279Z",
|
|
7
|
+
"toolVersion": "1.31.0",
|
|
8
8
|
"target": {
|
|
9
9
|
"targetId": "promptopia-server",
|
|
10
10
|
"adapter": "local-process",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"nodeVersion": "v22.22.1"
|
|
30
30
|
},
|
|
31
31
|
"summary": {
|
|
32
|
-
"total":
|
|
33
|
-
"pass":
|
|
32
|
+
"total": 9,
|
|
33
|
+
"pass": 7,
|
|
34
34
|
"fail": 0,
|
|
35
35
|
"partial": 1,
|
|
36
36
|
"unsupported": 1,
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"id": "tools",
|
|
44
44
|
"capability": "tools",
|
|
45
45
|
"status": "pass",
|
|
46
|
-
"durationMs":
|
|
46
|
+
"durationMs": 0.863416999999572,
|
|
47
47
|
"message": "Advertised capability responded with the minimal expected shape (7 items).",
|
|
48
48
|
"evidence": [
|
|
49
49
|
{
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
"id": "prompts",
|
|
268
268
|
"capability": "prompts",
|
|
269
269
|
"status": "pass",
|
|
270
|
-
"durationMs":
|
|
270
|
+
"durationMs": 0.9540829999996276,
|
|
271
271
|
"message": "Advertised capability responded with the minimal expected shape (1 item).",
|
|
272
272
|
"evidence": [
|
|
273
273
|
{
|
|
@@ -290,7 +290,7 @@
|
|
|
290
290
|
"id": "resources",
|
|
291
291
|
"capability": "resources",
|
|
292
292
|
"status": "unsupported",
|
|
293
|
-
"durationMs": 0.
|
|
293
|
+
"durationMs": 0.0020419999991645454,
|
|
294
294
|
"message": "Resources are not advertised by the target.",
|
|
295
295
|
"evidence": [
|
|
296
296
|
{
|
|
@@ -306,7 +306,7 @@
|
|
|
306
306
|
"id": "security-lite",
|
|
307
307
|
"capability": "security-lite",
|
|
308
308
|
"status": "pass",
|
|
309
|
-
"durationMs": 0.
|
|
309
|
+
"durationMs": 0.026749999999992724,
|
|
310
310
|
"message": "No security issues detected (lightweight scan).",
|
|
311
311
|
"evidence": [
|
|
312
312
|
{
|
|
@@ -318,11 +318,58 @@
|
|
|
318
318
|
}
|
|
319
319
|
]
|
|
320
320
|
},
|
|
321
|
+
{
|
|
322
|
+
"id": "runtime-profile",
|
|
323
|
+
"capability": "runtime-profile",
|
|
324
|
+
"status": "pass",
|
|
325
|
+
"durationMs": 0.08112499999970169,
|
|
326
|
+
"message": "Detected 0 potential egress target(s) and 4 potential state mutation(s) with low confidence.",
|
|
327
|
+
"evidence": [
|
|
328
|
+
{
|
|
329
|
+
"endpoint": "runtime-profile/analyze",
|
|
330
|
+
"advertised": true,
|
|
331
|
+
"responded": true,
|
|
332
|
+
"minimalShapePresent": true,
|
|
333
|
+
"itemCount": 4,
|
|
334
|
+
"diagnostics": [
|
|
335
|
+
"Egress entries: 0",
|
|
336
|
+
"State mutations: 4",
|
|
337
|
+
"Confidence: medium"
|
|
338
|
+
],
|
|
339
|
+
"findings": [
|
|
340
|
+
{
|
|
341
|
+
"resource": "filesystem",
|
|
342
|
+
"operation": "write",
|
|
343
|
+
"scope": "working_directory",
|
|
344
|
+
"source": "description_analysis"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"resource": "filesystem",
|
|
348
|
+
"operation": "write",
|
|
349
|
+
"scope": "working_directory",
|
|
350
|
+
"source": "description_analysis"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"resource": "filesystem",
|
|
354
|
+
"operation": "write",
|
|
355
|
+
"scope": "working_directory",
|
|
356
|
+
"source": "description_analysis"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"resource": "filesystem",
|
|
360
|
+
"operation": "delete",
|
|
361
|
+
"scope": "working_directory",
|
|
362
|
+
"source": "description_analysis"
|
|
363
|
+
}
|
|
364
|
+
]
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
},
|
|
321
368
|
{
|
|
322
369
|
"id": "conformance",
|
|
323
370
|
"capability": "conformance",
|
|
324
371
|
"status": "pass",
|
|
325
|
-
"durationMs": 1.
|
|
372
|
+
"durationMs": 1.5892499999999927,
|
|
326
373
|
"message": "All 7 conformance checks passed.",
|
|
327
374
|
"evidence": [
|
|
328
375
|
{
|
|
@@ -348,7 +395,7 @@
|
|
|
348
395
|
"id": "schema-quality",
|
|
349
396
|
"capability": "schema-quality",
|
|
350
397
|
"status": "partial",
|
|
351
|
-
"durationMs": 0.
|
|
398
|
+
"durationMs": 0.5412079999996422,
|
|
352
399
|
"message": "Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info.",
|
|
353
400
|
"evidence": [
|
|
354
401
|
{
|
|
@@ -378,7 +425,7 @@
|
|
|
378
425
|
"id": "security",
|
|
379
426
|
"capability": "security",
|
|
380
427
|
"status": "pass",
|
|
381
|
-
"durationMs": 0.
|
|
428
|
+
"durationMs": 0.22579200000018318,
|
|
382
429
|
"message": "No security issues detected.",
|
|
383
430
|
"evidence": [
|
|
384
431
|
{
|
|
@@ -394,7 +441,7 @@
|
|
|
394
441
|
"id": "attack-sim",
|
|
395
442
|
"capability": "attack-sim",
|
|
396
443
|
"status": "pass",
|
|
397
|
-
"durationMs": 0.
|
|
444
|
+
"durationMs": 0.6766250000000582,
|
|
398
445
|
"message": "Safe attack simulation found no high-risk MCP attack-readiness findings.",
|
|
399
446
|
"evidence": [
|
|
400
447
|
{
|
|
@@ -453,16 +500,46 @@
|
|
|
453
500
|
"weight": 0.1,
|
|
454
501
|
"score": 100,
|
|
455
502
|
"details": [
|
|
456
|
-
"Connect:
|
|
457
|
-
"p95 latency:
|
|
503
|
+
"Connect: 883ms",
|
|
504
|
+
"p95 latency: 1ms (3 operations)"
|
|
458
505
|
]
|
|
459
506
|
}
|
|
460
507
|
]
|
|
461
508
|
},
|
|
462
509
|
"performanceMetrics": {
|
|
463
|
-
"connectMs":
|
|
464
|
-
"toolsListMs":
|
|
465
|
-
"promptsListMs":
|
|
466
|
-
"resourcesListMs": 0.
|
|
510
|
+
"connectMs": 883.3150830000004,
|
|
511
|
+
"toolsListMs": 0.863416999999572,
|
|
512
|
+
"promptsListMs": 0.9540829999996276,
|
|
513
|
+
"resourcesListMs": 0.0020419999991645454
|
|
514
|
+
},
|
|
515
|
+
"runtimeProfile": {
|
|
516
|
+
"stateMutations": [
|
|
517
|
+
{
|
|
518
|
+
"resource": "filesystem",
|
|
519
|
+
"operation": "write",
|
|
520
|
+
"scope": "working_directory",
|
|
521
|
+
"source": "description_analysis"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"resource": "filesystem",
|
|
525
|
+
"operation": "write",
|
|
526
|
+
"scope": "working_directory",
|
|
527
|
+
"source": "description_analysis"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"resource": "filesystem",
|
|
531
|
+
"operation": "write",
|
|
532
|
+
"scope": "working_directory",
|
|
533
|
+
"source": "description_analysis"
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"resource": "filesystem",
|
|
537
|
+
"operation": "delete",
|
|
538
|
+
"scope": "working_directory",
|
|
539
|
+
"source": "description_analysis"
|
|
540
|
+
}
|
|
541
|
+
],
|
|
542
|
+
"analyzedAt": "2026-07-12T23:44:00.164Z",
|
|
543
|
+
"confidence": "medium"
|
|
467
544
|
}
|
|
468
545
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-07-
|
|
3
|
+
Generated at 2026-07-12T23:43:59.279Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
@@ -25,7 +25,7 @@ Generated at 2026-07-06T19:49:48.899Z
|
|
|
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
|
|
|
@@ -39,6 +39,27 @@ Generated at 2026-07-06T19:49:48.899Z
|
|
|
39
39
|
- Suggested next step: Review the caveated checks next: schema-quality.
|
|
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
|
+
- âšī¸ 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
|
+
### State Mutations
|
|
51
|
+
|
|
52
|
+
The following state-modifying operations were identified from tool schemas:
|
|
53
|
+
|
|
54
|
+
| Resource | Operation | Scope | Source |
|
|
55
|
+
| --- | --- | --- | --- |
|
|
56
|
+
| filesystem | write | working_directory | description_analysis |
|
|
57
|
+
| filesystem | write | working_directory | description_analysis |
|
|
58
|
+
| filesystem | write | working_directory | description_analysis |
|
|
59
|
+
| filesystem | delete | working_directory | description_analysis |
|
|
60
|
+
|
|
61
|
+
_Analyzed at 2026-07-12T23:44:00.164Z_
|
|
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.
|
|
71
|
+
| healthy | attack-sim | pass | 0.68 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
|
|
51
72
|
| healthy | conformance | pass | 1.59 | All 7 conformance checks passed. |
|
|
52
|
-
| healthy | prompts | pass |
|
|
53
|
-
| healthy |
|
|
54
|
-
| healthy | security
|
|
55
|
-
| healthy |
|
|
56
|
-
|
|
|
73
|
+
| healthy | prompts | pass | 0.95 | Advertised capability responded with the minimal expected shape (1 item). |
|
|
74
|
+
| healthy | runtime-profile | pass | 0.08 | Detected 0 potential egress target(s) and 4 potential state mutation(s) with low confidence. |
|
|
75
|
+
| healthy | security | pass | 0.23 | No security issues detected. |
|
|
76
|
+
| healthy | security-lite | pass | 0.03 | No security issues detected (lightweight scan). |
|
|
77
|
+
| healthy | tools | pass | 0.86 | Advertised capability responded with the minimal expected shape (7 items). |
|
|
78
|
+
| review | schema-quality | partial | 0.54 | Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info. |
|
|
57
79
|
| confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
|
|
58
80
|
|
|
59
81
|
## Evidence Snippets
|
|
@@ -94,6 +116,18 @@ Summary: Advertised capability responded with the minimal expected shape (1 item
|
|
|
94
116
|
- Identifiers: demo_welcome
|
|
95
117
|
- Diagnostics: Watching for changes in prompts directory: /Users/williamweishuhn/Documents/New project/mcp-observatory/examples/promptopia-prompts, promptopia-mcp MCP server running (v1.1.0)
|
|
96
118
|
|
|
119
|
+
### runtime-profile â pass
|
|
120
|
+
|
|
121
|
+
Summary: Detected 0 potential egress target(s) and 4 potential state mutation(s) with low confidence.
|
|
122
|
+
|
|
123
|
+
- Endpoint: `runtime-profile/analyze`
|
|
124
|
+
- Advertised: `true`
|
|
125
|
+
- Responded: `true`
|
|
126
|
+
- Minimal shape present: `true`
|
|
127
|
+
- Item count: `4`
|
|
128
|
+
- Identifiers: none
|
|
129
|
+
- Diagnostics: Egress entries: 0, State mutations: 4, Confidence: medium
|
|
130
|
+
|
|
97
131
|
### security â pass
|
|
98
132
|
|
|
99
133
|
Summary: No security issues detected.
|
|
@@ -165,5 +199,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
165
199
|
|
|
166
200
|
- Artifact type: `run`
|
|
167
201
|
- Schema version: `1.0.0`
|
|
168
|
-
- Run ID: `run_2026-07-
|
|
202
|
+
- Run ID: `run_2026-07-12T234359279Z_f1769fb2`
|
|
169
203
|
- Gate: `pass`
|