@kryptosai/mcp-observatory 1.28.2 → 1.29.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/CONTRIBUTORS.md +4 -1
- package/README.md +45 -9
- package/README.zh-CN.md +591 -0
- package/dist/src/adapters/http.js +13 -4
- package/dist/src/adapters/http.js.map +1 -1
- package/dist/src/checks/security.js +33 -65
- package/dist/src/checks/security.js.map +1 -1
- package/dist/src/cli.js +9 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/helpers.d.ts +2 -1
- package/dist/src/commands/helpers.js +9 -1
- package/dist/src/commands/helpers.js.map +1 -1
- package/dist/src/commands/legacy.js +3 -0
- package/dist/src/commands/legacy.js.map +1 -1
- package/dist/src/commands/risk-graph.d.ts +2 -0
- package/dist/src/commands/risk-graph.js +64 -0
- package/dist/src/commands/risk-graph.js.map +1 -0
- package/dist/src/commands/score.js.map +1 -1
- package/dist/src/commands/watch.js +13 -8
- package/dist/src/commands/watch.js.map +1 -1
- package/dist/src/discovery.js +32 -26
- package/dist/src/discovery.js.map +1 -1
- package/dist/src/reporters/terminal.js +2 -1
- package/dist/src/reporters/terminal.js.map +1 -1
- package/dist/src/risk-graph.d.ts +64 -0
- package/dist/src/risk-graph.js +452 -0
- package/dist/src/risk-graph.js.map +1 -0
- package/dist/src/server.d.ts +1 -3
- package/dist/src/server.js +29 -645
- package/dist/src/server.js.map +1 -1
- package/dist/src/storage.js +13 -9
- package/dist/src/storage.js.map +1 -1
- package/dist/src/telemetry.d.ts +7 -0
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/tools/check-server.d.ts +27 -0
- package/dist/src/tools/check-server.js +46 -0
- package/dist/src/tools/check-server.js.map +1 -0
- package/dist/src/tools/ci-report.d.ts +21 -0
- package/dist/src/tools/ci-report.js +38 -0
- package/dist/src/tools/ci-report.js.map +1 -0
- package/dist/src/tools/diff-runs.d.ts +28 -0
- package/dist/src/tools/diff-runs.js +39 -0
- package/dist/src/tools/diff-runs.js.map +1 -0
- package/dist/src/tools/get-history.d.ts +21 -0
- package/dist/src/tools/get-history.js +37 -0
- package/dist/src/tools/get-history.js.map +1 -0
- package/dist/src/tools/get-last-run.d.ts +21 -0
- package/dist/src/tools/get-last-run.js +47 -0
- package/dist/src/tools/get-last-run.js.map +1 -0
- package/dist/src/tools/helpers.d.ts +8 -0
- package/dist/src/tools/helpers.js +32 -0
- package/dist/src/tools/helpers.js.map +1 -0
- package/dist/src/tools/lock-verify.d.ts +21 -0
- package/dist/src/tools/lock-verify.js +47 -0
- package/dist/src/tools/lock-verify.js.map +1 -0
- package/dist/src/tools/record.d.ts +23 -0
- package/dist/src/tools/record.js +48 -0
- package/dist/src/tools/record.js.map +1 -0
- package/dist/src/tools/replay.d.ts +21 -0
- package/dist/src/tools/replay.js +54 -0
- package/dist/src/tools/replay.js.map +1 -0
- package/dist/src/tools/scan.d.ts +18 -0
- package/dist/src/tools/scan.js +43 -0
- package/dist/src/tools/scan.js.map +1 -0
- package/dist/src/tools/score-server.d.ts +23 -0
- package/dist/src/tools/score-server.js +53 -0
- package/dist/src/tools/score-server.js.map +1 -0
- package/dist/src/tools/suggest-servers.d.ts +21 -0
- package/dist/src/tools/suggest-servers.js +114 -0
- package/dist/src/tools/suggest-servers.js.map +1 -0
- package/dist/src/tools/verify-tool.d.ts +25 -0
- package/dist/src/tools/verify-tool.js +48 -0
- package/dist/src/tools/verify-tool.js.map +1 -0
- package/dist/src/tools/watch.d.ts +23 -0
- package/dist/src/tools/watch.js +67 -0
- package/dist/src/tools/watch.js.map +1 -0
- package/dist/src/utils/security.d.ts +3 -0
- package/dist/src/utils/security.js +37 -0
- package/dist/src/utils/security.js.map +1 -0
- package/dist/src/validate.d.ts +1 -0
- package/dist/src/validate.js +119 -35
- package/dist/src/validate.js.map +1 -1
- package/docs/agent-tasks.md +1 -1
- package/docs/commercial-boundary.md +9 -1
- package/docs/contributor-recognition.md +2 -0
- package/docs/demo.svg +1 -59
- package/docs/mcp-receipts.md +9 -0
- package/docs/mcp-server-safety-index.md +19 -16
- package/docs/metrics-dashboard.md +17 -1
- package/docs/private-mcp-fleet-risk-graph.md +69 -0
- package/docs/receipt-graph.md +118 -31
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +1745 -0
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +169 -0
- package/docs/safety-index/artifacts/filesystem-mcp-server.json +786 -0
- package/docs/safety-index/artifacts/filesystem-mcp-server.md +169 -0
- package/docs/safety-index/mcp-risk-graph.html +167 -0
- package/docs/safety-index/mcp-risk-graph.json +669 -0
- package/docs/safety-index/mcp-risk-graph.md +47 -0
- package/docs/safety-index/targets.json +40 -0
- package/docs/sample-private-fleet-risk-graph.md +90 -0
- package/package.json +21 -11
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-07-07T03:17:28.113Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `chrome-devtools-mcp-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y chrome-devtools-mcp`
|
|
10
|
+
- Server: `chrome_devtools 1.5.0`
|
|
11
|
+
- Platform: `darwin 24.0.0`
|
|
12
|
+
- Node: `v25.8.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 69/100 (D)**
|
|
17
|
+
|
|
18
|
+
| Dimension | Score | Weight |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| Protocol Compliance | 100/100 | 30% |
|
|
21
|
+
| Schema Quality | 60/100 | 20% |
|
|
22
|
+
| Security | 20/100 | 20% |
|
|
23
|
+
| Reliability | 67/100 | 20% |
|
|
24
|
+
| Performance | 100/100 | 10% |
|
|
25
|
+
|
|
26
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| fail | 8 | 2 | 2 | 2 | 2 | 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: attack-sim: Safe attack simulation found 9 finding(s): 0 high, 9 medium, 0 low.; schema-quality: Found 10 quality finding(s) across 29 item(s): 0 warnings, 10 info.; security: Found 30 security finding(s): 1 high, 7 medium, 22 low.
|
|
34
|
+
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
35
|
+
- Failing checks: security-lite, security
|
|
36
|
+
- Partial or flaky checks: schema-quality, attack-sim
|
|
37
|
+
- Skipped checks: none
|
|
38
|
+
- Unsupported checks: prompts, resources
|
|
39
|
+
- Suggested next step: Start with the failing checks: security-lite, security.
|
|
40
|
+
- CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
|
|
41
|
+
|
|
42
|
+
## Regressions and Recoveries
|
|
43
|
+
|
|
44
|
+
_Use the `diff` command against another run artifact to classify regressions and recoveries over time._
|
|
45
|
+
|
|
46
|
+
## Full Capability Status Table
|
|
47
|
+
|
|
48
|
+
| Focus | Check | Status | Duration (ms) | Message |
|
|
49
|
+
| --- | --- | --- | --- | --- |
|
|
50
|
+
| healthy | conformance | pass | 961.11 | All 7 conformance checks passed. |
|
|
51
|
+
| healthy | tools | pass | 4.25 | Advertised capability responded with the minimal expected shape (29 items). |
|
|
52
|
+
| review | attack-sim | partial | 1.11 | Safe attack simulation found 9 finding(s): 0 high, 9 medium, 0 low. |
|
|
53
|
+
| review | schema-quality | partial | 0.91 | Found 10 quality finding(s) across 29 item(s): 0 warnings, 10 info. |
|
|
54
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
55
|
+
| confirm intent | resources | unsupported | 0.01 | Resources are not advertised by the target. |
|
|
56
|
+
| act now | security | fail | 0.75 | Found 30 security finding(s): 1 high, 7 medium, 22 low. |
|
|
57
|
+
| act now | security-lite | fail | 0.13 | Found 30 security finding(s): 1 high, 7 medium, 22 low. |
|
|
58
|
+
|
|
59
|
+
## Evidence Snippets
|
|
60
|
+
|
|
61
|
+
### conformance — pass
|
|
62
|
+
|
|
63
|
+
Summary: All 7 conformance checks passed.
|
|
64
|
+
|
|
65
|
+
- Endpoint: `conformance/check`
|
|
66
|
+
- Advertised: `true`
|
|
67
|
+
- Responded: `true`
|
|
68
|
+
- Minimal shape present: `true`
|
|
69
|
+
- Item count: `7`
|
|
70
|
+
- Identifiers: none
|
|
71
|
+
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 29 tool(s). (+4 more)
|
|
72
|
+
|
|
73
|
+
### tools — pass
|
|
74
|
+
|
|
75
|
+
Summary: Advertised capability responded with the minimal expected shape (29 items).
|
|
76
|
+
|
|
77
|
+
- Endpoint: `tools/list`
|
|
78
|
+
- Advertised: `true`
|
|
79
|
+
- Responded: `true`
|
|
80
|
+
- Minimal shape present: `true`
|
|
81
|
+
- Item count: `29`
|
|
82
|
+
- Identifiers: click, close_page, drag, emulate, evaluate_script (+24 more)
|
|
83
|
+
- Diagnostics: debug, and modify any data in the browser or DevTools., Avoid sharing sensitive or personal information that you do not want to share with MCP clients., Performance tools may send trace URLs to the Google CrUX API to fetch real-user experience data. To disable, run with --no-performance-crux. (+2 more)
|
|
84
|
+
|
|
85
|
+
### attack-sim — partial
|
|
86
|
+
|
|
87
|
+
Summary: Safe attack simulation found 9 finding(s): 0 high, 9 medium, 0 low.
|
|
88
|
+
|
|
89
|
+
- Endpoint: `attack-sim/safe`
|
|
90
|
+
- Advertised: `true`
|
|
91
|
+
- Responded: `true`
|
|
92
|
+
- Minimal shape present: `true`
|
|
93
|
+
- Item count: `9`
|
|
94
|
+
- Identifiers: evaluate_script, navigate_page, new_page, performance_start_trace, performance_stop_trace (+4 more)
|
|
95
|
+
- Diagnostics: [medium] Tool "evaluate_script" combines broad parameters (filePath) with destructive or non-read-only behavior., [medium] Tool "navigate_page" combines broad parameters (url) with destructive or non-read-only behavior., [medium] Tool "new_page" combines broad parameters (url) with destructive or non-read-only behavior. (+6 more)
|
|
96
|
+
|
|
97
|
+
### schema-quality — partial
|
|
98
|
+
|
|
99
|
+
Summary: Found 10 quality finding(s) across 29 item(s): 0 warnings, 10 info.
|
|
100
|
+
|
|
101
|
+
- Endpoint: `schema-quality/scan`
|
|
102
|
+
- Advertised: `true`
|
|
103
|
+
- Responded: `true`
|
|
104
|
+
- Minimal shape present: `true`
|
|
105
|
+
- Item count: `10`
|
|
106
|
+
- Identifiers: emulate, get_network_request, lighthouse_audit, list_console_messages, list_network_requests (+5 more)
|
|
107
|
+
- Diagnostics: [info] tool "emulate": Has properties but no 'required' array declared, [info] tool "get_network_request": Has properties but no 'required' array declared, [info] tool "lighthouse_audit": Has properties but no 'required' array declared (+7 more)
|
|
108
|
+
|
|
109
|
+
### prompts — unsupported
|
|
110
|
+
|
|
111
|
+
Summary: Prompts are not advertised by the target.
|
|
112
|
+
|
|
113
|
+
- Endpoint: `prompts/list`
|
|
114
|
+
- Advertised: `false`
|
|
115
|
+
- Responded: `false`
|
|
116
|
+
- Minimal shape present: `false`
|
|
117
|
+
- Item count: `0`
|
|
118
|
+
- Identifiers: none
|
|
119
|
+
- Diagnostics: none
|
|
120
|
+
|
|
121
|
+
### resources — unsupported
|
|
122
|
+
|
|
123
|
+
Summary: Resources are not advertised by the target.
|
|
124
|
+
|
|
125
|
+
- Endpoint: `resources/list | resources/templates/list`
|
|
126
|
+
- Advertised: `false`
|
|
127
|
+
- Responded: `false`
|
|
128
|
+
- Minimal shape present: `false`
|
|
129
|
+
- Item count: `0`
|
|
130
|
+
- Identifiers: none
|
|
131
|
+
- Diagnostics: none
|
|
132
|
+
|
|
133
|
+
### security — fail
|
|
134
|
+
|
|
135
|
+
Summary: Found 30 security finding(s): 1 high, 7 medium, 22 low.
|
|
136
|
+
|
|
137
|
+
- Endpoint: `security/scan`
|
|
138
|
+
- Advertised: `true`
|
|
139
|
+
- Responded: `true`
|
|
140
|
+
- Minimal shape present: `true`
|
|
141
|
+
- Item count: `30`
|
|
142
|
+
- Identifiers: click, close_page, drag, emulate, evaluate_script (+17 more)
|
|
143
|
+
- Diagnostics: [low] Tool "click" accepts additional properties and is marked as destructive., [low] Tool "close_page" accepts additional properties and is marked as destructive., [low] Tool "drag" accepts additional properties and is marked as destructive. (+27 more)
|
|
144
|
+
|
|
145
|
+
### security-lite — fail
|
|
146
|
+
|
|
147
|
+
Summary: Found 30 security finding(s): 1 high, 7 medium, 22 low.
|
|
148
|
+
|
|
149
|
+
- Endpoint: `security/scan-lite`
|
|
150
|
+
- Advertised: `true`
|
|
151
|
+
- Responded: `true`
|
|
152
|
+
- Minimal shape present: `true`
|
|
153
|
+
- Item count: `30`
|
|
154
|
+
- Identifiers: click, close_page, drag, emulate, evaluate_script (+17 more)
|
|
155
|
+
- Diagnostics: [low] Tool "click" accepts additional properties and is marked as destructive., [low] Tool "close_page" accepts additional properties and is marked as destructive., [low] Tool "drag" accepts additional properties and is marked as destructive. (+27 more)
|
|
156
|
+
|
|
157
|
+
## Reproduction Commands
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
161
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Artifact Provenance
|
|
165
|
+
|
|
166
|
+
- Artifact type: `run`
|
|
167
|
+
- Schema version: `1.0.0`
|
|
168
|
+
- Run ID: `run_2026-07-07T031728113Z_b22904e8`
|
|
169
|
+
- Gate: `fail`
|