@kryptosai/mcp-observatory 0.23.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/README.md +8 -7
- package/dist/src/commands/init-ci.d.ts +3 -0
- package/dist/src/commands/init-ci.js +24 -12
- package/dist/src/commands/init-ci.js.map +1 -1
- package/dist/src/reporters/pr-comment.js +6 -2
- package/dist/src/reporters/pr-comment.js.map +1 -1
- package/docs/certification-campaign-template.md +2 -2
- package/docs/mcp-safety-report-latest.md +12 -7
- package/docs/mcp-server-safety-index.md +56 -80
- package/docs/methodology.md +90 -0
- package/docs/metrics-dashboard.md +105 -0
- package/docs/paid-pilot-offer.md +21 -5
- package/docs/project-case-study.md +12 -8
- package/docs/proof.md +28 -15
- package/docs/public-post-drafts.md +18 -6
- package/docs/publish-readiness.md +1 -5
- package/docs/reference-evaluations.md +1 -1
- 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 +12 -9
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-06-24T02:07:41.323Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `antv-chart-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y @antv/mcp-server-chart`
|
|
10
|
+
- Server: `mcp-server-chart 0.8.x`
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 93/100 (A)**
|
|
17
|
+
|
|
18
|
+
| Dimension | Score | Weight |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| Protocol Compliance | 100/100 | 30% |
|
|
21
|
+
| Schema Quality | 100/100 | 20% |
|
|
22
|
+
| Security | 100/100 | 20% |
|
|
23
|
+
| Reliability | 67/100 | 20% |
|
|
24
|
+
| Performance | 100/100 | 10% |
|
|
25
|
+
|
|
26
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| pass | 7 | 5 | 0 | 0 | 2 | 0 | 0 |
|
|
29
|
+
|
|
30
|
+
## At a Glance
|
|
31
|
+
|
|
32
|
+
- Safety verdict: **Needs review** — The server is usable, but caveated checks should be reviewed before agents depend on it.
|
|
33
|
+
- Top risks: No high-priority risks detected.
|
|
34
|
+
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
35
|
+
- Failing checks: none
|
|
36
|
+
- Partial or flaky checks: none
|
|
37
|
+
- Skipped checks: none
|
|
38
|
+
- Unsupported checks: prompts, resources
|
|
39
|
+
- Suggested next step: Confirm that unsupported capabilities are intentional for this target: prompts, resources.
|
|
40
|
+
- CI next step: `Add CI: npx @kryptosai/mcp-observatory 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.82 | All 7 conformance checks passed. |
|
|
51
|
+
| healthy | schema-quality | pass | 1.45 | All 27 item(s) have good schema quality. |
|
|
52
|
+
| healthy | security | pass | 1.53 | No security issues detected. |
|
|
53
|
+
| healthy | security-lite | pass | 0.12 | No security issues detected (lightweight scan). |
|
|
54
|
+
| healthy | tools | pass | 2.67 | Advertised capability responded with the minimal expected shape (27 items). |
|
|
55
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
56
|
+
| confirm intent | resources | unsupported | 0.00 | Resources 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 27 tool(s). (+4 more)
|
|
71
|
+
|
|
72
|
+
### schema-quality — pass
|
|
73
|
+
|
|
74
|
+
Summary: All 27 item(s) have good schema quality.
|
|
75
|
+
|
|
76
|
+
- Endpoint: `schema-quality/scan`
|
|
77
|
+
- Advertised: `true`
|
|
78
|
+
- Responded: `true`
|
|
79
|
+
- Minimal shape present: `true`
|
|
80
|
+
- Item count: `0`
|
|
81
|
+
- Identifiers: none
|
|
82
|
+
- Diagnostics: none
|
|
83
|
+
|
|
84
|
+
### security — pass
|
|
85
|
+
|
|
86
|
+
Summary: No security issues detected.
|
|
87
|
+
|
|
88
|
+
- Endpoint: `security/scan`
|
|
89
|
+
- Advertised: `true`
|
|
90
|
+
- Responded: `true`
|
|
91
|
+
- Minimal shape present: `true`
|
|
92
|
+
- Item count: `0`
|
|
93
|
+
- Identifiers: none
|
|
94
|
+
- Diagnostics: none
|
|
95
|
+
|
|
96
|
+
### security-lite — pass
|
|
97
|
+
|
|
98
|
+
Summary: No security issues detected (lightweight scan).
|
|
99
|
+
|
|
100
|
+
- Endpoint: `security/scan-lite`
|
|
101
|
+
- Advertised: `true`
|
|
102
|
+
- Responded: `true`
|
|
103
|
+
- Minimal shape present: `true`
|
|
104
|
+
- Item count: `0`
|
|
105
|
+
- Identifiers: none
|
|
106
|
+
- Diagnostics: none
|
|
107
|
+
|
|
108
|
+
### tools — pass
|
|
109
|
+
|
|
110
|
+
Summary: Advertised capability responded with the minimal expected shape (27 items).
|
|
111
|
+
|
|
112
|
+
- Endpoint: `tools/list`
|
|
113
|
+
- Advertised: `true`
|
|
114
|
+
- Responded: `true`
|
|
115
|
+
- Minimal shape present: `true`
|
|
116
|
+
- Item count: `27`
|
|
117
|
+
- Identifiers: generate_area_chart, generate_bar_chart, generate_boxplot_chart, generate_column_chart, generate_district_map (+22 more)
|
|
118
|
+
- Diagnostics: [MCP-Server-Chart] 2026-06-24T02:07:44.865Z ℹ️ setting up tool handlers..., [MCP-Server-Chart] 2026-06-24T02:07:44.867Z ℹ️ tool handlers set up, [MCP-Server-Chart] 2026-06-24T02:07:44.868Z ✅ Stdio MCP Server started
|
|
119
|
+
|
|
120
|
+
### prompts — unsupported
|
|
121
|
+
|
|
122
|
+
Summary: Prompts are not advertised by the target.
|
|
123
|
+
|
|
124
|
+
- Endpoint: `prompts/list`
|
|
125
|
+
- Advertised: `false`
|
|
126
|
+
- Responded: `false`
|
|
127
|
+
- Minimal shape present: `false`
|
|
128
|
+
- Item count: `0`
|
|
129
|
+
- Identifiers: none
|
|
130
|
+
- Diagnostics: none
|
|
131
|
+
|
|
132
|
+
### resources — unsupported
|
|
133
|
+
|
|
134
|
+
Summary: Resources are not advertised by the target.
|
|
135
|
+
|
|
136
|
+
- Endpoint: `resources/list | resources/templates/list`
|
|
137
|
+
- Advertised: `false`
|
|
138
|
+
- Responded: `false`
|
|
139
|
+
- Minimal shape present: `false`
|
|
140
|
+
- Item count: `0`
|
|
141
|
+
- Identifiers: none
|
|
142
|
+
- Diagnostics: none
|
|
143
|
+
|
|
144
|
+
## Reproduction Commands
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
148
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Artifact Provenance
|
|
152
|
+
|
|
153
|
+
- Artifact type: `run`
|
|
154
|
+
- Schema version: `1.0.0`
|
|
155
|
+
- Run ID: `run_2026-06-24T020741323Z_41a77db3`
|
|
156
|
+
- Gate: `pass`
|
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
{
|
|
2
|
+
"artifactType": "run",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"gate": "pass",
|
|
5
|
+
"runId": "run_2026-06-24T020731112Z_2e7853f8",
|
|
6
|
+
"createdAt": "2026-06-24T02:07:31.112Z",
|
|
7
|
+
"toolVersion": "0.24.0",
|
|
8
|
+
"target": {
|
|
9
|
+
"targetId": "browsermcp-server",
|
|
10
|
+
"adapter": "local-process",
|
|
11
|
+
"command": "npx",
|
|
12
|
+
"args": [
|
|
13
|
+
"-y",
|
|
14
|
+
"@browsermcp/mcp"
|
|
15
|
+
],
|
|
16
|
+
"cwd": ".",
|
|
17
|
+
"metadata": {
|
|
18
|
+
"package": "@browsermcp/mcp",
|
|
19
|
+
"purpose": "mcp-safety-index",
|
|
20
|
+
"riskClass": "Browser control",
|
|
21
|
+
"failureClass": "Browser-control boundary",
|
|
22
|
+
"whyItMatters": "Browser-control servers need visible tool boundaries before agents drive real browsing sessions."
|
|
23
|
+
},
|
|
24
|
+
"serverName": "Browser MCP",
|
|
25
|
+
"serverVersion": "0.1.3"
|
|
26
|
+
},
|
|
27
|
+
"environment": {
|
|
28
|
+
"platform": "darwin 25.5.0",
|
|
29
|
+
"nodeVersion": "v22.22.1"
|
|
30
|
+
},
|
|
31
|
+
"summary": {
|
|
32
|
+
"total": 7,
|
|
33
|
+
"pass": 6,
|
|
34
|
+
"fail": 0,
|
|
35
|
+
"partial": 0,
|
|
36
|
+
"unsupported": 1,
|
|
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.2612079999998969,
|
|
47
|
+
"message": "Advertised capability responded with the minimal expected shape (12 items).",
|
|
48
|
+
"evidence": [
|
|
49
|
+
{
|
|
50
|
+
"endpoint": "tools/list",
|
|
51
|
+
"advertised": true,
|
|
52
|
+
"responded": true,
|
|
53
|
+
"minimalShapePresent": true,
|
|
54
|
+
"itemCount": 12,
|
|
55
|
+
"identifiers": [
|
|
56
|
+
"browser_navigate",
|
|
57
|
+
"browser_go_back",
|
|
58
|
+
"browser_go_forward",
|
|
59
|
+
"browser_snapshot",
|
|
60
|
+
"browser_click",
|
|
61
|
+
"browser_hover",
|
|
62
|
+
"browser_type",
|
|
63
|
+
"browser_select_option",
|
|
64
|
+
"browser_press_key",
|
|
65
|
+
"browser_wait",
|
|
66
|
+
"browser_get_console_logs",
|
|
67
|
+
"browser_screenshot"
|
|
68
|
+
],
|
|
69
|
+
"diagnostics": [],
|
|
70
|
+
"schemas": {
|
|
71
|
+
"browser_navigate": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"properties": {
|
|
74
|
+
"url": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "The URL to navigate to"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"required": [
|
|
80
|
+
"url"
|
|
81
|
+
],
|
|
82
|
+
"additionalProperties": false,
|
|
83
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
84
|
+
},
|
|
85
|
+
"browser_go_back": {
|
|
86
|
+
"type": "object",
|
|
87
|
+
"properties": {},
|
|
88
|
+
"additionalProperties": false,
|
|
89
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
90
|
+
},
|
|
91
|
+
"browser_go_forward": {
|
|
92
|
+
"type": "object",
|
|
93
|
+
"properties": {},
|
|
94
|
+
"additionalProperties": false,
|
|
95
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
96
|
+
},
|
|
97
|
+
"browser_snapshot": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {},
|
|
100
|
+
"additionalProperties": false,
|
|
101
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
102
|
+
},
|
|
103
|
+
"browser_click": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"properties": {
|
|
106
|
+
"element": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"description": "Human-readable element description used to obtain permission to interact with the element"
|
|
109
|
+
},
|
|
110
|
+
"ref": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "Exact target element reference from the page snapshot"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"required": [
|
|
116
|
+
"element",
|
|
117
|
+
"ref"
|
|
118
|
+
],
|
|
119
|
+
"additionalProperties": false,
|
|
120
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
121
|
+
},
|
|
122
|
+
"browser_hover": {
|
|
123
|
+
"type": "object",
|
|
124
|
+
"properties": {
|
|
125
|
+
"element": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"description": "Human-readable element description used to obtain permission to interact with the element"
|
|
128
|
+
},
|
|
129
|
+
"ref": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"description": "Exact target element reference from the page snapshot"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"required": [
|
|
135
|
+
"element",
|
|
136
|
+
"ref"
|
|
137
|
+
],
|
|
138
|
+
"additionalProperties": false,
|
|
139
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
140
|
+
},
|
|
141
|
+
"browser_type": {
|
|
142
|
+
"type": "object",
|
|
143
|
+
"properties": {
|
|
144
|
+
"element": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"description": "Human-readable element description used to obtain permission to interact with the element"
|
|
147
|
+
},
|
|
148
|
+
"ref": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"description": "Exact target element reference from the page snapshot"
|
|
151
|
+
},
|
|
152
|
+
"text": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"description": "Text to type into the element"
|
|
155
|
+
},
|
|
156
|
+
"submit": {
|
|
157
|
+
"type": "boolean",
|
|
158
|
+
"description": "Whether to submit entered text (press Enter after)"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"required": [
|
|
162
|
+
"element",
|
|
163
|
+
"ref",
|
|
164
|
+
"text",
|
|
165
|
+
"submit"
|
|
166
|
+
],
|
|
167
|
+
"additionalProperties": false,
|
|
168
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
169
|
+
},
|
|
170
|
+
"browser_select_option": {
|
|
171
|
+
"type": "object",
|
|
172
|
+
"properties": {
|
|
173
|
+
"element": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"description": "Human-readable element description used to obtain permission to interact with the element"
|
|
176
|
+
},
|
|
177
|
+
"ref": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"description": "Exact target element reference from the page snapshot"
|
|
180
|
+
},
|
|
181
|
+
"values": {
|
|
182
|
+
"type": "array",
|
|
183
|
+
"items": {
|
|
184
|
+
"type": "string"
|
|
185
|
+
},
|
|
186
|
+
"description": "Array of values to select in the dropdown. This can be a single value or multiple values."
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"required": [
|
|
190
|
+
"element",
|
|
191
|
+
"ref",
|
|
192
|
+
"values"
|
|
193
|
+
],
|
|
194
|
+
"additionalProperties": false,
|
|
195
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
196
|
+
},
|
|
197
|
+
"browser_press_key": {
|
|
198
|
+
"type": "object",
|
|
199
|
+
"properties": {
|
|
200
|
+
"key": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"description": "Name of the key to press or a character to generate, such as `ArrowLeft` or `a`"
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"required": [
|
|
206
|
+
"key"
|
|
207
|
+
],
|
|
208
|
+
"additionalProperties": false,
|
|
209
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
210
|
+
},
|
|
211
|
+
"browser_wait": {
|
|
212
|
+
"type": "object",
|
|
213
|
+
"properties": {
|
|
214
|
+
"time": {
|
|
215
|
+
"type": "number",
|
|
216
|
+
"description": "The time to wait in seconds"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"required": [
|
|
220
|
+
"time"
|
|
221
|
+
],
|
|
222
|
+
"additionalProperties": false,
|
|
223
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
224
|
+
},
|
|
225
|
+
"browser_get_console_logs": {
|
|
226
|
+
"type": "object",
|
|
227
|
+
"properties": {},
|
|
228
|
+
"additionalProperties": false,
|
|
229
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
230
|
+
},
|
|
231
|
+
"browser_screenshot": {
|
|
232
|
+
"type": "object",
|
|
233
|
+
"properties": {},
|
|
234
|
+
"additionalProperties": false,
|
|
235
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
]
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"id": "prompts",
|
|
243
|
+
"capability": "prompts",
|
|
244
|
+
"status": "unsupported",
|
|
245
|
+
"durationMs": 0.0015829999993002275,
|
|
246
|
+
"message": "Prompts are not advertised by the target.",
|
|
247
|
+
"evidence": [
|
|
248
|
+
{
|
|
249
|
+
"endpoint": "prompts/list",
|
|
250
|
+
"advertised": false,
|
|
251
|
+
"responded": false,
|
|
252
|
+
"minimalShapePresent": false,
|
|
253
|
+
"diagnostics": []
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"id": "resources",
|
|
259
|
+
"capability": "resources",
|
|
260
|
+
"status": "pass",
|
|
261
|
+
"durationMs": 0.675042000000758,
|
|
262
|
+
"message": "Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.",
|
|
263
|
+
"evidence": [
|
|
264
|
+
{
|
|
265
|
+
"endpoint": "resources/list",
|
|
266
|
+
"advertised": true,
|
|
267
|
+
"responded": true,
|
|
268
|
+
"minimalShapePresent": true,
|
|
269
|
+
"itemCount": 0,
|
|
270
|
+
"identifiers": [],
|
|
271
|
+
"diagnostics": []
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"endpoint": "resources/templates/list",
|
|
275
|
+
"advertised": true,
|
|
276
|
+
"responded": false,
|
|
277
|
+
"minimalShapePresent": false,
|
|
278
|
+
"diagnostics": [
|
|
279
|
+
"MCP error -32601: Method not found"
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"id": "security-lite",
|
|
286
|
+
"capability": "security-lite",
|
|
287
|
+
"status": "pass",
|
|
288
|
+
"durationMs": 0.03508300000066811,
|
|
289
|
+
"message": "No security issues detected (lightweight scan).",
|
|
290
|
+
"evidence": [
|
|
291
|
+
{
|
|
292
|
+
"endpoint": "security/scan-lite",
|
|
293
|
+
"advertised": true,
|
|
294
|
+
"responded": true,
|
|
295
|
+
"minimalShapePresent": true,
|
|
296
|
+
"itemCount": 0
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"id": "conformance",
|
|
302
|
+
"capability": "conformance",
|
|
303
|
+
"status": "pass",
|
|
304
|
+
"durationMs": 2.116834000000381,
|
|
305
|
+
"message": "All 7 conformance checks passed.",
|
|
306
|
+
"evidence": [
|
|
307
|
+
{
|
|
308
|
+
"endpoint": "conformance/check",
|
|
309
|
+
"advertised": true,
|
|
310
|
+
"responded": true,
|
|
311
|
+
"minimalShapePresent": true,
|
|
312
|
+
"itemCount": 7,
|
|
313
|
+
"identifiers": [],
|
|
314
|
+
"diagnostics": [
|
|
315
|
+
"[pass] capabilities-present: Server returned capabilities object.",
|
|
316
|
+
"[pass] server-info: Server provided initialization info.",
|
|
317
|
+
"[pass] tools-capability-match: tools/list returned 12 tool(s).",
|
|
318
|
+
"[pass] prompts-capability-match: Prompts not advertised — endpoint check skipped.",
|
|
319
|
+
"[pass] resources-capability-match: resources/list returned 0 resource(s).",
|
|
320
|
+
"[pass] tool-response-content: Tool \"browser_go_back\" response has valid content array.",
|
|
321
|
+
"[pass] error-handling: Server returned proper error code -32601 for unknown method."
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"id": "schema-quality",
|
|
328
|
+
"capability": "schema-quality",
|
|
329
|
+
"status": "pass",
|
|
330
|
+
"durationMs": 0.5424579999998969,
|
|
331
|
+
"message": "All 12 item(s) have good schema quality.",
|
|
332
|
+
"evidence": [
|
|
333
|
+
{
|
|
334
|
+
"endpoint": "schema-quality/scan",
|
|
335
|
+
"advertised": true,
|
|
336
|
+
"responded": true,
|
|
337
|
+
"minimalShapePresent": true,
|
|
338
|
+
"itemCount": 0,
|
|
339
|
+
"identifiers": []
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"id": "security",
|
|
345
|
+
"capability": "security",
|
|
346
|
+
"status": "pass",
|
|
347
|
+
"durationMs": 0.24799999999959255,
|
|
348
|
+
"message": "No security issues detected.",
|
|
349
|
+
"evidence": [
|
|
350
|
+
{
|
|
351
|
+
"endpoint": "security/scan",
|
|
352
|
+
"advertised": true,
|
|
353
|
+
"responded": true,
|
|
354
|
+
"minimalShapePresent": true,
|
|
355
|
+
"itemCount": 0
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
}
|
|
359
|
+
],
|
|
360
|
+
"healthScore": {
|
|
361
|
+
"overall": 97,
|
|
362
|
+
"grade": "A",
|
|
363
|
+
"dimensions": [
|
|
364
|
+
{
|
|
365
|
+
"name": "Protocol Compliance",
|
|
366
|
+
"weight": 0.3,
|
|
367
|
+
"score": 100,
|
|
368
|
+
"details": [
|
|
369
|
+
"conformance: pass (100/100)"
|
|
370
|
+
]
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "Schema Quality",
|
|
374
|
+
"weight": 0.2,
|
|
375
|
+
"score": 100,
|
|
376
|
+
"details": [
|
|
377
|
+
"schema-quality: pass (100/100)"
|
|
378
|
+
]
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"name": "Security",
|
|
382
|
+
"weight": 0.2,
|
|
383
|
+
"score": 100,
|
|
384
|
+
"details": [
|
|
385
|
+
"security-lite: pass (100/100)",
|
|
386
|
+
"security: pass (100/100)"
|
|
387
|
+
]
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"name": "Reliability",
|
|
391
|
+
"weight": 0.2,
|
|
392
|
+
"score": 83,
|
|
393
|
+
"details": [
|
|
394
|
+
"tools: pass (100/100)",
|
|
395
|
+
"prompts: unsupported (50/100)",
|
|
396
|
+
"resources: pass (100/100)"
|
|
397
|
+
]
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "Performance",
|
|
401
|
+
"weight": 0.1,
|
|
402
|
+
"score": 100,
|
|
403
|
+
"details": [
|
|
404
|
+
"Connect: 903ms",
|
|
405
|
+
"p95 latency: 1ms (3 operations)"
|
|
406
|
+
]
|
|
407
|
+
}
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
"performanceMetrics": {
|
|
411
|
+
"connectMs": 902.8017089999994,
|
|
412
|
+
"toolsListMs": 1.2612079999998969,
|
|
413
|
+
"promptsListMs": 0.0015829999993002275,
|
|
414
|
+
"resourcesListMs": 0.675042000000758
|
|
415
|
+
}
|
|
416
|
+
}
|