@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.
Files changed (46) hide show
  1. package/README.md +8 -7
  2. package/dist/src/commands/init-ci.d.ts +3 -0
  3. package/dist/src/commands/init-ci.js +24 -12
  4. package/dist/src/commands/init-ci.js.map +1 -1
  5. package/dist/src/reporters/pr-comment.js +6 -2
  6. package/dist/src/reporters/pr-comment.js.map +1 -1
  7. package/docs/certification-campaign-template.md +2 -2
  8. package/docs/mcp-safety-report-latest.md +12 -7
  9. package/docs/mcp-server-safety-index.md +56 -80
  10. package/docs/methodology.md +90 -0
  11. package/docs/metrics-dashboard.md +105 -0
  12. package/docs/paid-pilot-offer.md +21 -5
  13. package/docs/project-case-study.md +12 -8
  14. package/docs/proof.md +28 -15
  15. package/docs/public-post-drafts.md +18 -6
  16. package/docs/publish-readiness.md +1 -5
  17. package/docs/reference-evaluations.md +1 -1
  18. package/docs/safety-index/artifacts/antv-chart-server.json +2765 -0
  19. package/docs/safety-index/artifacts/antv-chart-server.md +156 -0
  20. package/docs/safety-index/artifacts/browsermcp-server.json +416 -0
  21. package/docs/safety-index/artifacts/browsermcp-server.md +163 -0
  22. package/docs/safety-index/artifacts/context7-server.json +286 -0
  23. package/docs/safety-index/artifacts/context7-server.md +163 -0
  24. package/docs/safety-index/artifacts/everything-server.json +482 -0
  25. package/docs/safety-index/artifacts/everything-server.md +163 -0
  26. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +955 -0
  27. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +163 -0
  28. package/docs/safety-index/artifacts/filesystem-server.json +583 -0
  29. package/docs/safety-index/artifacts/filesystem-server.md +156 -0
  30. package/docs/safety-index/artifacts/memory-server.json +469 -0
  31. package/docs/safety-index/artifacts/memory-server.md +156 -0
  32. package/docs/safety-index/artifacts/opentofu-server.json +387 -0
  33. package/docs/safety-index/artifacts/opentofu-server.md +163 -0
  34. package/docs/safety-index/artifacts/playwright-mcp-server.json +919 -0
  35. package/docs/safety-index/artifacts/playwright-mcp-server.md +156 -0
  36. package/docs/safety-index/artifacts/promptopia-server.json +442 -0
  37. package/docs/safety-index/artifacts/promptopia-server.md +156 -0
  38. package/docs/safety-index/artifacts/puppeteer-server.json +377 -0
  39. package/docs/safety-index/artifacts/puppeteer-server.md +163 -0
  40. package/docs/safety-index/artifacts/ref-tools-server.json +262 -0
  41. package/docs/safety-index/artifacts/ref-tools-server.md +156 -0
  42. package/docs/safety-index/artifacts/sequential-thinking-server.json +286 -0
  43. package/docs/safety-index/artifacts/sequential-thinking-server.md +156 -0
  44. package/docs/safety-index/maintainer-note-template.md +25 -0
  45. package/docs/safety-index/targets.json +192 -0
  46. package/package.json +12 -9
