@kryptosai/mcp-observatory 0.26.1 → 0.28.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/COMMERCIAL.md +13 -9
- package/CONTRIBUTORS.md +39 -0
- package/PRIVACY.md +5 -5
- package/README.md +83 -30
- package/TERMS.md +1 -1
- package/dist/src/adapters/http.js +1 -5
- package/dist/src/adapters/http.js.map +1 -1
- package/dist/src/cassette.js +3 -2
- package/dist/src/cassette.js.map +1 -1
- package/dist/src/checks/attack-sim.d.ts +18 -0
- package/dist/src/checks/attack-sim.js +304 -0
- package/dist/src/checks/attack-sim.js.map +1 -0
- package/dist/src/checks/schema-quality.js +1 -0
- package/dist/src/checks/schema-quality.js.map +1 -1
- package/dist/src/ci-issue.js +4 -3
- package/dist/src/ci-issue.js.map +1 -1
- package/dist/src/cli.js +17 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/attack-sim.d.ts +2 -0
- package/dist/src/commands/attack-sim.js +168 -0
- package/dist/src/commands/attack-sim.js.map +1 -0
- package/dist/src/commands/helpers.d.ts +3 -1
- package/dist/src/commands/helpers.js +2 -2
- package/dist/src/commands/helpers.js.map +1 -1
- package/dist/src/commands/init-ci.d.ts +3 -0
- package/dist/src/commands/init-ci.js +57 -11
- package/dist/src/commands/init-ci.js.map +1 -1
- package/dist/src/commands/legacy.js +24 -3
- package/dist/src/commands/legacy.js.map +1 -1
- package/dist/src/commands/scan.js +37 -10
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/serve.js +9 -1
- package/dist/src/commands/serve.js.map +1 -1
- package/dist/src/commands/setup-ci-conversion.d.ts +26 -0
- package/dist/src/commands/setup-ci-conversion.js +120 -0
- package/dist/src/commands/setup-ci-conversion.js.map +1 -0
- package/dist/src/commands/telemetry.js +20 -14
- package/dist/src/commands/telemetry.js.map +1 -1
- package/dist/src/commands/test.js +63 -4
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/findings.d.ts +20 -0
- package/dist/src/findings.js +272 -0
- package/dist/src/findings.js.map +1 -0
- package/dist/src/history.js +3 -2
- package/dist/src/history.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/integrations/smithery.js +5 -1
- package/dist/src/integrations/smithery.js.map +1 -1
- package/dist/src/reporters/attack-sim.d.ts +2 -0
- package/dist/src/reporters/attack-sim.js +84 -0
- package/dist/src/reporters/attack-sim.js.map +1 -0
- package/dist/src/reporters/pr-comment.js +20 -6
- package/dist/src/reporters/pr-comment.js.map +1 -1
- package/dist/src/reporters/sarif.d.ts +4 -1
- package/dist/src/reporters/sarif.js +58 -37
- package/dist/src/reporters/sarif.js.map +1 -1
- package/dist/src/runner.d.ts +3 -0
- package/dist/src/runner.js +5 -0
- package/dist/src/runner.js.map +1 -1
- package/dist/src/score.js +1 -1
- package/dist/src/score.js.map +1 -1
- package/dist/src/storage.d.ts +1 -0
- package/dist/src/storage.js +28 -2
- package/dist/src/storage.js.map +1 -1
- package/dist/src/telemetry.d.ts +6 -0
- package/dist/src/telemetry.js +17 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/utils/files.d.ts +1 -0
- package/dist/src/utils/files.js +21 -0
- package/dist/src/utils/files.js.map +1 -0
- package/dist/src/utils/ids.js +18 -5
- package/dist/src/utils/ids.js.map +1 -1
- package/dist/src/utils/url.d.ts +2 -0
- package/dist/src/utils/url.js +15 -0
- package/dist/src/utils/url.js.map +1 -0
- package/dist/src/validate.js +1 -1
- package/dist/src/validate.js.map +1 -1
- package/docs/agent-ecosystem-promotion-plan.md +244 -0
- package/docs/agent-runtime-quickstart.md +98 -0
- package/docs/agent-tasks.md +95 -0
- package/docs/automatic-ci-integration.md +33 -0
- package/docs/campaign-attribution.md +58 -0
- package/docs/code-scanning-demo.md +57 -0
- package/docs/code-scanning-launch-outreach.md +55 -0
- package/docs/contributor-proof-cards/README.md +33 -0
- package/docs/contributor-recognition.md +92 -0
- package/docs/feishu-lark-mcp.md +3 -3
- package/docs/github-code-scanning-for-mcp.md +94 -0
- package/docs/launch.md +64 -0
- package/docs/mcp-attack-simulator.md +57 -0
- package/docs/mcp-server-safety-index.md +18 -12
- package/docs/metrics-dashboard.md +2 -2
- package/docs/openclaw-agent-template/SOUL.md +156 -0
- package/docs/proof.md +7 -4
- package/docs/receipt-graph.md +54 -0
- package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
- package/docs/safety-index/artifacts/antv-chart-server.md +10 -10
- package/docs/safety-index/artifacts/browsermcp-server.json +17 -17
- package/docs/safety-index/artifacts/browsermcp-server.md +10 -10
- package/docs/safety-index/artifacts/context7-server.json +17 -17
- package/docs/safety-index/artifacts/context7-server.md +10 -10
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +2014 -0
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +163 -0
- package/docs/safety-index/artifacts/everything-server.json +131 -56
- package/docs/safety-index/artifacts/everything-server.md +24 -24
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +26 -18
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +10 -10
- package/docs/safety-index/artifacts/filesystem-server.json +128 -20
- package/docs/safety-index/artifacts/filesystem-server.md +10 -10
- package/docs/safety-index/artifacts/kubernetes-server.attack.json +1559 -0
- package/docs/safety-index/artifacts/kubernetes-server.attack.md +43 -0
- package/docs/safety-index/artifacts/kubernetes-server.attack.sarif +2857 -0
- package/docs/safety-index/artifacts/kubernetes-server.json +1348 -0
- package/docs/safety-index/artifacts/kubernetes-server.md +150 -0
- package/docs/safety-index/artifacts/memory-server.json +75 -32
- package/docs/safety-index/artifacts/memory-server.md +35 -28
- package/docs/safety-index/artifacts/opentofu-server.json +25 -17
- package/docs/safety-index/artifacts/opentofu-server.md +11 -11
- package/docs/safety-index/artifacts/playwright-mcp-server.json +56 -20
- package/docs/safety-index/artifacts/playwright-mcp-server.md +12 -12
- package/docs/safety-index/artifacts/promptopia-server.json +28 -20
- package/docs/safety-index/artifacts/promptopia-server.md +11 -11
- package/docs/safety-index/artifacts/puppeteer-server.json +42 -30
- package/docs/safety-index/artifacts/puppeteer-server.md +28 -28
- package/docs/safety-index/artifacts/ref-tools-server.json +17 -17
- package/docs/safety-index/artifacts/ref-tools-server.md +9 -9
- package/docs/safety-index/artifacts/sequential-thinking-server.json +20 -21
- package/docs/safety-index/artifacts/sequential-thinking-server.md +10 -10
- package/docs/safety-index/targets.json +90 -14
- package/docs/setup-ci-doctor.md +2 -0
- package/docs/target-contribution-guide.md +139 -0
- package/docs/target-gallery.md +49 -0
- package/docs/target-registry.md +120 -0
- package/docs/tool-call-receipts.md +116 -0
- package/package.json +52 -9
- package/schemas/run-artifact.schema.json +1 -0
- package/scripts/postinstall.mjs +123 -0
- package/docs/certification-campaign-template.md +0 -181
- package/docs/certification-distribution.md +0 -145
- package/docs/certification-pr-campaign.md +0 -68
- package/docs/clone-to-ci-campaign.md +0 -62
- package/docs/directory-listing-copy.md +0 -85
- package/docs/distribution-launch.md +0 -76
- package/docs/ecosystem-distribution-kit.md +0 -79
- package/docs/enterprise-outreach-playbook.md +0 -83
- package/docs/paid-pilot-offer.md +0 -74
- package/docs/project-case-study.md +0 -140
- package/docs/public-post-drafts.md +0 -98
- package/docs/publish-readiness.md +0 -79
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-
|
|
3
|
+
Generated at 2026-07-06T01:47:01.216Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
@@ -8,16 +8,16 @@ Generated at 2026-06-24T02:07:30.285Z
|
|
|
8
8
|
- Adapter: `local-process`
|
|
9
9
|
- Command: `npx -y puppeteer-mcp-server`
|
|
10
10
|
- Server: `example-servers/puppeteer 0.1.0`
|
|
11
|
-
- Platform: `darwin
|
|
12
|
-
- Node: `
|
|
11
|
+
- Platform: `darwin 24.0.0`
|
|
12
|
+
- Node: `v25.8.1`
|
|
13
13
|
|
|
14
14
|
## Executive Summary
|
|
15
15
|
|
|
16
|
-
**Health Score:
|
|
16
|
+
**Health Score: 89/100 (B)**
|
|
17
17
|
|
|
18
18
|
| Dimension | Score | Weight |
|
|
19
19
|
| --- | --- | --- |
|
|
20
|
-
| Protocol Compliance |
|
|
20
|
+
| Protocol Compliance | 100/100 | 30% |
|
|
21
21
|
| Schema Quality | 60/100 | 20% |
|
|
22
22
|
| Security | 100/100 | 20% |
|
|
23
23
|
| Reliability | 83/100 | 20% |
|
|
@@ -25,18 +25,18 @@ Generated at 2026-06-24T02:07:30.285Z
|
|
|
25
25
|
|
|
26
26
|
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
27
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
-
| pass | 7 |
|
|
28
|
+
| pass | 7 | 5 | 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: schema-quality: Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.
|
|
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: schema-quality
|
|
37
37
|
- Skipped checks: none
|
|
38
38
|
- Unsupported checks: prompts
|
|
39
|
-
- Suggested next step: Review the caveated checks next:
|
|
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
42
|
## Regressions and Recoveries
|
|
@@ -47,16 +47,28 @@ _Use the `diff` command against another run artifact to classify regressions and
|
|
|
47
47
|
|
|
48
48
|
| Focus | Check | Status | Duration (ms) | Message |
|
|
49
49
|
| --- | --- | --- | --- | --- |
|
|
50
|
-
| healthy |
|
|
51
|
-
| healthy |
|
|
52
|
-
| healthy | security
|
|
53
|
-
| healthy |
|
|
54
|
-
|
|
|
55
|
-
| review | schema-quality | partial | 0.
|
|
50
|
+
| healthy | conformance | pass | 571.27 | All 7 conformance checks passed. |
|
|
51
|
+
| healthy | resources | pass | 0.53 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
|
|
52
|
+
| healthy | security | pass | 0.22 | No security issues detected. |
|
|
53
|
+
| healthy | security-lite | pass | 0.05 | No security issues detected (lightweight scan). |
|
|
54
|
+
| healthy | tools | pass | 0.57 | Advertised capability responded with the minimal expected shape (8 items). |
|
|
55
|
+
| review | schema-quality | partial | 0.50 | Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info. |
|
|
56
56
|
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
57
57
|
|
|
58
58
|
## Evidence Snippets
|
|
59
59
|
|
|
60
|
+
### conformance — pass
|
|
61
|
+
|
|
62
|
+
Summary: All 7 conformance checks passed.
|
|
63
|
+
|
|
64
|
+
- Endpoint: `conformance/check`
|
|
65
|
+
- Advertised: `true`
|
|
66
|
+
- Responded: `true`
|
|
67
|
+
- Minimal shape present: `true`
|
|
68
|
+
- Item count: `7`
|
|
69
|
+
- Identifiers: none
|
|
70
|
+
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 8 tool(s). (+4 more)
|
|
71
|
+
|
|
60
72
|
### resources — pass
|
|
61
73
|
|
|
62
74
|
Summary: Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.
|
|
@@ -112,18 +124,6 @@ Summary: Advertised capability responded with the minimal expected shape (8 item
|
|
|
112
124
|
- Identifiers: puppeteer_connect_active_tab, puppeteer_navigate, puppeteer_screenshot, puppeteer_click, puppeteer_fill (+3 more)
|
|
113
125
|
- Diagnostics: none
|
|
114
126
|
|
|
115
|
-
### conformance — partial
|
|
116
|
-
|
|
117
|
-
Summary: 6/7 conformance checks passed, 1 failed.
|
|
118
|
-
|
|
119
|
-
- Endpoint: `conformance/check`
|
|
120
|
-
- Advertised: `true`
|
|
121
|
-
- Responded: `true`
|
|
122
|
-
- Minimal shape present: `false`
|
|
123
|
-
- Item count: `7`
|
|
124
|
-
- Identifiers: tool-response-content
|
|
125
|
-
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 8 tool(s). (+4 more)
|
|
126
|
-
|
|
127
127
|
### schema-quality — partial
|
|
128
128
|
|
|
129
129
|
Summary: Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.
|
|
@@ -159,5 +159,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
159
159
|
|
|
160
160
|
- Artifact type: `run`
|
|
161
161
|
- Schema version: `1.0.0`
|
|
162
|
-
- Run ID: `run_2026-
|
|
162
|
+
- Run ID: `run_2026-07-06T014701216Z_1c0434b0`
|
|
163
163
|
- Gate: `pass`
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"artifactType": "run",
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"gate": "pass",
|
|
5
|
-
"runId": "run_2026-
|
|
6
|
-
"createdAt": "2026-
|
|
7
|
-
"toolVersion": "0.
|
|
5
|
+
"runId": "run_2026-07-06T014658081Z_d215bf43",
|
|
6
|
+
"createdAt": "2026-07-06T01:46:58.081Z",
|
|
7
|
+
"toolVersion": "0.26.1",
|
|
8
8
|
"target": {
|
|
9
9
|
"targetId": "ref-tools-server",
|
|
10
10
|
"adapter": "local-process",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"serverVersion": "3.0.3"
|
|
26
26
|
},
|
|
27
27
|
"environment": {
|
|
28
|
-
"platform": "darwin
|
|
29
|
-
"nodeVersion": "
|
|
28
|
+
"platform": "darwin 24.0.0",
|
|
29
|
+
"nodeVersion": "v25.8.1"
|
|
30
30
|
},
|
|
31
31
|
"summary": {
|
|
32
32
|
"total": 7,
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"id": "tools",
|
|
44
44
|
"capability": "tools",
|
|
45
45
|
"status": "pass",
|
|
46
|
-
"durationMs": 0.
|
|
46
|
+
"durationMs": 0.7155000000002474,
|
|
47
47
|
"message": "Advertised capability responded with the minimal expected shape (2 items).",
|
|
48
48
|
"evidence": [
|
|
49
49
|
{
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"id": "prompts",
|
|
93
93
|
"capability": "prompts",
|
|
94
94
|
"status": "pass",
|
|
95
|
-
"durationMs": 0.
|
|
95
|
+
"durationMs": 0.22549999999955617,
|
|
96
96
|
"message": "Advertised capability responded with the minimal expected shape (2 items).",
|
|
97
97
|
"evidence": [
|
|
98
98
|
{
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"id": "resources",
|
|
116
116
|
"capability": "resources",
|
|
117
117
|
"status": "unsupported",
|
|
118
|
-
"durationMs": 0.
|
|
118
|
+
"durationMs": 0.0021660000002157176,
|
|
119
119
|
"message": "Resources are not advertised by the target.",
|
|
120
120
|
"evidence": [
|
|
121
121
|
{
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"id": "security-lite",
|
|
132
132
|
"capability": "security-lite",
|
|
133
133
|
"status": "pass",
|
|
134
|
-
"durationMs": 0.
|
|
134
|
+
"durationMs": 0.01762499999949796,
|
|
135
135
|
"message": "No security issues detected (lightweight scan).",
|
|
136
136
|
"evidence": [
|
|
137
137
|
{
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"id": "conformance",
|
|
148
148
|
"capability": "conformance",
|
|
149
149
|
"status": "pass",
|
|
150
|
-
"durationMs": 0.
|
|
150
|
+
"durationMs": 0.5051670000002559,
|
|
151
151
|
"message": "All 7 conformance checks passed.",
|
|
152
152
|
"evidence": [
|
|
153
153
|
{
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"id": "schema-quality",
|
|
174
174
|
"capability": "schema-quality",
|
|
175
175
|
"status": "pass",
|
|
176
|
-
"durationMs": 0.
|
|
176
|
+
"durationMs": 0.40233400000033726,
|
|
177
177
|
"message": "All 4 item(s) have good schema quality.",
|
|
178
178
|
"evidence": [
|
|
179
179
|
{
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
"id": "security",
|
|
191
191
|
"capability": "security",
|
|
192
192
|
"status": "pass",
|
|
193
|
-
"durationMs": 0.
|
|
193
|
+
"durationMs": 0.16862500000024738,
|
|
194
194
|
"message": "No security issues detected.",
|
|
195
195
|
"evidence": [
|
|
196
196
|
{
|
|
@@ -247,16 +247,16 @@
|
|
|
247
247
|
"weight": 0.1,
|
|
248
248
|
"score": 100,
|
|
249
249
|
"details": [
|
|
250
|
-
"Connect:
|
|
250
|
+
"Connect: 652ms",
|
|
251
251
|
"p95 latency: 1ms (3 operations)"
|
|
252
252
|
]
|
|
253
253
|
}
|
|
254
254
|
]
|
|
255
255
|
},
|
|
256
256
|
"performanceMetrics": {
|
|
257
|
-
"connectMs":
|
|
258
|
-
"toolsListMs": 0.
|
|
259
|
-
"promptsListMs": 0.
|
|
260
|
-
"resourcesListMs": 0.
|
|
257
|
+
"connectMs": 652.1516670000001,
|
|
258
|
+
"toolsListMs": 0.7155000000002474,
|
|
259
|
+
"promptsListMs": 0.22549999999955617,
|
|
260
|
+
"resourcesListMs": 0.0021660000002157176
|
|
261
261
|
}
|
|
262
262
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-
|
|
3
|
+
Generated at 2026-07-06T01:46:58.081Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
@@ -8,8 +8,8 @@ Generated at 2026-06-24T02:07:28.542Z
|
|
|
8
8
|
- Adapter: `local-process`
|
|
9
9
|
- Command: `npx -y ref-tools-mcp`
|
|
10
10
|
- Server: `Ref 3.0.3`
|
|
11
|
-
- Platform: `darwin
|
|
12
|
-
- Node: `
|
|
11
|
+
- Platform: `darwin 24.0.0`
|
|
12
|
+
- Node: `v25.8.1`
|
|
13
13
|
|
|
14
14
|
## Executive Summary
|
|
15
15
|
|
|
@@ -47,12 +47,12 @@ _Use the `diff` command against another run artifact to classify regressions and
|
|
|
47
47
|
|
|
48
48
|
| Focus | Check | Status | Duration (ms) | Message |
|
|
49
49
|
| --- | --- | --- | --- | --- |
|
|
50
|
-
| healthy | conformance | pass | 0.
|
|
51
|
-
| healthy | prompts | pass | 0.
|
|
52
|
-
| healthy | schema-quality | pass | 0.
|
|
53
|
-
| healthy | security | pass | 0.
|
|
50
|
+
| healthy | conformance | pass | 0.51 | All 7 conformance checks passed. |
|
|
51
|
+
| healthy | prompts | pass | 0.23 | Advertised capability responded with the minimal expected shape (2 items). |
|
|
52
|
+
| healthy | schema-quality | pass | 0.40 | All 4 item(s) have good schema quality. |
|
|
53
|
+
| healthy | security | pass | 0.17 | No security issues detected. |
|
|
54
54
|
| healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
|
|
55
|
-
| healthy | tools | pass | 0.
|
|
55
|
+
| healthy | tools | pass | 0.72 | Advertised capability responded with the minimal expected shape (2 items). |
|
|
56
56
|
| confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
|
|
57
57
|
|
|
58
58
|
## Evidence Snippets
|
|
@@ -152,5 +152,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
152
152
|
|
|
153
153
|
- Artifact type: `run`
|
|
154
154
|
- Schema version: `1.0.0`
|
|
155
|
-
- Run ID: `run_2026-
|
|
155
|
+
- Run ID: `run_2026-07-06T014658081Z_d215bf43`
|
|
156
156
|
- Gate: `pass`
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"artifactType": "run",
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"gate": "pass",
|
|
5
|
-
"runId": "run_2026-
|
|
6
|
-
"createdAt": "2026-
|
|
7
|
-
"toolVersion": "0.
|
|
5
|
+
"runId": "run_2026-07-06T014652165Z_55bd9c96",
|
|
6
|
+
"createdAt": "2026-07-06T01:46:52.165Z",
|
|
7
|
+
"toolVersion": "0.26.1",
|
|
8
8
|
"target": {
|
|
9
9
|
"targetId": "sequential-thinking-server",
|
|
10
10
|
"adapter": "local-process",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"serverVersion": "0.2.0"
|
|
26
26
|
},
|
|
27
27
|
"environment": {
|
|
28
|
-
"platform": "darwin
|
|
29
|
-
"nodeVersion": "
|
|
28
|
+
"platform": "darwin 24.0.0",
|
|
29
|
+
"nodeVersion": "v25.8.1"
|
|
30
30
|
},
|
|
31
31
|
"summary": {
|
|
32
32
|
"total": 7,
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"id": "tools",
|
|
44
44
|
"capability": "tools",
|
|
45
45
|
"status": "pass",
|
|
46
|
-
"durationMs":
|
|
46
|
+
"durationMs": 3.0525840000000244,
|
|
47
47
|
"message": "Advertised capability responded with the minimal expected shape (1 item).",
|
|
48
48
|
"evidence": [
|
|
49
49
|
{
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
"description": "Your current thinking step"
|
|
68
68
|
},
|
|
69
69
|
"nextThoughtNeeded": {
|
|
70
|
-
"
|
|
71
|
-
"
|
|
70
|
+
"description": "Whether another thought step is needed",
|
|
71
|
+
"type": "boolean"
|
|
72
72
|
},
|
|
73
73
|
"thoughtNumber": {
|
|
74
74
|
"type": "integer",
|
|
@@ -109,7 +109,6 @@
|
|
|
109
109
|
},
|
|
110
110
|
"required": [
|
|
111
111
|
"thought",
|
|
112
|
-
"nextThoughtNeeded",
|
|
113
112
|
"thoughtNumber",
|
|
114
113
|
"totalThoughts"
|
|
115
114
|
],
|
|
@@ -123,7 +122,7 @@
|
|
|
123
122
|
"id": "prompts",
|
|
124
123
|
"capability": "prompts",
|
|
125
124
|
"status": "unsupported",
|
|
126
|
-
"durationMs": 0.
|
|
125
|
+
"durationMs": 0.003916000000117492,
|
|
127
126
|
"message": "Prompts are not advertised by the target.",
|
|
128
127
|
"evidence": [
|
|
129
128
|
{
|
|
@@ -139,7 +138,7 @@
|
|
|
139
138
|
"id": "resources",
|
|
140
139
|
"capability": "resources",
|
|
141
140
|
"status": "unsupported",
|
|
142
|
-
"durationMs": 0.
|
|
141
|
+
"durationMs": 0.0017090000001189765,
|
|
143
142
|
"message": "Resources are not advertised by the target.",
|
|
144
143
|
"evidence": [
|
|
145
144
|
{
|
|
@@ -155,7 +154,7 @@
|
|
|
155
154
|
"id": "security-lite",
|
|
156
155
|
"capability": "security-lite",
|
|
157
156
|
"status": "pass",
|
|
158
|
-
"durationMs": 0.
|
|
157
|
+
"durationMs": 0.03904199999988123,
|
|
159
158
|
"message": "No security issues detected (lightweight scan).",
|
|
160
159
|
"evidence": [
|
|
161
160
|
{
|
|
@@ -171,7 +170,7 @@
|
|
|
171
170
|
"id": "conformance",
|
|
172
171
|
"capability": "conformance",
|
|
173
172
|
"status": "pass",
|
|
174
|
-
"durationMs":
|
|
173
|
+
"durationMs": 1.9475420000001122,
|
|
175
174
|
"message": "All 7 conformance checks passed.",
|
|
176
175
|
"evidence": [
|
|
177
176
|
{
|
|
@@ -197,7 +196,7 @@
|
|
|
197
196
|
"id": "schema-quality",
|
|
198
197
|
"capability": "schema-quality",
|
|
199
198
|
"status": "pass",
|
|
200
|
-
"durationMs": 0.
|
|
199
|
+
"durationMs": 0.9627080000000205,
|
|
201
200
|
"message": "All 1 item(s) have good schema quality.",
|
|
202
201
|
"evidence": [
|
|
203
202
|
{
|
|
@@ -214,7 +213,7 @@
|
|
|
214
213
|
"id": "security",
|
|
215
214
|
"capability": "security",
|
|
216
215
|
"status": "pass",
|
|
217
|
-
"durationMs": 1
|
|
216
|
+
"durationMs": 1,
|
|
218
217
|
"message": "No security issues detected.",
|
|
219
218
|
"evidence": [
|
|
220
219
|
{
|
|
@@ -271,16 +270,16 @@
|
|
|
271
270
|
"weight": 0.1,
|
|
272
271
|
"score": 100,
|
|
273
272
|
"details": [
|
|
274
|
-
"Connect:
|
|
275
|
-
"p95 latency:
|
|
273
|
+
"Connect: 671ms",
|
|
274
|
+
"p95 latency: 3ms (3 operations)"
|
|
276
275
|
]
|
|
277
276
|
}
|
|
278
277
|
]
|
|
279
278
|
},
|
|
280
279
|
"performanceMetrics": {
|
|
281
|
-
"connectMs":
|
|
282
|
-
"toolsListMs":
|
|
283
|
-
"promptsListMs": 0.
|
|
284
|
-
"resourcesListMs": 0.
|
|
280
|
+
"connectMs": 670.6410000000001,
|
|
281
|
+
"toolsListMs": 3.0525840000000244,
|
|
282
|
+
"promptsListMs": 0.003916000000117492,
|
|
283
|
+
"resourcesListMs": 0.0017090000001189765
|
|
285
284
|
}
|
|
286
285
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-
|
|
3
|
+
Generated at 2026-07-06T01:46:52.165Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
@@ -8,8 +8,8 @@ Generated at 2026-06-24T02:07:22.515Z
|
|
|
8
8
|
- Adapter: `local-process`
|
|
9
9
|
- Command: `npx -y @modelcontextprotocol/server-sequential-thinking`
|
|
10
10
|
- Server: `sequential-thinking-server 0.2.0`
|
|
11
|
-
- Platform: `darwin
|
|
12
|
-
- Node: `
|
|
11
|
+
- Platform: `darwin 24.0.0`
|
|
12
|
+
- Node: `v25.8.1`
|
|
13
13
|
|
|
14
14
|
## Executive Summary
|
|
15
15
|
|
|
@@ -47,12 +47,12 @@ _Use the `diff` command against another run artifact to classify regressions and
|
|
|
47
47
|
|
|
48
48
|
| Focus | Check | Status | Duration (ms) | Message |
|
|
49
49
|
| --- | --- | --- | --- | --- |
|
|
50
|
-
| healthy | conformance | pass |
|
|
51
|
-
| healthy | schema-quality | pass | 0.
|
|
52
|
-
| healthy | security | pass | 1.
|
|
53
|
-
| healthy | security-lite | pass | 0.
|
|
54
|
-
| healthy | tools | pass |
|
|
55
|
-
| confirm intent | prompts | unsupported | 0.
|
|
50
|
+
| healthy | conformance | pass | 1.95 | All 7 conformance checks passed. |
|
|
51
|
+
| healthy | schema-quality | pass | 0.96 | All 1 item(s) have good schema quality. |
|
|
52
|
+
| healthy | security | pass | 1.00 | No security issues detected. |
|
|
53
|
+
| healthy | security-lite | pass | 0.04 | No security issues detected (lightweight scan). |
|
|
54
|
+
| healthy | tools | pass | 3.05 | Advertised capability responded with the minimal expected shape (1 item). |
|
|
55
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
56
56
|
| confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
|
|
57
57
|
|
|
58
58
|
## Evidence Snippets
|
|
@@ -152,5 +152,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
152
152
|
|
|
153
153
|
- Artifact type: `run`
|
|
154
154
|
- Schema version: `1.0.0`
|
|
155
|
-
- Run ID: `run_2026-
|
|
155
|
+
- Run ID: `run_2026-07-06T014652165Z_55bd9c96`
|
|
156
156
|
- Gate: `pass`
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
"packageName": "@modelcontextprotocol/server-everything",
|
|
7
7
|
"category": "Reference",
|
|
8
8
|
"command": "npx",
|
|
9
|
-
"args": [
|
|
9
|
+
"args": [
|
|
10
|
+
"-y",
|
|
11
|
+
"@modelcontextprotocol/server-everything"
|
|
12
|
+
],
|
|
10
13
|
"timeoutMs": 60000,
|
|
11
14
|
"riskClass": "Reference compatibility",
|
|
12
15
|
"failureClass": "Broad protocol surface",
|
|
@@ -21,7 +24,10 @@
|
|
|
21
24
|
"packageName": "@modelcontextprotocol/server-sequential-thinking",
|
|
22
25
|
"category": "Reference",
|
|
23
26
|
"command": "npx",
|
|
24
|
-
"args": [
|
|
27
|
+
"args": [
|
|
28
|
+
"-y",
|
|
29
|
+
"@modelcontextprotocol/server-sequential-thinking"
|
|
30
|
+
],
|
|
25
31
|
"timeoutMs": 60000,
|
|
26
32
|
"riskClass": "Reference compatibility",
|
|
27
33
|
"failureClass": "Tool schema clarity",
|
|
@@ -35,7 +41,10 @@
|
|
|
35
41
|
"packageName": "@modelcontextprotocol/server-memory",
|
|
36
42
|
"category": "Reference / Memory",
|
|
37
43
|
"command": "npx",
|
|
38
|
-
"args": [
|
|
44
|
+
"args": [
|
|
45
|
+
"-y",
|
|
46
|
+
"@modelcontextprotocol/server-memory"
|
|
47
|
+
],
|
|
39
48
|
"timeoutMs": 60000,
|
|
40
49
|
"riskClass": "Agent memory mutation",
|
|
41
50
|
"failureClass": "Persistent state tools",
|
|
@@ -49,7 +58,11 @@
|
|
|
49
58
|
"packageName": "@modelcontextprotocol/server-filesystem",
|
|
50
59
|
"category": "Filesystem",
|
|
51
60
|
"command": "npx",
|
|
52
|
-
"args": [
|
|
61
|
+
"args": [
|
|
62
|
+
"-y",
|
|
63
|
+
"@modelcontextprotocol/server-filesystem",
|
|
64
|
+
"examples/filesystem-fixture"
|
|
65
|
+
],
|
|
53
66
|
"timeoutMs": 30000,
|
|
54
67
|
"riskClass": "Filesystem boundary",
|
|
55
68
|
"failureClass": "Sandboxed filesystem access",
|
|
@@ -63,7 +76,10 @@
|
|
|
63
76
|
"packageName": "@upstash/context7-mcp",
|
|
64
77
|
"category": "Documentation / Search",
|
|
65
78
|
"command": "npx",
|
|
66
|
-
"args": [
|
|
79
|
+
"args": [
|
|
80
|
+
"-y",
|
|
81
|
+
"@upstash/context7-mcp"
|
|
82
|
+
],
|
|
67
83
|
"timeoutMs": 60000,
|
|
68
84
|
"riskClass": "Untrusted content retrieval",
|
|
69
85
|
"failureClass": "Prompt-injection-sensitive retrieval",
|
|
@@ -77,7 +93,10 @@
|
|
|
77
93
|
"packageName": "promptopia-mcp",
|
|
78
94
|
"category": "Prompts",
|
|
79
95
|
"command": "npx",
|
|
80
|
-
"args": [
|
|
96
|
+
"args": [
|
|
97
|
+
"-y",
|
|
98
|
+
"promptopia-mcp"
|
|
99
|
+
],
|
|
81
100
|
"env": {
|
|
82
101
|
"PROMPTS_DIR": "examples/promptopia-prompts"
|
|
83
102
|
},
|
|
@@ -94,13 +113,33 @@
|
|
|
94
113
|
"packageName": "ref-tools-mcp",
|
|
95
114
|
"category": "Developer Tools",
|
|
96
115
|
"command": "npx",
|
|
97
|
-
"args": [
|
|
116
|
+
"args": [
|
|
117
|
+
"-y",
|
|
118
|
+
"ref-tools-mcp"
|
|
119
|
+
],
|
|
98
120
|
"timeoutMs": 60000,
|
|
99
121
|
"riskClass": "Developer reference tooling",
|
|
100
122
|
"failureClass": "Prompt/tool inventory",
|
|
101
123
|
"whyItMatters": "Developer tools become agent dependencies when wired into coding workflows.",
|
|
102
124
|
"reproductionNotes": "Zero-config public package."
|
|
103
125
|
},
|
|
126
|
+
{
|
|
127
|
+
"id": "cyanheads-git-mcp-server",
|
|
128
|
+
"name": "Git MCP Server",
|
|
129
|
+
"repo": "https://www.npmjs.com/package/@cyanheads/git-mcp-server",
|
|
130
|
+
"packageName": "@cyanheads/git-mcp-server",
|
|
131
|
+
"category": "Developer Tools",
|
|
132
|
+
"command": "npx",
|
|
133
|
+
"args": [
|
|
134
|
+
"-y",
|
|
135
|
+
"@cyanheads/git-mcp-server"
|
|
136
|
+
],
|
|
137
|
+
"timeoutMs": 60000,
|
|
138
|
+
"riskClass": "Repository mutation",
|
|
139
|
+
"failureClass": "Git tool boundary",
|
|
140
|
+
"whyItMatters": "Coding agents often need Git context and can cause real repository changes if tool boundaries are unclear.",
|
|
141
|
+
"reproductionNotes": "Zero-config public package. Keep tool invocation read-only unless a harmless fixture repository is added."
|
|
142
|
+
},
|
|
104
143
|
{
|
|
105
144
|
"id": "opentofu-server",
|
|
106
145
|
"name": "OpenTofu MCP server",
|
|
@@ -108,7 +147,10 @@
|
|
|
108
147
|
"packageName": "@opentofu/opentofu-mcp-server",
|
|
109
148
|
"category": "Infrastructure",
|
|
110
149
|
"command": "npx",
|
|
111
|
-
"args": [
|
|
150
|
+
"args": [
|
|
151
|
+
"-y",
|
|
152
|
+
"@opentofu/opentofu-mcp-server"
|
|
153
|
+
],
|
|
112
154
|
"timeoutMs": 60000,
|
|
113
155
|
"riskClass": "Infrastructure-as-code",
|
|
114
156
|
"failureClass": "Infrastructure tool surface",
|
|
@@ -122,9 +164,14 @@
|
|
|
122
164
|
"packageName": "puppeteer-mcp-server",
|
|
123
165
|
"category": "Browser Automation",
|
|
124
166
|
"command": "npx",
|
|
125
|
-
"args": [
|
|
167
|
+
"args": [
|
|
168
|
+
"-y",
|
|
169
|
+
"puppeteer-mcp-server"
|
|
170
|
+
],
|
|
126
171
|
"timeoutMs": 60000,
|
|
127
|
-
"securitySuppressions": [
|
|
172
|
+
"securitySuppressions": [
|
|
173
|
+
"puppeteer_evaluate:shell-injection"
|
|
174
|
+
],
|
|
128
175
|
"riskClass": "Browser control",
|
|
129
176
|
"failureClass": "Browser/code execution boundary",
|
|
130
177
|
"whyItMatters": "Browser automation gives agents navigation, page state, and sometimes code-evaluation powers.",
|
|
@@ -137,7 +184,10 @@
|
|
|
137
184
|
"packageName": "@browsermcp/mcp",
|
|
138
185
|
"category": "Browser Automation",
|
|
139
186
|
"command": "npx",
|
|
140
|
-
"args": [
|
|
187
|
+
"args": [
|
|
188
|
+
"-y",
|
|
189
|
+
"@browsermcp/mcp"
|
|
190
|
+
],
|
|
141
191
|
"timeoutMs": 60000,
|
|
142
192
|
"riskClass": "Browser control",
|
|
143
193
|
"failureClass": "Browser-control boundary",
|
|
@@ -152,7 +202,10 @@
|
|
|
152
202
|
"packageName": "@playwright/mcp",
|
|
153
203
|
"category": "Browser Automation",
|
|
154
204
|
"command": "npx",
|
|
155
|
-
"args": [
|
|
205
|
+
"args": [
|
|
206
|
+
"-y",
|
|
207
|
+
"@playwright/mcp"
|
|
208
|
+
],
|
|
156
209
|
"timeoutMs": 60000,
|
|
157
210
|
"riskClass": "Browser control",
|
|
158
211
|
"failureClass": "Browser/code execution boundary",
|
|
@@ -166,7 +219,10 @@
|
|
|
166
219
|
"packageName": "@antv/mcp-server-chart",
|
|
167
220
|
"category": "Visualization",
|
|
168
221
|
"command": "npx",
|
|
169
|
-
"args": [
|
|
222
|
+
"args": [
|
|
223
|
+
"-y",
|
|
224
|
+
"@antv/mcp-server-chart"
|
|
225
|
+
],
|
|
170
226
|
"timeoutMs": 60000,
|
|
171
227
|
"riskClass": "Generated artifacts",
|
|
172
228
|
"failureClass": "Artifact-producing tools",
|
|
@@ -181,12 +237,32 @@
|
|
|
181
237
|
"packageName": "@executeautomation/playwright-mcp-server",
|
|
182
238
|
"category": "Browser Automation",
|
|
183
239
|
"command": "npx",
|
|
184
|
-
"args": [
|
|
240
|
+
"args": [
|
|
241
|
+
"-y",
|
|
242
|
+
"@executeautomation/playwright-mcp-server"
|
|
243
|
+
],
|
|
185
244
|
"timeoutMs": 60000,
|
|
186
245
|
"riskClass": "Browser control",
|
|
187
246
|
"failureClass": "Startup/listing reproducibility",
|
|
188
247
|
"whyItMatters": "A public browser automation package that fails basic listing checks shows why reproducible readiness evidence matters.",
|
|
189
248
|
"reproductionNotes": "Evaluated as a public package; current result should be treated as a maintainer conversation starter.",
|
|
190
249
|
"publicProof": "https://github.com/executeautomation/mcp-playwright/pull/225"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"id": "kubernetes-server",
|
|
253
|
+
"name": "Flux159 Kubernetes MCP server",
|
|
254
|
+
"repo": "https://github.com/Flux159/mcp-server-kubernetes",
|
|
255
|
+
"packageName": "mcp-server-kubernetes",
|
|
256
|
+
"category": "Infrastructure / Kubernetes",
|
|
257
|
+
"command": "npx",
|
|
258
|
+
"args": [
|
|
259
|
+
"-y",
|
|
260
|
+
"mcp-server-kubernetes"
|
|
261
|
+
],
|
|
262
|
+
"timeoutMs": 60000,
|
|
263
|
+
"riskClass": "Kubernetes control plane",
|
|
264
|
+
"failureClass": "Command and cluster mutation boundary",
|
|
265
|
+
"whyItMatters": "Kubernetes MCP servers can expose cluster mutation, pod exec, manifest apply/delete, and broad kubectl command surfaces to agents.",
|
|
266
|
+
"reproductionNotes": "Zero-config public package. Evaluated without cluster credentials; findings are metadata and schema boundary prompts, not exploit claims."
|
|
191
267
|
}
|
|
192
268
|
]
|
package/docs/setup-ci-doctor.md
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
npx @kryptosai/mcp-observatory setup-ci --doctor
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
+
MCP server packages can also opt into install-time workflow creation by setting `mcpObservatory.autoSetupCi` in `package.json`. See [Automatic CI Integration](./automatic-ci-integration.md).
|
|
10
|
+
|
|
9
11
|
It checks:
|
|
10
12
|
|
|
11
13
|
- the GitHub Action workflow exists
|