@kryptosai/mcp-observatory 0.22.0 → 0.24.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 +5 -3
- package/PRIVACY.md +5 -2
- package/README.md +28 -13
- package/dist/src/cli.js +1 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/init-ci.d.ts +3 -0
- package/dist/src/commands/init-ci.js +26 -9
- package/dist/src/commands/init-ci.js.map +1 -1
- package/dist/src/commercial.js +2 -2
- package/dist/src/commercial.js.map +1 -1
- package/dist/src/reporters/pr-comment.js +6 -2
- package/dist/src/reporters/pr-comment.js.map +1 -1
- package/dist/src/score.js +1 -1
- package/dist/src/score.js.map +1 -1
- package/dist/src/validate.js +58 -3
- package/dist/src/validate.js.map +1 -1
- package/docs/certification-campaign-template.md +10 -10
- package/docs/certification-distribution.md +16 -0
- package/docs/directory-listing-copy.md +12 -5
- package/docs/distribution-launch.md +5 -5
- package/docs/enterprise-outreach-playbook.md +2 -2
- package/docs/mcp-lock-files.md +63 -0
- package/docs/mcp-safety-report-latest.md +16 -7
- package/docs/mcp-security-field-guide.md +97 -0
- package/docs/mcp-server-safety-index.md +61 -0
- package/docs/methodology.md +90 -0
- package/docs/metrics-dashboard.md +105 -0
- package/docs/paid-pilot-offer.md +74 -0
- package/docs/project-case-study.md +77 -43
- package/docs/proof.md +42 -12
- package/docs/public-post-drafts.md +98 -0
- package/docs/publish-readiness.md +6 -4
- package/docs/reference-evaluations.md +134 -0
- package/docs/safety-index/artifacts/antv-chart-server.json +2765 -0
- package/docs/safety-index/artifacts/antv-chart-server.md +156 -0
- package/docs/safety-index/artifacts/browsermcp-server.json +416 -0
- package/docs/safety-index/artifacts/browsermcp-server.md +163 -0
- package/docs/safety-index/artifacts/context7-server.json +286 -0
- package/docs/safety-index/artifacts/context7-server.md +163 -0
- package/docs/safety-index/artifacts/everything-server.json +482 -0
- package/docs/safety-index/artifacts/everything-server.md +163 -0
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +955 -0
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +163 -0
- package/docs/safety-index/artifacts/filesystem-server.json +583 -0
- package/docs/safety-index/artifacts/filesystem-server.md +156 -0
- package/docs/safety-index/artifacts/memory-server.json +469 -0
- package/docs/safety-index/artifacts/memory-server.md +156 -0
- package/docs/safety-index/artifacts/opentofu-server.json +387 -0
- package/docs/safety-index/artifacts/opentofu-server.md +163 -0
- package/docs/safety-index/artifacts/playwright-mcp-server.json +919 -0
- package/docs/safety-index/artifacts/playwright-mcp-server.md +156 -0
- package/docs/safety-index/artifacts/promptopia-server.json +442 -0
- package/docs/safety-index/artifacts/promptopia-server.md +156 -0
- package/docs/safety-index/artifacts/puppeteer-server.json +377 -0
- package/docs/safety-index/artifacts/puppeteer-server.md +163 -0
- package/docs/safety-index/artifacts/ref-tools-server.json +262 -0
- package/docs/safety-index/artifacts/ref-tools-server.md +156 -0
- package/docs/safety-index/artifacts/sequential-thinking-server.json +286 -0
- package/docs/safety-index/artifacts/sequential-thinking-server.md +156 -0
- package/docs/safety-index/maintainer-note-template.md +25 -0
- package/docs/safety-index/targets.json +192 -0
- package/package.json +17 -13
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-06-24T02:07:31.112Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `browsermcp-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y @browsermcp/mcp`
|
|
10
|
+
- Server: `Browser MCP 0.1.3`
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 97/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 | 83/100 | 20% |
|
|
24
|
+
| Performance | 100/100 | 10% |
|
|
25
|
+
|
|
26
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| pass | 7 | 6 | 0 | 0 | 1 | 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
|
|
39
|
+
- Suggested next step: Confirm that unsupported capabilities are intentional for this target: prompts.
|
|
40
|
+
- CI next step: `Add CI: npx @kryptosai/mcp-observatory init-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 | 2.12 | All 7 conformance checks passed. |
|
|
51
|
+
| healthy | resources | pass | 0.68 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
|
|
52
|
+
| healthy | schema-quality | pass | 0.54 | All 12 item(s) have good schema quality. |
|
|
53
|
+
| healthy | security | pass | 0.25 | No security issues detected. |
|
|
54
|
+
| healthy | security-lite | pass | 0.04 | No security issues detected (lightweight scan). |
|
|
55
|
+
| healthy | tools | pass | 1.26 | Advertised capability responded with the minimal expected shape (12 items). |
|
|
56
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
57
|
+
|
|
58
|
+
## Evidence Snippets
|
|
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 12 tool(s). (+4 more)
|
|
71
|
+
|
|
72
|
+
### resources — pass
|
|
73
|
+
|
|
74
|
+
Summary: Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.
|
|
75
|
+
|
|
76
|
+
- Endpoint: `resources/list`
|
|
77
|
+
- Advertised: `true`
|
|
78
|
+
- Responded: `true`
|
|
79
|
+
- Minimal shape present: `true`
|
|
80
|
+
- Item count: `0`
|
|
81
|
+
- Identifiers: none
|
|
82
|
+
- Diagnostics: none
|
|
83
|
+
- Endpoint: `resources/templates/list`
|
|
84
|
+
- Advertised: `true`
|
|
85
|
+
- Responded: `false`
|
|
86
|
+
- Minimal shape present: `false`
|
|
87
|
+
- Item count: `0`
|
|
88
|
+
- Identifiers: none
|
|
89
|
+
- Diagnostics: MCP error -32601: Method not found
|
|
90
|
+
|
|
91
|
+
### schema-quality — pass
|
|
92
|
+
|
|
93
|
+
Summary: All 12 item(s) have good schema quality.
|
|
94
|
+
|
|
95
|
+
- Endpoint: `schema-quality/scan`
|
|
96
|
+
- Advertised: `true`
|
|
97
|
+
- Responded: `true`
|
|
98
|
+
- Minimal shape present: `true`
|
|
99
|
+
- Item count: `0`
|
|
100
|
+
- Identifiers: none
|
|
101
|
+
- Diagnostics: none
|
|
102
|
+
|
|
103
|
+
### security — pass
|
|
104
|
+
|
|
105
|
+
Summary: No security issues detected.
|
|
106
|
+
|
|
107
|
+
- Endpoint: `security/scan`
|
|
108
|
+
- Advertised: `true`
|
|
109
|
+
- Responded: `true`
|
|
110
|
+
- Minimal shape present: `true`
|
|
111
|
+
- Item count: `0`
|
|
112
|
+
- Identifiers: none
|
|
113
|
+
- Diagnostics: none
|
|
114
|
+
|
|
115
|
+
### security-lite — pass
|
|
116
|
+
|
|
117
|
+
Summary: No security issues detected (lightweight scan).
|
|
118
|
+
|
|
119
|
+
- Endpoint: `security/scan-lite`
|
|
120
|
+
- Advertised: `true`
|
|
121
|
+
- Responded: `true`
|
|
122
|
+
- Minimal shape present: `true`
|
|
123
|
+
- Item count: `0`
|
|
124
|
+
- Identifiers: none
|
|
125
|
+
- Diagnostics: none
|
|
126
|
+
|
|
127
|
+
### tools — pass
|
|
128
|
+
|
|
129
|
+
Summary: Advertised capability responded with the minimal expected shape (12 items).
|
|
130
|
+
|
|
131
|
+
- Endpoint: `tools/list`
|
|
132
|
+
- Advertised: `true`
|
|
133
|
+
- Responded: `true`
|
|
134
|
+
- Minimal shape present: `true`
|
|
135
|
+
- Item count: `12`
|
|
136
|
+
- Identifiers: browser_navigate, browser_go_back, browser_go_forward, browser_snapshot, browser_click (+7 more)
|
|
137
|
+
- Diagnostics: none
|
|
138
|
+
|
|
139
|
+
### prompts — unsupported
|
|
140
|
+
|
|
141
|
+
Summary: Prompts are not advertised by the target.
|
|
142
|
+
|
|
143
|
+
- Endpoint: `prompts/list`
|
|
144
|
+
- Advertised: `false`
|
|
145
|
+
- Responded: `false`
|
|
146
|
+
- Minimal shape present: `false`
|
|
147
|
+
- Item count: `0`
|
|
148
|
+
- Identifiers: none
|
|
149
|
+
- Diagnostics: none
|
|
150
|
+
|
|
151
|
+
## Reproduction Commands
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
155
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Artifact Provenance
|
|
159
|
+
|
|
160
|
+
- Artifact type: `run`
|
|
161
|
+
- Schema version: `1.0.0`
|
|
162
|
+
- Run ID: `run_2026-06-24T020731112Z_2e7853f8`
|
|
163
|
+
- Gate: `pass`
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
{
|
|
2
|
+
"artifactType": "run",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"gate": "pass",
|
|
5
|
+
"runId": "run_2026-06-24T020724758Z_bed6c073",
|
|
6
|
+
"createdAt": "2026-06-24T02:07:24.758Z",
|
|
7
|
+
"toolVersion": "0.24.0",
|
|
8
|
+
"target": {
|
|
9
|
+
"targetId": "context7-server",
|
|
10
|
+
"adapter": "local-process",
|
|
11
|
+
"command": "npx",
|
|
12
|
+
"args": [
|
|
13
|
+
"-y",
|
|
14
|
+
"@upstash/context7-mcp"
|
|
15
|
+
],
|
|
16
|
+
"cwd": ".",
|
|
17
|
+
"metadata": {
|
|
18
|
+
"package": "@upstash/context7-mcp",
|
|
19
|
+
"purpose": "mcp-safety-index",
|
|
20
|
+
"riskClass": "Untrusted content retrieval",
|
|
21
|
+
"failureClass": "Prompt-injection-sensitive retrieval",
|
|
22
|
+
"whyItMatters": "Documentation retrieval tools can return untrusted text into agent context."
|
|
23
|
+
},
|
|
24
|
+
"serverName": "Context7",
|
|
25
|
+
"serverVersion": "3.2.2"
|
|
26
|
+
},
|
|
27
|
+
"environment": {
|
|
28
|
+
"platform": "darwin 25.5.0",
|
|
29
|
+
"nodeVersion": "v22.22.1"
|
|
30
|
+
},
|
|
31
|
+
"summary": {
|
|
32
|
+
"total": 7,
|
|
33
|
+
"pass": 7,
|
|
34
|
+
"fail": 0,
|
|
35
|
+
"partial": 0,
|
|
36
|
+
"unsupported": 0,
|
|
37
|
+
"flaky": 0,
|
|
38
|
+
"skipped": 0,
|
|
39
|
+
"gate": "pass"
|
|
40
|
+
},
|
|
41
|
+
"checks": [
|
|
42
|
+
{
|
|
43
|
+
"id": "tools",
|
|
44
|
+
"capability": "tools",
|
|
45
|
+
"status": "pass",
|
|
46
|
+
"durationMs": 1.5927080000001297,
|
|
47
|
+
"message": "Advertised capability responded with the minimal expected shape (2 items).",
|
|
48
|
+
"evidence": [
|
|
49
|
+
{
|
|
50
|
+
"endpoint": "tools/list",
|
|
51
|
+
"advertised": true,
|
|
52
|
+
"responded": true,
|
|
53
|
+
"minimalShapePresent": true,
|
|
54
|
+
"itemCount": 2,
|
|
55
|
+
"identifiers": [
|
|
56
|
+
"resolve-library-id",
|
|
57
|
+
"query-docs"
|
|
58
|
+
],
|
|
59
|
+
"diagnostics": [
|
|
60
|
+
"Context7 Documentation MCP Server v3.2.2 running on stdio"
|
|
61
|
+
],
|
|
62
|
+
"schemas": {
|
|
63
|
+
"resolve-library-id": {
|
|
64
|
+
"type": "object",
|
|
65
|
+
"properties": {
|
|
66
|
+
"query": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "The question or task you need help with. This is used to rank library results by relevance to what the user is trying to accomplish. The query is sent to the Context7 API for processing. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query."
|
|
69
|
+
},
|
|
70
|
+
"libraryName": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"description": "Library name to search for and retrieve a Context7-compatible library ID. Use the official library name with proper punctuation — e.g., 'Next.js' instead of 'nextjs', 'Customer.io' instead of 'customerio', 'Three.js' instead of 'threejs'."
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"required": [
|
|
76
|
+
"query",
|
|
77
|
+
"libraryName"
|
|
78
|
+
],
|
|
79
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
80
|
+
},
|
|
81
|
+
"query-docs": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"properties": {
|
|
84
|
+
"libraryId": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "Exact Context7-compatible library ID (e.g., '/mongodb/docs', '/vercel/next.js', '/supabase/supabase', '/vercel/next.js/v14.3.0-canary.87') retrieved from 'resolve-library-id' or directly from user query in the format '/org/project' or '/org/project/version'."
|
|
87
|
+
},
|
|
88
|
+
"query": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "The question or task you need help with. Be specific and include relevant details. Good: 'How to set up authentication with JWT in Express.js' or 'React useEffect cleanup function examples'. Bad: 'auth' or 'hooks'. The query is sent to the Context7 API for processing. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query."
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": [
|
|
94
|
+
"libraryId",
|
|
95
|
+
"query"
|
|
96
|
+
],
|
|
97
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "prompts",
|
|
105
|
+
"capability": "prompts",
|
|
106
|
+
"status": "pass",
|
|
107
|
+
"durationMs": 0.2917909999996482,
|
|
108
|
+
"message": "Advertised capability responded with the minimal expected shape (0 items).",
|
|
109
|
+
"evidence": [
|
|
110
|
+
{
|
|
111
|
+
"endpoint": "prompts/list",
|
|
112
|
+
"advertised": true,
|
|
113
|
+
"responded": true,
|
|
114
|
+
"minimalShapePresent": true,
|
|
115
|
+
"itemCount": 0,
|
|
116
|
+
"identifiers": [],
|
|
117
|
+
"diagnostics": [
|
|
118
|
+
"Context7 Documentation MCP Server v3.2.2 running on stdio"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "resources",
|
|
125
|
+
"capability": "resources",
|
|
126
|
+
"status": "pass",
|
|
127
|
+
"durationMs": 0.5327499999993961,
|
|
128
|
+
"message": "Advertised capability responded with the minimal expected shape (0 items).",
|
|
129
|
+
"evidence": [
|
|
130
|
+
{
|
|
131
|
+
"endpoint": "resources/list",
|
|
132
|
+
"advertised": true,
|
|
133
|
+
"responded": true,
|
|
134
|
+
"minimalShapePresent": true,
|
|
135
|
+
"itemCount": 0,
|
|
136
|
+
"identifiers": [],
|
|
137
|
+
"diagnostics": [
|
|
138
|
+
"Context7 Documentation MCP Server v3.2.2 running on stdio"
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"endpoint": "resources/templates/list",
|
|
143
|
+
"advertised": true,
|
|
144
|
+
"responded": true,
|
|
145
|
+
"minimalShapePresent": true,
|
|
146
|
+
"itemCount": 0,
|
|
147
|
+
"identifiers": [],
|
|
148
|
+
"diagnostics": [
|
|
149
|
+
"Context7 Documentation MCP Server v3.2.2 running on stdio"
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": "security-lite",
|
|
156
|
+
"capability": "security-lite",
|
|
157
|
+
"status": "pass",
|
|
158
|
+
"durationMs": 0.024166000000150234,
|
|
159
|
+
"message": "No security issues detected (lightweight scan).",
|
|
160
|
+
"evidence": [
|
|
161
|
+
{
|
|
162
|
+
"endpoint": "security/scan-lite",
|
|
163
|
+
"advertised": true,
|
|
164
|
+
"responded": true,
|
|
165
|
+
"minimalShapePresent": true,
|
|
166
|
+
"itemCount": 0
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "conformance",
|
|
172
|
+
"capability": "conformance",
|
|
173
|
+
"status": "pass",
|
|
174
|
+
"durationMs": 1.0839169999999285,
|
|
175
|
+
"message": "All 7 conformance checks passed.",
|
|
176
|
+
"evidence": [
|
|
177
|
+
{
|
|
178
|
+
"endpoint": "conformance/check",
|
|
179
|
+
"advertised": true,
|
|
180
|
+
"responded": true,
|
|
181
|
+
"minimalShapePresent": true,
|
|
182
|
+
"itemCount": 7,
|
|
183
|
+
"identifiers": [],
|
|
184
|
+
"diagnostics": [
|
|
185
|
+
"[pass] capabilities-present: Server returned capabilities object.",
|
|
186
|
+
"[pass] server-info: Server provided initialization info.",
|
|
187
|
+
"[pass] tools-capability-match: tools/list returned 2 tool(s).",
|
|
188
|
+
"[pass] prompts-capability-match: prompts/list returned 0 prompt(s).",
|
|
189
|
+
"[pass] resources-capability-match: resources/list returned 0 resource(s).",
|
|
190
|
+
"[pass] tool-response-content: No safe tool to invoke — content validation skipped.",
|
|
191
|
+
"[pass] error-handling: Server returned proper error code -32601 for unknown method."
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"id": "schema-quality",
|
|
198
|
+
"capability": "schema-quality",
|
|
199
|
+
"status": "pass",
|
|
200
|
+
"durationMs": 0.6274169999996957,
|
|
201
|
+
"message": "All 2 item(s) have good schema quality.",
|
|
202
|
+
"evidence": [
|
|
203
|
+
{
|
|
204
|
+
"endpoint": "schema-quality/scan",
|
|
205
|
+
"advertised": true,
|
|
206
|
+
"responded": true,
|
|
207
|
+
"minimalShapePresent": true,
|
|
208
|
+
"itemCount": 0,
|
|
209
|
+
"identifiers": []
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"id": "security",
|
|
215
|
+
"capability": "security",
|
|
216
|
+
"status": "pass",
|
|
217
|
+
"durationMs": 0.2532499999997526,
|
|
218
|
+
"message": "No security issues detected.",
|
|
219
|
+
"evidence": [
|
|
220
|
+
{
|
|
221
|
+
"endpoint": "security/scan",
|
|
222
|
+
"advertised": true,
|
|
223
|
+
"responded": true,
|
|
224
|
+
"minimalShapePresent": true,
|
|
225
|
+
"itemCount": 0
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
],
|
|
230
|
+
"healthScore": {
|
|
231
|
+
"overall": 100,
|
|
232
|
+
"grade": "A",
|
|
233
|
+
"dimensions": [
|
|
234
|
+
{
|
|
235
|
+
"name": "Protocol Compliance",
|
|
236
|
+
"weight": 0.3,
|
|
237
|
+
"score": 100,
|
|
238
|
+
"details": [
|
|
239
|
+
"conformance: pass (100/100)"
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "Schema Quality",
|
|
244
|
+
"weight": 0.2,
|
|
245
|
+
"score": 100,
|
|
246
|
+
"details": [
|
|
247
|
+
"schema-quality: pass (100/100)"
|
|
248
|
+
]
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "Security",
|
|
252
|
+
"weight": 0.2,
|
|
253
|
+
"score": 100,
|
|
254
|
+
"details": [
|
|
255
|
+
"security-lite: pass (100/100)",
|
|
256
|
+
"security: pass (100/100)"
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "Reliability",
|
|
261
|
+
"weight": 0.2,
|
|
262
|
+
"score": 100,
|
|
263
|
+
"details": [
|
|
264
|
+
"tools: pass (100/100)",
|
|
265
|
+
"prompts: pass (100/100)",
|
|
266
|
+
"resources: pass (100/100)"
|
|
267
|
+
]
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"name": "Performance",
|
|
271
|
+
"weight": 0.1,
|
|
272
|
+
"score": 100,
|
|
273
|
+
"details": [
|
|
274
|
+
"Connect: 928ms",
|
|
275
|
+
"p95 latency: 2ms (3 operations)"
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
]
|
|
279
|
+
},
|
|
280
|
+
"performanceMetrics": {
|
|
281
|
+
"connectMs": 927.7457919999997,
|
|
282
|
+
"toolsListMs": 1.5927080000001297,
|
|
283
|
+
"promptsListMs": 0.2917909999996482,
|
|
284
|
+
"resourcesListMs": 0.5327499999993961
|
|
285
|
+
}
|
|
286
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-06-24T02:07:24.758Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `context7-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y @upstash/context7-mcp`
|
|
10
|
+
- Server: `Context7 3.2.2`
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 100/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 | 100/100 | 20% |
|
|
24
|
+
| Performance | 100/100 | 10% |
|
|
25
|
+
|
|
26
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| pass | 7 | 7 | 0 | 0 | 0 | 0 | 0 |
|
|
29
|
+
|
|
30
|
+
## At a Glance
|
|
31
|
+
|
|
32
|
+
- Safety verdict: **Ready** — No blocking MCP compatibility or security issues were detected.
|
|
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: none
|
|
39
|
+
- Suggested next step: Save this run artifact and diff it against the next meaningful server or package change.
|
|
40
|
+
- CI next step: `Add CI: npx @kryptosai/mcp-observatory init-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 | 1.08 | All 7 conformance checks passed. |
|
|
51
|
+
| healthy | prompts | pass | 0.29 | Advertised capability responded with the minimal expected shape (0 items). |
|
|
52
|
+
| healthy | resources | pass | 0.53 | Advertised capability responded with the minimal expected shape (0 items). |
|
|
53
|
+
| healthy | schema-quality | pass | 0.63 | All 2 item(s) have good schema quality. |
|
|
54
|
+
| healthy | security | pass | 0.25 | No security issues detected. |
|
|
55
|
+
| healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
|
|
56
|
+
| healthy | tools | pass | 1.59 | Advertised capability responded with the minimal expected shape (2 items). |
|
|
57
|
+
|
|
58
|
+
## Evidence Snippets
|
|
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 2 tool(s). (+4 more)
|
|
71
|
+
|
|
72
|
+
### prompts — pass
|
|
73
|
+
|
|
74
|
+
Summary: Advertised capability responded with the minimal expected shape (0 items).
|
|
75
|
+
|
|
76
|
+
- Endpoint: `prompts/list`
|
|
77
|
+
- Advertised: `true`
|
|
78
|
+
- Responded: `true`
|
|
79
|
+
- Minimal shape present: `true`
|
|
80
|
+
- Item count: `0`
|
|
81
|
+
- Identifiers: none
|
|
82
|
+
- Diagnostics: Context7 Documentation MCP Server v3.2.2 running on stdio
|
|
83
|
+
|
|
84
|
+
### resources — pass
|
|
85
|
+
|
|
86
|
+
Summary: Advertised capability responded with the minimal expected shape (0 items).
|
|
87
|
+
|
|
88
|
+
- Endpoint: `resources/list`
|
|
89
|
+
- Advertised: `true`
|
|
90
|
+
- Responded: `true`
|
|
91
|
+
- Minimal shape present: `true`
|
|
92
|
+
- Item count: `0`
|
|
93
|
+
- Identifiers: none
|
|
94
|
+
- Diagnostics: Context7 Documentation MCP Server v3.2.2 running on stdio
|
|
95
|
+
- Endpoint: `resources/templates/list`
|
|
96
|
+
- Advertised: `true`
|
|
97
|
+
- Responded: `true`
|
|
98
|
+
- Minimal shape present: `true`
|
|
99
|
+
- Item count: `0`
|
|
100
|
+
- Identifiers: none
|
|
101
|
+
- Diagnostics: Context7 Documentation MCP Server v3.2.2 running on stdio
|
|
102
|
+
|
|
103
|
+
### schema-quality — pass
|
|
104
|
+
|
|
105
|
+
Summary: All 2 item(s) have good schema quality.
|
|
106
|
+
|
|
107
|
+
- Endpoint: `schema-quality/scan`
|
|
108
|
+
- Advertised: `true`
|
|
109
|
+
- Responded: `true`
|
|
110
|
+
- Minimal shape present: `true`
|
|
111
|
+
- Item count: `0`
|
|
112
|
+
- Identifiers: none
|
|
113
|
+
- Diagnostics: none
|
|
114
|
+
|
|
115
|
+
### security — pass
|
|
116
|
+
|
|
117
|
+
Summary: No security issues detected.
|
|
118
|
+
|
|
119
|
+
- Endpoint: `security/scan`
|
|
120
|
+
- Advertised: `true`
|
|
121
|
+
- Responded: `true`
|
|
122
|
+
- Minimal shape present: `true`
|
|
123
|
+
- Item count: `0`
|
|
124
|
+
- Identifiers: none
|
|
125
|
+
- Diagnostics: none
|
|
126
|
+
|
|
127
|
+
### security-lite — pass
|
|
128
|
+
|
|
129
|
+
Summary: No security issues detected (lightweight scan).
|
|
130
|
+
|
|
131
|
+
- Endpoint: `security/scan-lite`
|
|
132
|
+
- Advertised: `true`
|
|
133
|
+
- Responded: `true`
|
|
134
|
+
- Minimal shape present: `true`
|
|
135
|
+
- Item count: `0`
|
|
136
|
+
- Identifiers: none
|
|
137
|
+
- Diagnostics: none
|
|
138
|
+
|
|
139
|
+
### tools — pass
|
|
140
|
+
|
|
141
|
+
Summary: Advertised capability responded with the minimal expected shape (2 items).
|
|
142
|
+
|
|
143
|
+
- Endpoint: `tools/list`
|
|
144
|
+
- Advertised: `true`
|
|
145
|
+
- Responded: `true`
|
|
146
|
+
- Minimal shape present: `true`
|
|
147
|
+
- Item count: `2`
|
|
148
|
+
- Identifiers: resolve-library-id, query-docs
|
|
149
|
+
- Diagnostics: Context7 Documentation MCP Server v3.2.2 running on stdio
|
|
150
|
+
|
|
151
|
+
## Reproduction Commands
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
155
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Artifact Provenance
|
|
159
|
+
|
|
160
|
+
- Artifact type: `run`
|
|
161
|
+
- Schema version: `1.0.0`
|
|
162
|
+
- Run ID: `run_2026-06-24T020724758Z_bed6c073`
|
|
163
|
+
- Gate: `pass`
|