@@ -0,0 +1,262 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "pass",
5
+ "runId": "run_2026-06-24T020728542Z_cc57c712",
6
+ "createdAt": "2026-06-24T02:07:28.542Z",
7
+ "toolVersion": "0.24.0",
8
+ "target": {
9
+ "targetId": "ref-tools-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "ref-tools-mcp"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "ref-tools-mcp",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Developer reference tooling",
21
+ "failureClass": "Prompt/tool inventory",
22
+ "whyItMatters": "Developer tools become agent dependencies when wired into coding workflows."
23
+ },
24
+ "serverName": "Ref",
25
+ "serverVersion": "3.0.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": 0.9550839999992604,
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
+ "ref_search_documentation",
57
+ "ref_read_url"
58
+ ],
59
+ "diagnostics": [
60
+ "Ref MCP Server running on stdio"
61
+ ],
62
+ "schemas": {
63
+ "ref_search_documentation": {
64
+ "type": "object",
65
+ "properties": {
66
+ "query": {
67
+ "type": "string",
68
+ "description": "Query for documentation. Should include programming language and framework or library names. Searches public only docs by default, include ref_src=private to search a user's private docs."
69
+ }
70
+ },
71
+ "required": [
72
+ "query"
73
+ ]
74
+ },
75
+ "ref_read_url": {
76
+ "type": "object",
77
+ "properties": {
78
+ "url": {
79
+ "type": "string",
80
+ "description": "The URL of the webpage to read."
81
+ }
82
+ },
83
+ "required": [
84
+ "url"
85
+ ]
86
+ }
87
+ }
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "id": "prompts",
93
+ "capability": "prompts",
94
+ "status": "pass",
95
+ "durationMs": 0.21733400000084657,
96
+ "message": "Advertised capability responded with the minimal expected shape (2 items).",
97
+ "evidence": [
98
+ {
99
+ "endpoint": "prompts/list",
100
+ "advertised": true,
101
+ "responded": true,
102
+ "minimalShapePresent": true,
103
+ "itemCount": 2,
104
+ "identifiers": [
105
+ "search_docs",
106
+ "my_docs"
107
+ ],
108
+ "diagnostics": [
109
+ "Ref MCP Server running on stdio"
110
+ ]
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "id": "resources",
116
+ "capability": "resources",
117
+ "status": "unsupported",
118
+ "durationMs": 0.002375000000029104,
119
+ "message": "Resources are not advertised by the target.",
120
+ "evidence": [
121
+ {
122
+ "endpoint": "resources/list | resources/templates/list",
123
+ "advertised": false,
124
+ "responded": false,
125
+ "minimalShapePresent": false,
126
+ "diagnostics": []
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "id": "security-lite",
132
+ "capability": "security-lite",
133
+ "status": "pass",
134
+ "durationMs": 0.017791999998735264,
135
+ "message": "No security issues detected (lightweight scan).",
136
+ "evidence": [
137
+ {
138
+ "endpoint": "security/scan-lite",
139
+ "advertised": true,
140
+ "responded": true,
141
+ "minimalShapePresent": true,
142
+ "itemCount": 0
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "id": "conformance",
148
+ "capability": "conformance",
149
+ "status": "pass",
150
+ "durationMs": 0.5875410000007832,
151
+ "message": "All 7 conformance checks passed.",
152
+ "evidence": [
153
+ {
154
+ "endpoint": "conformance/check",
155
+ "advertised": true,
156
+ "responded": true,
157
+ "minimalShapePresent": true,
158
+ "itemCount": 7,
159
+ "identifiers": [],
160
+ "diagnostics": [
161
+ "[pass] capabilities-present: Server returned capabilities object.",
162
+ "[pass] server-info: Server provided initialization info.",
163
+ "[pass] tools-capability-match: tools/list returned 2 tool(s).",
164
+ "[pass] prompts-capability-match: prompts/list returned 2 prompt(s).",
165
+ "[pass] resources-capability-match: Resources not advertised — endpoint check skipped.",
166
+ "[pass] tool-response-content: No safe tool to invoke — content validation skipped.",
167
+ "[pass] error-handling: Server returned proper error code -32601 for unknown method."
168
+ ]
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "id": "schema-quality",
174
+ "capability": "schema-quality",
175
+ "status": "pass",
176
+ "durationMs": 0.4417920000014419,
177
+ "message": "All 4 item(s) have good schema quality.",
178
+ "evidence": [
179
+ {
180
+ "endpoint": "schema-quality/scan",
181
+ "advertised": true,
182
+ "responded": true,
183
+ "minimalShapePresent": true,
184
+ "itemCount": 0,
185
+ "identifiers": []
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ "id": "security",
191
+ "capability": "security",
192
+ "status": "pass",
193
+ "durationMs": 0.44887500000004366,
194
+ "message": "No security issues detected.",
195
+ "evidence": [
196
+ {
197
+ "endpoint": "security/scan",
198
+ "advertised": true,
199
+ "responded": true,
200
+ "minimalShapePresent": true,
201
+ "itemCount": 0
202
+ }
203
+ ]
204
+ }
205
+ ],
206
+ "healthScore": {
207
+ "overall": 97,
208
+ "grade": "A",
209
+ "dimensions": [
210
+ {
211
+ "name": "Protocol Compliance",
212
+ "weight": 0.3,
213
+ "score": 100,
214
+ "details": [
215
+ "conformance: pass (100/100)"
216
+ ]
217
+ },
218
+ {
219
+ "name": "Schema Quality",
220
+ "weight": 0.2,
221
+ "score": 100,
222
+ "details": [
223
+ "schema-quality: pass (100/100)"
224
+ ]
225
+ },
226
+ {
227
+ "name": "Security",
228
+ "weight": 0.2,
229
+ "score": 100,
230
+ "details": [
231
+ "security-lite: pass (100/100)",
232
+ "security: pass (100/100)"
233
+ ]
234
+ },
235
+ {
236
+ "name": "Reliability",
237
+ "weight": 0.2,
238
+ "score": 83,
239
+ "details": [
240
+ "tools: pass (100/100)",
241
+ "prompts: pass (100/100)",
242
+ "resources: unsupported (50/100)"
243
+ ]
244
+ },
245
+ {
246
+ "name": "Performance",
247
+ "weight": 0.1,
248
+ "score": 100,
249
+ "details": [
250
+ "Connect: 775ms",
251
+ "p95 latency: 1ms (3 operations)"
252
+ ]
253
+ }
254
+ ]
255
+ },
256
+ "performanceMetrics": {
257
+ "connectMs": 774.5396250000003,
258
+ "toolsListMs": 0.9550839999992604,
259
+ "promptsListMs": 0.21733400000084657,
260
+ "resourcesListMs": 0.002375000000029104
261
+ }
262
+ }
@@ -0,0 +1,156 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-06-24T02:07:28.542Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `ref-tools-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y ref-tools-mcp`
10
+ - Server: `Ref 3.0.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: resources
39
+ - Suggested next step: Confirm that unsupported capabilities are intentional for this target: 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 | 0.59 | All 7 conformance checks passed. |
51
+ | healthy | prompts | pass | 0.22 | Advertised capability responded with the minimal expected shape (2 items). |
52
+ | healthy | schema-quality | pass | 0.44 | All 4 item(s) have good schema quality. |
53
+ | healthy | security | pass | 0.45 | No security issues detected. |
54
+ | healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
55
+ | healthy | tools | pass | 0.96 | Advertised capability responded with the minimal expected shape (2 items). |
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 2 tool(s). (+4 more)
71
+
72
+ ### prompts — pass
73
+
74
+ Summary: Advertised capability responded with the minimal expected shape (2 items).
75
+
76
+ - Endpoint: `prompts/list`
77
+ - Advertised: `true`
78
+ - Responded: `true`
79
+ - Minimal shape present: `true`
80
+ - Item count: `2`
81
+ - Identifiers: search_docs, my_docs
82
+ - Diagnostics: Ref MCP Server running on stdio
83
+
84
+ ### schema-quality — pass
85
+
86
+ Summary: All 4 item(s) have good schema quality.
87
+
88
+ - Endpoint: `schema-quality/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 — pass
97
+
98
+ Summary: No security issues detected.
99
+
100
+ - Endpoint: `security/scan`
101
+ - Advertised: `true`
102
+ - Responded: `true`
103
+ - Minimal shape present: `true`
104
+ - Item count: `0`
105
+ - Identifiers: none
106
+ - Diagnostics: none
107
+
108
+ ### security-lite — pass
109
+
110
+ Summary: No security issues detected (lightweight scan).
111
+
112
+ - Endpoint: `security/scan-lite`
113
+ - Advertised: `true`
114
+ - Responded: `true`
115
+ - Minimal shape present: `true`
116
+ - Item count: `0`
117
+ - Identifiers: none
118
+ - Diagnostics: none
119
+
120
+ ### tools — pass
121
+
122
+ Summary: Advertised capability responded with the minimal expected shape (2 items).
123
+
124
+ - Endpoint: `tools/list`
125
+ - Advertised: `true`
126
+ - Responded: `true`
127
+ - Minimal shape present: `true`
128
+ - Item count: `2`
129
+ - Identifiers: ref_search_documentation, ref_read_url
130
+ - Diagnostics: Ref MCP Server running on stdio
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-24T020728542Z_cc57c712`
156
+ - Gate: `pass`
@@ -0,0 +1,286 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "pass",
5
+ "runId": "run_2026-06-24T020722515Z_10f2e6a0",
6
+ "createdAt": "2026-06-24T02:07:22.515Z",
7
+ "toolVersion": "0.24.0",
8
+ "target": {
9
+ "targetId": "sequential-thinking-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "@modelcontextprotocol/server-sequential-thinking"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "@modelcontextprotocol/server-sequential-thinking",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Reference compatibility",
21
+ "failureClass": "Tool schema clarity",
22
+ "whyItMatters": "Small official tools server that makes schema readability easy to inspect."
23
+ },
24
+ "serverName": "sequential-thinking-server",
25
+ "serverVersion": "0.2.0"
26
+ },
27
+ "environment": {
28
+ "platform": "darwin 25.5.0",
29
+ "nodeVersion": "v22.22.1"
30
+ },
31
+ "summary": {
32
+ "total": 7,
33
+ "pass": 5,
34
+ "fail": 0,
35
+ "partial": 0,
36
+ "unsupported": 2,
37
+ "flaky": 0,
38
+ "skipped": 0,
39
+ "gate": "pass"
40
+ },
41
+ "checks": [
42
+ {
43
+ "id": "tools",
44
+ "capability": "tools",
45
+ "status": "pass",
46
+ "durationMs": 4.4761249999996835,
47
+ "message": "Advertised capability responded with the minimal expected shape (1 item).",
48
+ "evidence": [
49
+ {
50
+ "endpoint": "tools/list",
51
+ "advertised": true,
52
+ "responded": true,
53
+ "minimalShapePresent": true,
54
+ "itemCount": 1,
55
+ "identifiers": [
56
+ "sequentialthinking"
57
+ ],
58
+ "diagnostics": [
59
+ "Sequential Thinking MCP Server running on stdio"
60
+ ],
61
+ "schemas": {
62
+ "sequentialthinking": {
63
+ "type": "object",
64
+ "properties": {
65
+ "thought": {
66
+ "type": "string",
67
+ "description": "Your current thinking step"
68
+ },
69
+ "nextThoughtNeeded": {
70
+ "type": "boolean",
71
+ "description": "Whether another thought step is needed"
72
+ },
73
+ "thoughtNumber": {
74
+ "type": "integer",
75
+ "minimum": 1,
76
+ "maximum": 9007199254740991,
77
+ "description": "Current thought number (numeric value, e.g., 1, 2, 3)"
78
+ },
79
+ "totalThoughts": {
80
+ "type": "integer",
81
+ "minimum": 1,
82
+ "maximum": 9007199254740991,
83
+ "description": "Estimated total thoughts needed (numeric value, e.g., 5, 10)"
84
+ },
85
+ "isRevision": {
86
+ "description": "Whether this revises previous thinking",
87
+ "type": "boolean"
88
+ },
89
+ "revisesThought": {
90
+ "description": "Which thought is being reconsidered",
91
+ "type": "integer",
92
+ "minimum": 1,
93
+ "maximum": 9007199254740991
94
+ },
95
+ "branchFromThought": {
96
+ "description": "Branching point thought number",
97
+ "type": "integer",
98
+ "minimum": 1,
99
+ "maximum": 9007199254740991
100
+ },
101
+ "branchId": {
102
+ "description": "Branch identifier",
103
+ "type": "string"
104
+ },
105
+ "needsMoreThoughts": {
106
+ "description": "If more thoughts are needed",
107
+ "type": "boolean"
108
+ }
109
+ },
110
+ "required": [
111
+ "thought",
112
+ "nextThoughtNeeded",
113
+ "thoughtNumber",
114
+ "totalThoughts"
115
+ ],
116
+ "$schema": "http://json-schema.org/draft-07/schema#"
117
+ }
118
+ }
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "id": "prompts",
124
+ "capability": "prompts",
125
+ "status": "unsupported",
126
+ "durationMs": 0.005541999999877589,
127
+ "message": "Prompts are not advertised by the target.",
128
+ "evidence": [
129
+ {
130
+ "endpoint": "prompts/list",
131
+ "advertised": false,
132
+ "responded": false,
133
+ "minimalShapePresent": false,
134
+ "diagnostics": []
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ "id": "resources",
140
+ "capability": "resources",
141
+ "status": "unsupported",
142
+ "durationMs": 0.0015410000000883883,
143
+ "message": "Resources are not advertised by the target.",
144
+ "evidence": [
145
+ {
146
+ "endpoint": "resources/list | resources/templates/list",
147
+ "advertised": false,
148
+ "responded": false,
149
+ "minimalShapePresent": false,
150
+ "diagnostics": []
151
+ }
152
+ ]
153
+ },
154
+ {
155
+ "id": "security-lite",
156
+ "capability": "security-lite",
157
+ "status": "pass",
158
+ "durationMs": 0.1121250000001055,
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": 2.253124999999727,
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 1 tool(s).",
188
+ "[pass] prompts-capability-match: Prompts not advertised — endpoint check skipped.",
189
+ "[pass] resources-capability-match: Resources not advertised — endpoint check skipped.",
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.8925840000001699,
201
+ "message": "All 1 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": 1.133458000000246,
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": 93,
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": 67,
263
+ "details": [
264
+ "tools: pass (100/100)",
265
+ "prompts: unsupported (50/100)",
266
+ "resources: unsupported (50/100)"
267
+ ]
268
+ },
269
+ {
270
+ "name": "Performance",
271
+ "weight": 0.1,
272
+ "score": 100,
273
+ "details": [
274
+ "Connect: 722ms",
275
+ "p95 latency: 4ms (3 operations)"
276
+ ]
277
+ }
278
+ ]
279
+ },
280
+ "performanceMetrics": {
281
+ "connectMs": 722.4729170000003,
282
+ "toolsListMs": 4.4761249999996835,
283
+ "promptsListMs": 0.005541999999877589,
284
+ "resourcesListMs": 0.0015410000000883883
285
+ }
286
+ }