@kryptosai/mcp-observatory 0.28.0 → 1.28.1
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 +26 -5
- package/README.md +65 -12
- package/dist/src/action-receipt.d.ts +20 -0
- package/dist/src/action-receipt.js +85 -0
- package/dist/src/action-receipt.js.map +1 -0
- package/dist/src/audit.d.ts +64 -0
- package/dist/src/audit.js +359 -0
- package/dist/src/audit.js.map +1 -0
- package/dist/src/checks/attack-sim.d.ts +2 -0
- package/dist/src/checks/attack-sim.js +12 -0
- package/dist/src/checks/attack-sim.js.map +1 -1
- package/dist/src/cli.js +8 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/attack-sim.js +54 -2
- package/dist/src/commands/attack-sim.js.map +1 -1
- package/dist/src/commands/audit.d.ts +2 -0
- package/dist/src/commands/audit.js +132 -0
- package/dist/src/commands/audit.js.map +1 -0
- package/dist/src/commands/init-ci.d.ts +2 -0
- package/dist/src/commands/init-ci.js +71 -11
- package/dist/src/commands/init-ci.js.map +1 -1
- package/dist/src/commands/legacy.js +2 -0
- package/dist/src/commands/legacy.js.map +1 -1
- package/dist/src/commands/receipt.d.ts +2 -0
- package/dist/src/commands/receipt.js +113 -0
- package/dist/src/commands/receipt.js.map +1 -0
- package/dist/src/commands/scan.js +23 -5
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/score.js +63 -0
- package/dist/src/commands/score.js.map +1 -1
- package/dist/src/commands/setup-ci-conversion.d.ts +2 -1
- package/dist/src/commands/setup-ci-conversion.js +22 -8
- package/dist/src/commands/setup-ci-conversion.js.map +1 -1
- package/dist/src/commands/test.js +18 -1
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/findings.d.ts +1 -0
- package/dist/src/findings.js +1 -0
- package/dist/src/findings.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/receipt.d.ts +100 -0
- package/dist/src/receipt.js +375 -0
- package/dist/src/receipt.js.map +1 -0
- package/dist/src/reporters/attack-sim.js +6 -1
- package/dist/src/reporters/attack-sim.js.map +1 -1
- package/dist/src/reporters/sarif.js +11 -1
- package/dist/src/reporters/sarif.js.map +1 -1
- package/dist/src/security-profiles.d.ts +13 -0
- package/dist/src/security-profiles.js +59 -0
- package/dist/src/security-profiles.js.map +1 -0
- package/dist/src/telemetry.d.ts +7 -0
- package/dist/src/telemetry.js.map +1 -1
- package/docs/10x-agentic-growth-sprint.md +47 -0
- package/docs/agent-ecosystem-promotion-plan.md +1 -1
- package/docs/agentic-contributor-outreach.md +52 -0
- package/docs/code-scanning-demo.md +2 -2
- package/docs/commercial-boundary.md +83 -0
- package/docs/contributor-proof-cards/README.md +1 -1
- package/docs/examples/nsa-mcp-audit-report.md +372 -0
- package/docs/examples/nsa-mcp-results.sarif +930 -0
- package/docs/examples/nsa-mcp-score.json +13 -0
- package/docs/feishu-lark-mcp.md +1 -1
- package/docs/github-code-scanning-for-mcp.md +1 -1
- package/docs/government-enterprise-pilot.md +93 -0
- package/docs/mcp-receipts.md +109 -0
- package/docs/mcp-server-safety-index.md +26 -25
- package/docs/nsa-mcp-audit-ci.md +88 -0
- package/docs/procurement-one-pager.md +74 -0
- package/docs/proof.md +2 -2
- package/docs/public-guidance-crosswalk.md +48 -0
- package/docs/safety-index/artifacts/antv-chart-server.json +41 -23
- package/docs/safety-index/artifacts/antv-chart-server.md +23 -10
- package/docs/safety-index/artifacts/browsermcp-server.json +38 -20
- package/docs/safety-index/artifacts/browsermcp-server.md +23 -10
- package/docs/safety-index/artifacts/context7-server.json +85 -28
- package/docs/safety-index/artifacts/context7-server.md +35 -22
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +460 -36
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +31 -18
- package/docs/safety-index/artifacts/everything-server.json +38 -20
- package/docs/safety-index/artifacts/everything-server.md +25 -12
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +155 -20
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +26 -13
- package/docs/safety-index/artifacts/filesystem-server.json +116 -22
- package/docs/safety-index/artifacts/filesystem-server.md +27 -14
- package/docs/safety-index/artifacts/kubernetes-server.json +252 -27
- package/docs/safety-index/artifacts/kubernetes-server.md +44 -18
- package/docs/safety-index/artifacts/memory-server.json +39 -21
- package/docs/safety-index/artifacts/memory-server.md +24 -11
- package/docs/safety-index/artifacts/opentofu-server.json +38 -20
- package/docs/safety-index/artifacts/opentofu-server.md +24 -11
- package/docs/safety-index/artifacts/playwright-mcp-server.json +140 -20
- package/docs/safety-index/artifacts/playwright-mcp-server.md +26 -13
- package/docs/safety-index/artifacts/promptopia-server.json +41 -23
- package/docs/safety-index/artifacts/promptopia-server.md +26 -13
- package/docs/safety-index/artifacts/puppeteer-server.json +77 -34
- package/docs/safety-index/artifacts/puppeteer-server.md +45 -32
- package/docs/safety-index/artifacts/ref-tools-server.json +38 -20
- package/docs/safety-index/artifacts/ref-tools-server.md +22 -9
- package/docs/safety-index/artifacts/sequential-thinking-server.json +39 -21
- package/docs/safety-index/artifacts/sequential-thinking-server.md +23 -10
- package/docs/security-due-diligence.md +87 -0
- package/docs/setup-ci-doctor.md +11 -1
- package/docs/tool-call-receipts.md +1 -2
- package/examples/insecure-mcp-server/mcp-observatory.target.json +13 -0
- package/examples/insecure-mcp-server/server.mjs +62 -0
- package/package.json +12 -1
- package/scripts/postinstall.mjs +22 -7
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifactType": "run",
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
|
-
"gate": "
|
|
5
|
-
"runId": "run_2026-07-
|
|
6
|
-
"createdAt": "2026-07-
|
|
7
|
-
"toolVersion": "0.
|
|
4
|
+
"gate": "fail",
|
|
5
|
+
"runId": "run_2026-07-06T194953996Z_3a6d7344",
|
|
6
|
+
"createdAt": "2026-07-06T19:49:53.996Z",
|
|
7
|
+
"toolVersion": "0.28.0",
|
|
8
8
|
"target": {
|
|
9
9
|
"targetId": "puppeteer-server",
|
|
10
10
|
"adapter": "local-process",
|
|
@@ -25,25 +25,25 @@
|
|
|
25
25
|
"serverVersion": "0.1.0"
|
|
26
26
|
},
|
|
27
27
|
"environment": {
|
|
28
|
-
"platform": "darwin
|
|
29
|
-
"nodeVersion": "
|
|
28
|
+
"platform": "darwin 25.5.0",
|
|
29
|
+
"nodeVersion": "v22.22.1"
|
|
30
30
|
},
|
|
31
31
|
"summary": {
|
|
32
|
-
"total":
|
|
33
|
-
"pass":
|
|
34
|
-
"fail":
|
|
35
|
-
"partial":
|
|
32
|
+
"total": 8,
|
|
33
|
+
"pass": 4,
|
|
34
|
+
"fail": 1,
|
|
35
|
+
"partial": 2,
|
|
36
36
|
"unsupported": 1,
|
|
37
37
|
"flaky": 0,
|
|
38
38
|
"skipped": 0,
|
|
39
|
-
"gate": "
|
|
39
|
+
"gate": "fail"
|
|
40
40
|
},
|
|
41
41
|
"checks": [
|
|
42
42
|
{
|
|
43
43
|
"id": "tools",
|
|
44
44
|
"capability": "tools",
|
|
45
45
|
"status": "pass",
|
|
46
|
-
"durationMs": 0.
|
|
46
|
+
"durationMs": 0.4152910000011616,
|
|
47
47
|
"message": "Advertised capability responded with the minimal expected shape (8 items).",
|
|
48
48
|
"evidence": [
|
|
49
49
|
{
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
"id": "prompts",
|
|
193
193
|
"capability": "prompts",
|
|
194
194
|
"status": "unsupported",
|
|
195
|
-
"durationMs": 0.
|
|
195
|
+
"durationMs": 0.00045900000077381264,
|
|
196
196
|
"message": "Prompts are not advertised by the target.",
|
|
197
197
|
"evidence": [
|
|
198
198
|
{
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
"id": "resources",
|
|
209
209
|
"capability": "resources",
|
|
210
210
|
"status": "pass",
|
|
211
|
-
"durationMs": 0.
|
|
211
|
+
"durationMs": 0.6513340000001335,
|
|
212
212
|
"message": "Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.",
|
|
213
213
|
"evidence": [
|
|
214
214
|
{
|
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
"id": "security-lite",
|
|
238
238
|
"capability": "security-lite",
|
|
239
239
|
"status": "pass",
|
|
240
|
-
"durationMs": 0.
|
|
240
|
+
"durationMs": 0.036249999999199645,
|
|
241
241
|
"message": "No security issues detected (lightweight scan).",
|
|
242
242
|
"evidence": [
|
|
243
243
|
{
|
|
@@ -252,24 +252,26 @@
|
|
|
252
252
|
{
|
|
253
253
|
"id": "conformance",
|
|
254
254
|
"capability": "conformance",
|
|
255
|
-
"status": "
|
|
256
|
-
"durationMs":
|
|
257
|
-
"message": "
|
|
255
|
+
"status": "partial",
|
|
256
|
+
"durationMs": 2.328292000000147,
|
|
257
|
+
"message": "6/7 conformance checks passed, 1 failed.",
|
|
258
258
|
"evidence": [
|
|
259
259
|
{
|
|
260
260
|
"endpoint": "conformance/check",
|
|
261
261
|
"advertised": true,
|
|
262
262
|
"responded": true,
|
|
263
|
-
"minimalShapePresent":
|
|
263
|
+
"minimalShapePresent": false,
|
|
264
264
|
"itemCount": 7,
|
|
265
|
-
"identifiers": [
|
|
265
|
+
"identifiers": [
|
|
266
|
+
"tool-response-content"
|
|
267
|
+
],
|
|
266
268
|
"diagnostics": [
|
|
267
269
|
"[pass] capabilities-present: Server returned capabilities object.",
|
|
268
270
|
"[pass] server-info: Server provided initialization info.",
|
|
269
271
|
"[pass] tools-capability-match: tools/list returned 8 tool(s).",
|
|
270
272
|
"[pass] prompts-capability-match: Prompts not advertised — endpoint check skipped.",
|
|
271
273
|
"[pass] resources-capability-match: resources/list returned 1 resource(s).",
|
|
272
|
-
"[
|
|
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.",
|
|
273
275
|
"[pass] error-handling: Server returned proper error code -32601 for unknown method."
|
|
274
276
|
]
|
|
275
277
|
}
|
|
@@ -279,7 +281,7 @@
|
|
|
279
281
|
"id": "schema-quality",
|
|
280
282
|
"capability": "schema-quality",
|
|
281
283
|
"status": "partial",
|
|
282
|
-
"durationMs": 0.
|
|
284
|
+
"durationMs": 0.26704199999949196,
|
|
283
285
|
"message": "Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.",
|
|
284
286
|
"evidence": [
|
|
285
287
|
{
|
|
@@ -317,7 +319,7 @@
|
|
|
317
319
|
"id": "security",
|
|
318
320
|
"capability": "security",
|
|
319
321
|
"status": "pass",
|
|
320
|
-
"durationMs": 0.
|
|
322
|
+
"durationMs": 0.1486669999994774,
|
|
321
323
|
"message": "No security issues detected.",
|
|
322
324
|
"evidence": [
|
|
323
325
|
{
|
|
@@ -328,18 +330,58 @@
|
|
|
328
330
|
"itemCount": 0
|
|
329
331
|
}
|
|
330
332
|
]
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"id": "attack-sim",
|
|
336
|
+
"capability": "attack-sim",
|
|
337
|
+
"status": "fail",
|
|
338
|
+
"durationMs": 0.35720799999944575,
|
|
339
|
+
"message": "Safe attack simulation found 1 finding(s): 1 high, 0 medium, 0 low.",
|
|
340
|
+
"evidence": [
|
|
341
|
+
{
|
|
342
|
+
"endpoint": "attack-sim/safe",
|
|
343
|
+
"advertised": true,
|
|
344
|
+
"responded": true,
|
|
345
|
+
"minimalShapePresent": true,
|
|
346
|
+
"itemCount": 1,
|
|
347
|
+
"identifiers": [
|
|
348
|
+
"puppeteer_evaluate"
|
|
349
|
+
],
|
|
350
|
+
"diagnostics": [
|
|
351
|
+
"[high] Tool \"puppeteer_evaluate\" combines broad parameters (script) with destructive or non-read-only behavior."
|
|
352
|
+
],
|
|
353
|
+
"findings": [
|
|
354
|
+
{
|
|
355
|
+
"ruleId": "attack-sim/permission-boundary/broad-destructive-tool",
|
|
356
|
+
"attackClass": "permission-boundary",
|
|
357
|
+
"severity": "high",
|
|
358
|
+
"itemType": "tool",
|
|
359
|
+
"itemName": "puppeteer_evaluate",
|
|
360
|
+
"message": "Tool \"puppeteer_evaluate\" combines broad parameters (script) with destructive or non-read-only behavior.",
|
|
361
|
+
"evidence": {
|
|
362
|
+
"broadParams": [
|
|
363
|
+
"script"
|
|
364
|
+
],
|
|
365
|
+
"description": "Execute JavaScript in the browser console"
|
|
366
|
+
},
|
|
367
|
+
"recommendation": "Constrain this tool with typed inputs, allowlists, explicit read-only/destructive annotations, and a harmless CI fixture.",
|
|
368
|
+
"recommendedAction": "quarantine"
|
|
369
|
+
}
|
|
370
|
+
]
|
|
371
|
+
}
|
|
372
|
+
]
|
|
331
373
|
}
|
|
332
374
|
],
|
|
333
375
|
"healthScore": {
|
|
334
|
-
"overall":
|
|
335
|
-
"grade": "
|
|
376
|
+
"overall": 70,
|
|
377
|
+
"grade": "C",
|
|
336
378
|
"dimensions": [
|
|
337
379
|
{
|
|
338
380
|
"name": "Protocol Compliance",
|
|
339
381
|
"weight": 0.3,
|
|
340
|
-
"score":
|
|
382
|
+
"score": 60,
|
|
341
383
|
"details": [
|
|
342
|
-
"conformance:
|
|
384
|
+
"conformance: partial (60/100)"
|
|
343
385
|
]
|
|
344
386
|
},
|
|
345
387
|
{
|
|
@@ -353,10 +395,11 @@
|
|
|
353
395
|
{
|
|
354
396
|
"name": "Security",
|
|
355
397
|
"weight": 0.2,
|
|
356
|
-
"score":
|
|
398
|
+
"score": 67,
|
|
357
399
|
"details": [
|
|
358
400
|
"security-lite: pass (100/100)",
|
|
359
|
-
"security: pass (100/100)"
|
|
401
|
+
"security: pass (100/100)",
|
|
402
|
+
"attack-sim: fail (0/100)"
|
|
360
403
|
]
|
|
361
404
|
},
|
|
362
405
|
{
|
|
@@ -374,16 +417,16 @@
|
|
|
374
417
|
"weight": 0.1,
|
|
375
418
|
"score": 100,
|
|
376
419
|
"details": [
|
|
377
|
-
"Connect:
|
|
420
|
+
"Connect: 685ms",
|
|
378
421
|
"p95 latency: 1ms (3 operations)"
|
|
379
422
|
]
|
|
380
423
|
}
|
|
381
424
|
]
|
|
382
425
|
},
|
|
383
426
|
"performanceMetrics": {
|
|
384
|
-
"connectMs":
|
|
385
|
-
"toolsListMs": 0.
|
|
386
|
-
"promptsListMs": 0.
|
|
387
|
-
"resourcesListMs": 0.
|
|
427
|
+
"connectMs": 685.0922919999994,
|
|
428
|
+
"toolsListMs": 0.4152910000011616,
|
|
429
|
+
"promptsListMs": 0.00045900000077381264,
|
|
430
|
+
"resourcesListMs": 0.6513340000001335
|
|
388
431
|
}
|
|
389
432
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-07-
|
|
3
|
+
Generated at 2026-07-06T19:49:53.996Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
@@ -8,35 +8,35 @@ Generated at 2026-07-06T01:47:01.216Z
|
|
|
8
8
|
- Adapter: `local-process`
|
|
9
9
|
- Command: `npx -y puppeteer-mcp-server`
|
|
10
10
|
- Server: `example-servers/puppeteer 0.1.0`
|
|
11
|
-
- Platform: `darwin
|
|
12
|
-
- Node: `
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
13
|
|
|
14
14
|
## Executive Summary
|
|
15
15
|
|
|
16
|
-
**Health Score:
|
|
16
|
+
**Health Score: 70/100 (C)**
|
|
17
17
|
|
|
18
18
|
| Dimension | Score | Weight |
|
|
19
19
|
| --- | --- | --- |
|
|
20
|
-
| Protocol Compliance |
|
|
20
|
+
| Protocol Compliance | 60/100 | 30% |
|
|
21
21
|
| Schema Quality | 60/100 | 20% |
|
|
22
|
-
| Security |
|
|
22
|
+
| Security | 67/100 | 20% |
|
|
23
23
|
| Reliability | 83/100 | 20% |
|
|
24
24
|
| Performance | 100/100 | 10% |
|
|
25
25
|
|
|
26
26
|
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
27
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
-
|
|
|
28
|
+
| fail | 8 | 4 | 1 | 2 | 1 | 0 | 0 |
|
|
29
29
|
|
|
30
30
|
## At a Glance
|
|
31
31
|
|
|
32
|
-
- Safety verdict: **
|
|
33
|
-
- Top risks: schema-quality: Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.
|
|
32
|
+
- Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
|
|
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.; attack-sim: Safe attack simulation found 1 finding(s): 1 high, 0 medium, 0 low.
|
|
34
34
|
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
35
|
-
- Failing checks:
|
|
36
|
-
- Partial or flaky checks: schema-quality
|
|
35
|
+
- Failing checks: attack-sim
|
|
36
|
+
- Partial or flaky checks: conformance, schema-quality
|
|
37
37
|
- Skipped checks: none
|
|
38
38
|
- Unsupported checks: prompts
|
|
39
|
-
- Suggested next step:
|
|
39
|
+
- Suggested next step: Start with the failing checks: attack-sim.
|
|
40
40
|
- CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
|
|
41
41
|
|
|
42
42
|
## Regressions and Recoveries
|
|
@@ -47,28 +47,17 @@ _Use the `diff` command against another run artifact to classify regressions and
|
|
|
47
47
|
|
|
48
48
|
| Focus | Check | Status | Duration (ms) | Message |
|
|
49
49
|
| --- | --- | --- | --- | --- |
|
|
50
|
-
| healthy |
|
|
51
|
-
| healthy |
|
|
52
|
-
| healthy | security | pass | 0.
|
|
53
|
-
| healthy |
|
|
54
|
-
|
|
|
55
|
-
| review | schema-quality | partial | 0.
|
|
50
|
+
| healthy | resources | pass | 0.65 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
|
|
51
|
+
| healthy | security | pass | 0.15 | No security issues detected. |
|
|
52
|
+
| healthy | security-lite | pass | 0.04 | No security issues detected (lightweight scan). |
|
|
53
|
+
| healthy | tools | pass | 0.42 | Advertised capability responded with the minimal expected shape (8 items). |
|
|
54
|
+
| review | conformance | partial | 2.33 | 6/7 conformance checks passed, 1 failed. |
|
|
55
|
+
| review | schema-quality | partial | 0.27 | Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info. |
|
|
56
56
|
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
57
|
+
| act now | attack-sim | fail | 0.36 | Safe attack simulation found 1 finding(s): 1 high, 0 medium, 0 low. |
|
|
57
58
|
|
|
58
59
|
## Evidence Snippets
|
|
59
60
|
|
|
60
|
-
### conformance — pass
|
|
61
|
-
|
|
62
|
-
Summary: All 7 conformance checks passed.
|
|
63
|
-
|
|
64
|
-
- Endpoint: `conformance/check`
|
|
65
|
-
- Advertised: `true`
|
|
66
|
-
- Responded: `true`
|
|
67
|
-
- Minimal shape present: `true`
|
|
68
|
-
- Item count: `7`
|
|
69
|
-
- Identifiers: none
|
|
70
|
-
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 8 tool(s). (+4 more)
|
|
71
|
-
|
|
72
61
|
### resources — pass
|
|
73
62
|
|
|
74
63
|
Summary: Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.
|
|
@@ -124,6 +113,18 @@ Summary: Advertised capability responded with the minimal expected shape (8 item
|
|
|
124
113
|
- Identifiers: puppeteer_connect_active_tab, puppeteer_navigate, puppeteer_screenshot, puppeteer_click, puppeteer_fill (+3 more)
|
|
125
114
|
- Diagnostics: none
|
|
126
115
|
|
|
116
|
+
### conformance — partial
|
|
117
|
+
|
|
118
|
+
Summary: 6/7 conformance checks passed, 1 failed.
|
|
119
|
+
|
|
120
|
+
- Endpoint: `conformance/check`
|
|
121
|
+
- Advertised: `true`
|
|
122
|
+
- Responded: `true`
|
|
123
|
+
- Minimal shape present: `false`
|
|
124
|
+
- Item count: `7`
|
|
125
|
+
- Identifiers: tool-response-content
|
|
126
|
+
- 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)
|
|
127
|
+
|
|
127
128
|
### schema-quality — partial
|
|
128
129
|
|
|
129
130
|
Summary: Found 2 quality finding(s) across 9 item(s): 1 warnings, 1 info.
|
|
@@ -148,6 +149,18 @@ Summary: Prompts are not advertised by the target.
|
|
|
148
149
|
- Identifiers: none
|
|
149
150
|
- Diagnostics: none
|
|
150
151
|
|
|
152
|
+
### attack-sim — fail
|
|
153
|
+
|
|
154
|
+
Summary: Safe attack simulation found 1 finding(s): 1 high, 0 medium, 0 low.
|
|
155
|
+
|
|
156
|
+
- Endpoint: `attack-sim/safe`
|
|
157
|
+
- Advertised: `true`
|
|
158
|
+
- Responded: `true`
|
|
159
|
+
- Minimal shape present: `true`
|
|
160
|
+
- Item count: `1`
|
|
161
|
+
- Identifiers: puppeteer_evaluate
|
|
162
|
+
- Diagnostics: [high] Tool "puppeteer_evaluate" combines broad parameters (script) with destructive or non-read-only behavior.
|
|
163
|
+
|
|
151
164
|
## Reproduction Commands
|
|
152
165
|
|
|
153
166
|
```bash
|
|
@@ -159,5 +172,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
159
172
|
|
|
160
173
|
- Artifact type: `run`
|
|
161
174
|
- Schema version: `1.0.0`
|
|
162
|
-
- Run ID: `run_2026-07-
|
|
163
|
-
- Gate: `
|
|
175
|
+
- Run ID: `run_2026-07-06T194953996Z_3a6d7344`
|
|
176
|
+
- Gate: `fail`
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"artifactType": "run",
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"gate": "pass",
|
|
5
|
-
"runId": "run_2026-07-
|
|
6
|
-
"createdAt": "2026-07-
|
|
7
|
-
"toolVersion": "0.
|
|
5
|
+
"runId": "run_2026-07-06T194951606Z_e657d5a4",
|
|
6
|
+
"createdAt": "2026-07-06T19:49:51.606Z",
|
|
7
|
+
"toolVersion": "0.28.0",
|
|
8
8
|
"target": {
|
|
9
9
|
"targetId": "ref-tools-server",
|
|
10
10
|
"adapter": "local-process",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"serverVersion": "3.0.3"
|
|
26
26
|
},
|
|
27
27
|
"environment": {
|
|
28
|
-
"platform": "darwin
|
|
29
|
-
"nodeVersion": "
|
|
28
|
+
"platform": "darwin 25.5.0",
|
|
29
|
+
"nodeVersion": "v22.22.1"
|
|
30
30
|
},
|
|
31
31
|
"summary": {
|
|
32
|
-
"total":
|
|
33
|
-
"pass":
|
|
32
|
+
"total": 8,
|
|
33
|
+
"pass": 7,
|
|
34
34
|
"fail": 0,
|
|
35
35
|
"partial": 0,
|
|
36
36
|
"unsupported": 1,
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"id": "tools",
|
|
44
44
|
"capability": "tools",
|
|
45
45
|
"status": "pass",
|
|
46
|
-
"durationMs": 0.
|
|
46
|
+
"durationMs": 0.8886670000001686,
|
|
47
47
|
"message": "Advertised capability responded with the minimal expected shape (2 items).",
|
|
48
48
|
"evidence": [
|
|
49
49
|
{
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"id": "prompts",
|
|
93
93
|
"capability": "prompts",
|
|
94
94
|
"status": "pass",
|
|
95
|
-
"durationMs": 0.
|
|
95
|
+
"durationMs": 0.19312499999978172,
|
|
96
96
|
"message": "Advertised capability responded with the minimal expected shape (2 items).",
|
|
97
97
|
"evidence": [
|
|
98
98
|
{
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"id": "resources",
|
|
116
116
|
"capability": "resources",
|
|
117
117
|
"status": "unsupported",
|
|
118
|
-
"durationMs": 0.
|
|
118
|
+
"durationMs": 0.0022499999995488906,
|
|
119
119
|
"message": "Resources are not advertised by the target.",
|
|
120
120
|
"evidence": [
|
|
121
121
|
{
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"id": "security-lite",
|
|
132
132
|
"capability": "security-lite",
|
|
133
133
|
"status": "pass",
|
|
134
|
-
"durationMs": 0.
|
|
134
|
+
"durationMs": 0.016125000000101863,
|
|
135
135
|
"message": "No security issues detected (lightweight scan).",
|
|
136
136
|
"evidence": [
|
|
137
137
|
{
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"id": "conformance",
|
|
148
148
|
"capability": "conformance",
|
|
149
149
|
"status": "pass",
|
|
150
|
-
"durationMs": 0.
|
|
150
|
+
"durationMs": 0.5073750000001382,
|
|
151
151
|
"message": "All 7 conformance checks passed.",
|
|
152
152
|
"evidence": [
|
|
153
153
|
{
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"id": "schema-quality",
|
|
174
174
|
"capability": "schema-quality",
|
|
175
175
|
"status": "pass",
|
|
176
|
-
"durationMs": 0.
|
|
176
|
+
"durationMs": 0.4954999999999927,
|
|
177
177
|
"message": "All 4 item(s) have good schema quality.",
|
|
178
178
|
"evidence": [
|
|
179
179
|
{
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
"id": "security",
|
|
191
191
|
"capability": "security",
|
|
192
192
|
"status": "pass",
|
|
193
|
-
"durationMs": 0.
|
|
193
|
+
"durationMs": 0.19070799999917654,
|
|
194
194
|
"message": "No security issues detected.",
|
|
195
195
|
"evidence": [
|
|
196
196
|
{
|
|
@@ -201,6 +201,23 @@
|
|
|
201
201
|
"itemCount": 0
|
|
202
202
|
}
|
|
203
203
|
]
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"id": "attack-sim",
|
|
207
|
+
"capability": "attack-sim",
|
|
208
|
+
"status": "pass",
|
|
209
|
+
"durationMs": 0.24504199999955745,
|
|
210
|
+
"message": "Safe attack simulation found no high-risk MCP attack-readiness findings.",
|
|
211
|
+
"evidence": [
|
|
212
|
+
{
|
|
213
|
+
"endpoint": "attack-sim/safe",
|
|
214
|
+
"advertised": true,
|
|
215
|
+
"responded": true,
|
|
216
|
+
"minimalShapePresent": true,
|
|
217
|
+
"itemCount": 0,
|
|
218
|
+
"identifiers": []
|
|
219
|
+
}
|
|
220
|
+
]
|
|
204
221
|
}
|
|
205
222
|
],
|
|
206
223
|
"healthScore": {
|
|
@@ -229,7 +246,8 @@
|
|
|
229
246
|
"score": 100,
|
|
230
247
|
"details": [
|
|
231
248
|
"security-lite: pass (100/100)",
|
|
232
|
-
"security: pass (100/100)"
|
|
249
|
+
"security: pass (100/100)",
|
|
250
|
+
"attack-sim: pass (100/100)"
|
|
233
251
|
]
|
|
234
252
|
},
|
|
235
253
|
{
|
|
@@ -247,16 +265,16 @@
|
|
|
247
265
|
"weight": 0.1,
|
|
248
266
|
"score": 100,
|
|
249
267
|
"details": [
|
|
250
|
-
"Connect:
|
|
268
|
+
"Connect: 579ms",
|
|
251
269
|
"p95 latency: 1ms (3 operations)"
|
|
252
270
|
]
|
|
253
271
|
}
|
|
254
272
|
]
|
|
255
273
|
},
|
|
256
274
|
"performanceMetrics": {
|
|
257
|
-
"connectMs":
|
|
258
|
-
"toolsListMs": 0.
|
|
259
|
-
"promptsListMs": 0.
|
|
260
|
-
"resourcesListMs": 0.
|
|
275
|
+
"connectMs": 579.0028749999992,
|
|
276
|
+
"toolsListMs": 0.8886670000001686,
|
|
277
|
+
"promptsListMs": 0.19312499999978172,
|
|
278
|
+
"resourcesListMs": 0.0022499999995488906
|
|
261
279
|
}
|
|
262
280
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-07-
|
|
3
|
+
Generated at 2026-07-06T19:49:51.606Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
@@ -8,8 +8,8 @@ Generated at 2026-07-06T01:46:58.081Z
|
|
|
8
8
|
- Adapter: `local-process`
|
|
9
9
|
- Command: `npx -y ref-tools-mcp`
|
|
10
10
|
- Server: `Ref 3.0.3`
|
|
11
|
-
- Platform: `darwin
|
|
12
|
-
- Node: `
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
13
|
|
|
14
14
|
## Executive Summary
|
|
15
15
|
|
|
@@ -25,7 +25,7 @@ Generated at 2026-07-06T01:46:58.081Z
|
|
|
25
25
|
|
|
26
26
|
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
27
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
-
| pass |
|
|
28
|
+
| pass | 8 | 7 | 0 | 0 | 1 | 0 | 0 |
|
|
29
29
|
|
|
30
30
|
## At a Glance
|
|
31
31
|
|
|
@@ -47,16 +47,29 @@ _Use the `diff` command against another run artifact to classify regressions and
|
|
|
47
47
|
|
|
48
48
|
| Focus | Check | Status | Duration (ms) | Message |
|
|
49
49
|
| --- | --- | --- | --- | --- |
|
|
50
|
+
| healthy | attack-sim | pass | 0.25 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
|
|
50
51
|
| healthy | conformance | pass | 0.51 | All 7 conformance checks passed. |
|
|
51
|
-
| healthy | prompts | pass | 0.
|
|
52
|
-
| healthy | schema-quality | pass | 0.
|
|
53
|
-
| healthy | security | pass | 0.
|
|
52
|
+
| healthy | prompts | pass | 0.19 | Advertised capability responded with the minimal expected shape (2 items). |
|
|
53
|
+
| healthy | schema-quality | pass | 0.50 | All 4 item(s) have good schema quality. |
|
|
54
|
+
| healthy | security | pass | 0.19 | No security issues detected. |
|
|
54
55
|
| healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
|
|
55
|
-
| healthy | tools | pass | 0.
|
|
56
|
+
| healthy | tools | pass | 0.89 | Advertised capability responded with the minimal expected shape (2 items). |
|
|
56
57
|
| confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
|
|
57
58
|
|
|
58
59
|
## Evidence Snippets
|
|
59
60
|
|
|
61
|
+
### attack-sim — pass
|
|
62
|
+
|
|
63
|
+
Summary: Safe attack simulation found no high-risk MCP attack-readiness findings.
|
|
64
|
+
|
|
65
|
+
- Endpoint: `attack-sim/safe`
|
|
66
|
+
- Advertised: `true`
|
|
67
|
+
- Responded: `true`
|
|
68
|
+
- Minimal shape present: `true`
|
|
69
|
+
- Item count: `0`
|
|
70
|
+
- Identifiers: none
|
|
71
|
+
- Diagnostics: none
|
|
72
|
+
|
|
60
73
|
### conformance — pass
|
|
61
74
|
|
|
62
75
|
Summary: All 7 conformance checks passed.
|
|
@@ -152,5 +165,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
152
165
|
|
|
153
166
|
- Artifact type: `run`
|
|
154
167
|
- Schema version: `1.0.0`
|
|
155
|
-
- Run ID: `run_2026-07-
|
|
168
|
+
- Run ID: `run_2026-07-06T194951606Z_e657d5a4`
|
|
156
169
|
- Gate: `pass`
|