@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,156 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-06-24T02:07:25.699Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `promptopia-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y promptopia-mcp`
10
+ - Server: `promptopia-mcp 1.1.0`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ **Health Score: 89/100 (B)**
17
+
18
+ | Dimension | Score | Weight |
19
+ | --- | --- | --- |
20
+ | Protocol Compliance | 100/100 | 30% |
21
+ | Schema Quality | 60/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 | 5 | 0 | 1 | 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: schema-quality: Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info.
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: schema-quality
37
+ - Skipped checks: none
38
+ - Unsupported checks: resources
39
+ - Suggested next step: Review the caveated checks next: schema-quality.
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.66 | All 7 conformance checks passed. |
51
+ | healthy | prompts | pass | 1.13 | Advertised capability responded with the minimal expected shape (1 item). |
52
+ | healthy | security | pass | 0.19 | No security issues detected. |
53
+ | healthy | security-lite | pass | 0.03 | No security issues detected (lightweight scan). |
54
+ | healthy | tools | pass | 1.03 | Advertised capability responded with the minimal expected shape (7 items). |
55
+ | review | schema-quality | partial | 0.66 | Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info. |
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 7 tool(s). (+4 more)
71
+
72
+ ### prompts — pass
73
+
74
+ Summary: Advertised capability responded with the minimal expected shape (1 item).
75
+
76
+ - Endpoint: `prompts/list`
77
+ - Advertised: `true`
78
+ - Responded: `true`
79
+ - Minimal shape present: `true`
80
+ - Item count: `1`
81
+ - Identifiers: demo_welcome
82
+ - Diagnostics: Watching for changes in prompts directory: /Users/williamweishuhn/Documents/New project/mcp-observatory/examples/promptopia-prompts, promptopia-mcp MCP server running (v1.1.0)
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 (7 items).
111
+
112
+ - Endpoint: `tools/list`
113
+ - Advertised: `true`
114
+ - Responded: `true`
115
+ - Minimal shape present: `true`
116
+ - Item count: `7`
117
+ - Identifiers: add_prompt, update_prompt, get_prompt, list_prompts, delete_prompt (+2 more)
118
+ - Diagnostics: Watching for changes in prompts directory: /Users/williamweishuhn/Documents/New project/mcp-observatory/examples/promptopia-prompts, promptopia-mcp MCP server running (v1.1.0)
119
+
120
+ ### schema-quality — partial
121
+
122
+ Summary: Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info.
123
+
124
+ - Endpoint: `schema-quality/scan`
125
+ - Advertised: `true`
126
+ - Responded: `true`
127
+ - Minimal shape present: `true`
128
+ - Item count: `1`
129
+ - Identifiers: demo_welcome
130
+ - Diagnostics: [info] prompt "demo_welcome": Argument 'name' missing description
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-24T020725699Z_7cde9d35`
156
+ - Gate: `pass`
@@ -0,0 +1,377 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "pass",
5
+ "runId": "run_2026-06-24T020730285Z_85ad0698",
6
+ "createdAt": "2026-06-24T02:07:30.285Z",
7
+ "toolVersion": "0.24.0",
8
+ "target": {
9
+ "targetId": "puppeteer-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "puppeteer-mcp-server"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "puppeteer-mcp-server",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Browser control",
21
+ "failureClass": "Browser/code execution boundary",
22
+ "whyItMatters": "Browser automation gives agents navigation, page state, and sometimes code-evaluation powers."
23
+ },
24
+ "serverName": "example-servers/puppeteer",
25
+ "serverVersion": "0.1.0"
26
+ },
27
+ "environment": {
28
+ "platform": "darwin 25.5.0",
29
+ "nodeVersion": "v22.22.1"
30
+ },
31
+ "summary": {
32
+ "total": 7,
33
+ "pass": 4,
34
+ "fail": 0,
35
+ "partial": 2,
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.41391699999985576,
47
+ "message": "Advertised capability responded with the minimal expected shape (8 items).",
48
+ "evidence": [
49
+ {
50
+ "endpoint": "tools/list",
51
+ "advertised": true,
52
+ "responded": true,
53
+ "minimalShapePresent": true,
54
+ "itemCount": 8,
55
+ "identifiers": [
56
+ "puppeteer_connect_active_tab",
57
+ "puppeteer_navigate",
58
+ "puppeteer_screenshot",
59
+ "puppeteer_click",
60
+ "puppeteer_fill",
61
+ "puppeteer_select",
62
+ "puppeteer_hover",
63
+ "puppeteer_evaluate"
64
+ ],
65
+ "diagnostics": [],
66
+ "schemas": {
67
+ "puppeteer_connect_active_tab": {
68
+ "type": "object",
69
+ "properties": {
70
+ "targetUrl": {
71
+ "type": "string",
72
+ "description": "Optional URL of the target tab to connect to. If not provided, connects to the first available tab."
73
+ },
74
+ "debugPort": {
75
+ "type": "number",
76
+ "description": "Optional Chrome debugging port (default: 9222)",
77
+ "default": 9222
78
+ }
79
+ },
80
+ "required": []
81
+ },
82
+ "puppeteer_navigate": {
83
+ "type": "object",
84
+ "properties": {
85
+ "url": {
86
+ "type": "string"
87
+ }
88
+ },
89
+ "required": [
90
+ "url"
91
+ ]
92
+ },
93
+ "puppeteer_screenshot": {
94
+ "type": "object",
95
+ "properties": {
96
+ "name": {
97
+ "type": "string",
98
+ "description": "Name for the screenshot"
99
+ },
100
+ "selector": {
101
+ "type": "string",
102
+ "description": "CSS selector for element to screenshot"
103
+ },
104
+ "width": {
105
+ "type": "number",
106
+ "description": "Width in pixels (default: 800)"
107
+ },
108
+ "height": {
109
+ "type": "number",
110
+ "description": "Height in pixels (default: 600)"
111
+ }
112
+ },
113
+ "required": [
114
+ "name"
115
+ ]
116
+ },
117
+ "puppeteer_click": {
118
+ "type": "object",
119
+ "properties": {
120
+ "selector": {
121
+ "type": "string",
122
+ "description": "CSS selector for element to click"
123
+ }
124
+ },
125
+ "required": [
126
+ "selector"
127
+ ]
128
+ },
129
+ "puppeteer_fill": {
130
+ "type": "object",
131
+ "properties": {
132
+ "selector": {
133
+ "type": "string",
134
+ "description": "CSS selector for input field"
135
+ },
136
+ "value": {
137
+ "type": "string",
138
+ "description": "Value to fill"
139
+ }
140
+ },
141
+ "required": [
142
+ "selector",
143
+ "value"
144
+ ]
145
+ },
146
+ "puppeteer_select": {
147
+ "type": "object",
148
+ "properties": {
149
+ "selector": {
150
+ "type": "string",
151
+ "description": "CSS selector for element to select"
152
+ },
153
+ "value": {
154
+ "type": "string",
155
+ "description": "Value to select"
156
+ }
157
+ },
158
+ "required": [
159
+ "selector",
160
+ "value"
161
+ ]
162
+ },
163
+ "puppeteer_hover": {
164
+ "type": "object",
165
+ "properties": {
166
+ "selector": {
167
+ "type": "string",
168
+ "description": "CSS selector for element to hover"
169
+ }
170
+ },
171
+ "required": [
172
+ "selector"
173
+ ]
174
+ },
175
+ "puppeteer_evaluate": {
176
+ "type": "object",
177
+ "properties": {
178
+ "script": {
179
+ "type": "string",
180
+ "description": "JavaScript code to execute"
181
+ }
182
+ },
183
+ "required": [
184
+ "script"
185
+ ]
186
+ }
187
+ }
188
+ }
189
+ ]
190
+ },
191
+ {
192
+ "id": "prompts",
193
+ "capability": "prompts",
194
+ "status": "unsupported",
195
+ "durationMs": 0.0010000000002037268,
196
+ "message": "Prompts are not advertised by the target.",
197
+ "evidence": [
198
+ {
199
+ "endpoint": "prompts/list",
200
+ "advertised": false,
201
+ "responded": false,
202
+ "minimalShapePresent": false,
203
+ "diagnostics": []
204
+ }
205
+ ]
206
+ },
207
+ {
208
+ "id": "resources",
209
+ "capability": "resources",
210
+ "status": "pass",
211
+ "durationMs": 0.864040999998906,
212
+ "message": "Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.",
213
+ "evidence": [
214
+ {
215
+ "endpoint": "resources/list",
216
+ "advertised": true,
217
+ "responded": true,
218
+ "minimalShapePresent": true,
219
+ "itemCount": 1,
220
+ "identifiers": [
221
+ "console://logs"
222
+ ],
223
+ "diagnostics": []
224
+ },
225
+ {
226
+ "endpoint": "resources/templates/list",
227
+ "advertised": true,
228
+ "responded": false,
229
+ "minimalShapePresent": false,
230
+ "diagnostics": [
231
+ "MCP error -32601: Method not found"
232
+ ]
233
+ }
234
+ ]
235
+ },
236
+ {
237
+ "id": "security-lite",
238
+ "capability": "security-lite",
239
+ "status": "pass",
240
+ "durationMs": 0.041500000001178705,
241
+ "message": "No security issues detected (lightweight scan).",
242
+ "evidence": [
243
+ {
244
+ "endpoint": "security/scan-lite",
245
+ "advertised": true,
246
+ "responded": true,
247
+ "minimalShapePresent": true,
248
+ "itemCount": 0
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "id": "conformance",
254
+ "capability": "conformance",
255
+ "status": "partial",
256
+ "durationMs": 2.417708999999377,
257
+ "message": "6/7 conformance checks passed, 1 failed.",
258
+ "evidence": [
259
+ {
260
+ "endpoint": "conformance/check",
261
+ "advertised": true,
262
+ "responded": true,
263
+ "minimalShapePresent": false,
264
+ "itemCount": 7,
265
+ "identifiers": [
266
+ "tool-response-content"
267
+ ],
268
+ "diagnostics": [
269
+ "[pass] capabilities-present: Server returned capabilities object.",
270
+ "[pass] server-info: Server provided initialization info.",
271
+ "[pass] tools-capability-match: tools/list returned 8 tool(s).",
272
+ "[pass] prompts-capability-match: Prompts not advertised — endpoint check skipped.",
273
+ "[pass] resources-capability-match: resources/list returned 1 resource(s).",
274
+ "[FAIL] tool-response-content: Tool response content check failed: MCP error -32603: Could not find Chrome (ver. 131.0.6778.204). This can occur if either\n 1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or\n 2. your cache path is incorrectly configured (which is: /Users/williamweishuhn/.cache/puppeteer).\nFor (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.",
275
+ "[pass] error-handling: Server returned proper error code -32601 for unknown method."
276
+ ]
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "id": "schema-quality",
282
+ "capability": "schema-quality",
283
+ "status": "partial",
284
+ "durationMs": 0.33158299999922747,
285
+ "message": "Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.",
286
+ "evidence": [
287
+ {
288
+ "endpoint": "schema-quality/scan",
289
+ "advertised": true,
290
+ "responded": true,
291
+ "minimalShapePresent": true,
292
+ "itemCount": 2,
293
+ "identifiers": [
294
+ "puppeteer_navigate",
295
+ "Browser console logs"
296
+ ],
297
+ "diagnostics": [
298
+ "[info] tool \"puppeteer_navigate\": Property 'url' missing description",
299
+ "[warning] resource \"Browser console logs\": Missing description"
300
+ ]
301
+ }
302
+ ]
303
+ },
304
+ {
305
+ "id": "security",
306
+ "capability": "security",
307
+ "status": "pass",
308
+ "durationMs": 0.18262499999946158,
309
+ "message": "No security issues detected.",
310
+ "evidence": [
311
+ {
312
+ "endpoint": "security/scan",
313
+ "advertised": true,
314
+ "responded": true,
315
+ "minimalShapePresent": true,
316
+ "itemCount": 0
317
+ }
318
+ ]
319
+ }
320
+ ],
321
+ "healthScore": {
322
+ "overall": 77,
323
+ "grade": "C",
324
+ "dimensions": [
325
+ {
326
+ "name": "Protocol Compliance",
327
+ "weight": 0.3,
328
+ "score": 60,
329
+ "details": [
330
+ "conformance: partial (60/100)"
331
+ ]
332
+ },
333
+ {
334
+ "name": "Schema Quality",
335
+ "weight": 0.2,
336
+ "score": 60,
337
+ "details": [
338
+ "schema-quality: partial (60/100)"
339
+ ]
340
+ },
341
+ {
342
+ "name": "Security",
343
+ "weight": 0.2,
344
+ "score": 100,
345
+ "details": [
346
+ "security-lite: pass (100/100)",
347
+ "security: pass (100/100)"
348
+ ]
349
+ },
350
+ {
351
+ "name": "Reliability",
352
+ "weight": 0.2,
353
+ "score": 83,
354
+ "details": [
355
+ "tools: pass (100/100)",
356
+ "prompts: unsupported (50/100)",
357
+ "resources: pass (100/100)"
358
+ ]
359
+ },
360
+ {
361
+ "name": "Performance",
362
+ "weight": 0.1,
363
+ "score": 100,
364
+ "details": [
365
+ "Connect: 812ms",
366
+ "p95 latency: 1ms (3 operations)"
367
+ ]
368
+ }
369
+ ]
370
+ },
371
+ "performanceMetrics": {
372
+ "connectMs": 812.1966250000005,
373
+ "toolsListMs": 0.41391699999985576,
374
+ "promptsListMs": 0.0010000000002037268,
375
+ "resourcesListMs": 0.864040999998906
376
+ }
377
+ }
@@ -0,0 +1,163 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-06-24T02:07:30.285Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `puppeteer-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y puppeteer-mcp-server`
10
+ - Server: `example-servers/puppeteer 0.1.0`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ **Health Score: 77/100 (C)**
17
+
18
+ | Dimension | Score | Weight |
19
+ | --- | --- | --- |
20
+ | Protocol Compliance | 60/100 | 30% |
21
+ | Schema Quality | 60/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 | 4 | 0 | 2 | 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: conformance: 6/7 conformance checks passed, 1 failed.; schema-quality: Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.
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: conformance, schema-quality
37
+ - Skipped checks: none
38
+ - Unsupported checks: prompts
39
+ - Suggested next step: Review the caveated checks next: conformance, schema-quality.
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 | resources | pass | 0.86 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
51
+ | healthy | security | pass | 0.18 | No security issues detected. |
52
+ | healthy | security-lite | pass | 0.04 | No security issues detected (lightweight scan). |
53
+ | healthy | tools | pass | 0.41 | Advertised capability responded with the minimal expected shape (8 items). |
54
+ | review | conformance | partial | 2.42 | 6/7 conformance checks passed, 1 failed. |
55
+ | review | schema-quality | partial | 0.33 | Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info. |
56
+ | confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
57
+
58
+ ## Evidence Snippets
59
+
60
+ ### resources — pass
61
+
62
+ Summary: Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.
63
+
64
+ - Endpoint: `resources/list`
65
+ - Advertised: `true`
66
+ - Responded: `true`
67
+ - Minimal shape present: `true`
68
+ - Item count: `1`
69
+ - Identifiers: console://logs
70
+ - Diagnostics: none
71
+ - Endpoint: `resources/templates/list`
72
+ - Advertised: `true`
73
+ - Responded: `false`
74
+ - Minimal shape present: `false`
75
+ - Item count: `0`
76
+ - Identifiers: none
77
+ - Diagnostics: MCP error -32601: Method not found
78
+
79
+ ### security — pass
80
+
81
+ Summary: No security issues detected.
82
+
83
+ - Endpoint: `security/scan`
84
+ - Advertised: `true`
85
+ - Responded: `true`
86
+ - Minimal shape present: `true`
87
+ - Item count: `0`
88
+ - Identifiers: none
89
+ - Diagnostics: none
90
+
91
+ ### security-lite — pass
92
+
93
+ Summary: No security issues detected (lightweight scan).
94
+
95
+ - Endpoint: `security/scan-lite`
96
+ - Advertised: `true`
97
+ - Responded: `true`
98
+ - Minimal shape present: `true`
99
+ - Item count: `0`
100
+ - Identifiers: none
101
+ - Diagnostics: none
102
+
103
+ ### tools — pass
104
+
105
+ Summary: Advertised capability responded with the minimal expected shape (8 items).
106
+
107
+ - Endpoint: `tools/list`
108
+ - Advertised: `true`
109
+ - Responded: `true`
110
+ - Minimal shape present: `true`
111
+ - Item count: `8`
112
+ - Identifiers: puppeteer_connect_active_tab, puppeteer_navigate, puppeteer_screenshot, puppeteer_click, puppeteer_fill (+3 more)
113
+ - Diagnostics: none
114
+
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
+ ### schema-quality — partial
128
+
129
+ Summary: Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.
130
+
131
+ - Endpoint: `schema-quality/scan`
132
+ - Advertised: `true`
133
+ - Responded: `true`
134
+ - Minimal shape present: `true`
135
+ - Item count: `2`
136
+ - Identifiers: puppeteer_navigate, Browser console logs
137
+ - Diagnostics: [info] tool "puppeteer_navigate": Property 'url' missing description, [warning] resource "Browser console logs": Missing description
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-24T020730285Z_85ad0698`
163
+ - Gate: `pass`