@kryptosai/mcp-observatory 1.32.0 → 1.32.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.
Files changed (117) hide show
  1. package/README.md +4 -10
  2. package/README.zh-CN.md +4 -10
  3. package/dist/src/cli.js +1 -1
  4. package/dist/src/cli.js.map +1 -1
  5. package/dist/src/commands/enforce.d.ts +2 -2
  6. package/dist/src/commands/enforce.js +5 -8
  7. package/dist/src/commands/enforce.js.map +1 -1
  8. package/dist/src/commands/scan.js.map +1 -1
  9. package/dist/src/commands/test.js +2 -2
  10. package/dist/src/commands/test.js.map +1 -1
  11. package/dist/src/telemetry.js +2 -1
  12. package/dist/src/telemetry.js.map +1 -1
  13. package/dist/src/validate.js +5 -6
  14. package/dist/src/validate.js.map +1 -1
  15. package/docs/mcp-server-safety-index.md +68 -8
  16. package/docs/safety-index/artifacts/antv-chart-server.json +1452 -19
  17. package/docs/safety-index/artifacts/antv-chart-server.md +156 -10
  18. package/docs/safety-index/artifacts/brave-search-server.json +341 -0
  19. package/docs/safety-index/artifacts/brave-search-server.md +201 -0
  20. package/docs/safety-index/artifacts/browsermcp-server.json +83 -18
  21. package/docs/safety-index/artifacts/browsermcp-server.md +46 -12
  22. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +592 -21
  23. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +96 -14
  24. package/docs/safety-index/artifacts/clay-server.json +66 -0
  25. package/docs/safety-index/artifacts/clay-server.md +106 -0
  26. package/docs/safety-index/artifacts/cloudflare-server.json +66 -0
  27. package/docs/safety-index/artifacts/cloudflare-server.md +106 -0
  28. package/docs/safety-index/artifacts/context7-server.json +85 -18
  29. package/docs/safety-index/artifacts/context7-server.md +52 -11
  30. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +1565 -34
  31. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +178 -17
  32. package/docs/safety-index/artifacts/docker-server.json +395 -0
  33. package/docs/safety-index/artifacts/docker-server.md +204 -0
  34. package/docs/safety-index/artifacts/everything-server.json +145 -18
  35. package/docs/safety-index/artifacts/everything-server.md +56 -11
  36. package/docs/safety-index/artifacts/exa-server.json +400 -0
  37. package/docs/safety-index/artifacts/exa-server.md +207 -0
  38. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +625 -18
  39. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +95 -11
  40. package/docs/safety-index/artifacts/fetch-server.json +66 -0
  41. package/docs/safety-index/artifacts/fetch-server.md +106 -0
  42. package/docs/safety-index/artifacts/figma-server.json +1766 -0
  43. package/docs/safety-index/artifacts/figma-server.md +256 -0
  44. package/docs/safety-index/artifacts/filesystem-mcp-server.json +428 -24
  45. package/docs/safety-index/artifacts/filesystem-mcp-server.md +75 -14
  46. package/docs/safety-index/artifacts/filesystem-server.json +426 -22
  47. package/docs/safety-index/artifacts/filesystem-server.md +73 -12
  48. package/docs/safety-index/artifacts/firecrawl-server.json +4056 -0
  49. package/docs/safety-index/artifacts/firecrawl-server.md +243 -0
  50. package/docs/safety-index/artifacts/github-mcp-server.json +374 -21
  51. package/docs/safety-index/artifacts/github-mcp-server.md +71 -15
  52. package/docs/safety-index/artifacts/gitlab-server.json +229 -0
  53. package/docs/safety-index/artifacts/gitlab-server.md +753 -0
  54. package/docs/safety-index/artifacts/gmail-server.json +66 -0
  55. package/docs/safety-index/artifacts/gmail-server.md +106 -0
  56. package/docs/safety-index/artifacts/google-calendar-server.json +66 -0
  57. package/docs/safety-index/artifacts/google-calendar-server.md +106 -0
  58. package/docs/safety-index/artifacts/google-drive-server.json +66 -0
  59. package/docs/safety-index/artifacts/google-drive-server.md +106 -0
  60. package/docs/safety-index/artifacts/google-sheets-server.json +66 -0
  61. package/docs/safety-index/artifacts/google-sheets-server.md +106 -0
  62. package/docs/safety-index/artifacts/google-tasks-server.json +66 -0
  63. package/docs/safety-index/artifacts/google-tasks-server.md +106 -0
  64. package/docs/safety-index/artifacts/huggingface-server.json +66 -0
  65. package/docs/safety-index/artifacts/huggingface-server.md +106 -0
  66. package/docs/safety-index/artifacts/jina-server.json +66 -0
  67. package/docs/safety-index/artifacts/jina-server.md +106 -0
  68. package/docs/safety-index/artifacts/kubernetes-server.json +1054 -27
  69. package/docs/safety-index/artifacts/kubernetes-server.md +137 -18
  70. package/docs/safety-index/artifacts/linear-server.json +1494 -0
  71. package/docs/safety-index/artifacts/linear-server.md +237 -0
  72. package/docs/safety-index/artifacts/memory-server.json +191 -18
  73. package/docs/safety-index/artifacts/memory-server.md +51 -9
  74. package/docs/safety-index/artifacts/mongodb-server.json +66 -0
  75. package/docs/safety-index/artifacts/mongodb-server.md +106 -0
  76. package/docs/safety-index/artifacts/neon-server.json +66 -0
  77. package/docs/safety-index/artifacts/neon-server.md +103 -0
  78. package/docs/safety-index/artifacts/notion-server.json +7151 -0
  79. package/docs/safety-index/artifacts/notion-server.md +236 -0
  80. package/docs/safety-index/artifacts/onesignal-server.json +66 -0
  81. package/docs/safety-index/artifacts/onesignal-server.md +106 -0
  82. package/docs/safety-index/artifacts/opentofu-server.json +31 -19
  83. package/docs/safety-index/artifacts/opentofu-server.md +28 -10
  84. package/docs/safety-index/artifacts/playwright-mcp-server.json +415 -24
  85. package/docs/safety-index/artifacts/playwright-mcp-server.md +84 -20
  86. package/docs/safety-index/artifacts/postgres-server.json +330 -0
  87. package/docs/safety-index/artifacts/postgres-server.md +208 -0
  88. package/docs/safety-index/artifacts/promptopia-server.json +96 -19
  89. package/docs/safety-index/artifacts/promptopia-server.md +43 -9
  90. package/docs/safety-index/artifacts/puppeteer-server.json +118 -29
  91. package/docs/safety-index/artifacts/puppeteer-server.md +61 -19
  92. package/docs/safety-index/artifacts/qdrant-server.json +66 -0
  93. package/docs/safety-index/artifacts/qdrant-server.md +106 -0
  94. package/docs/safety-index/artifacts/reddit-server.json +66 -0
  95. package/docs/safety-index/artifacts/reddit-server.md +106 -0
  96. package/docs/safety-index/artifacts/ref-tools-server.json +95 -18
  97. package/docs/safety-index/artifacts/ref-tools-server.md +45 -12
  98. package/docs/safety-index/artifacts/sentry-server.json +66 -0
  99. package/docs/safety-index/artifacts/sentry-server.md +106 -0
  100. package/docs/safety-index/artifacts/sequential-thinking-server.json +59 -18
  101. package/docs/safety-index/artifacts/sequential-thinking-server.md +41 -9
  102. package/docs/safety-index/artifacts/slack-server.json +66 -0
  103. package/docs/safety-index/artifacts/slack-server.md +102 -0
  104. package/docs/safety-index/artifacts/sqlite-server.json +67 -0
  105. package/docs/safety-index/artifacts/sqlite-server.md +106 -0
  106. package/docs/safety-index/artifacts/stripe-server.json +66 -0
  107. package/docs/safety-index/artifacts/stripe-server.md +106 -0
  108. package/docs/safety-index/artifacts/supabase-server.json +66 -0
  109. package/docs/safety-index/artifacts/supabase-server.md +102 -0
  110. package/docs/safety-index/artifacts/tavily-search-server.json +66 -0
  111. package/docs/safety-index/artifacts/tavily-search-server.md +106 -0
  112. package/docs/safety-index/artifacts/ui5-mcp-server.json +24 -24
  113. package/docs/safety-index/artifacts/ui5-mcp-server.md +13 -13
  114. package/docs/safety-index/artifacts/vercel-ai-server.json +66 -0
  115. package/docs/safety-index/artifacts/vercel-ai-server.md +106 -0
  116. package/docs/safety-index/targets.json +535 -0
  117. package/package.json +1 -1
@@ -0,0 +1,208 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-12T23:44:29.948Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `postgres-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y @modelcontextprotocol/server-postgres postgres://localhost:5432/db`
10
+ - Server: `example-servers/postgres 0.1.0`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ **Health Score: 70/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 | 50/100 | 20% |
24
+ | Performance | 100/100 | 10% |
25
+
26
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
27
+ | --- | --- | --- | --- | --- | --- | --- | --- |
28
+ | fail | 9 | 5 | 1 | 2 | 1 | 0 | 0 |
29
+
30
+ ## At a Glance
31
+
32
+ - Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
33
+ - Top risks: conformance: 5/7 conformance checks passed, 2 failed.; schema-quality: Found 2 quality finding(s) across 1 item(s): 0 warnings, 2 info.; resources: Advertised capability did not respond successfully.
34
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
35
+ - Failing checks: resources
36
+ - Partial or flaky checks: conformance, schema-quality
37
+ - Skipped checks: none
38
+ - Unsupported checks: prompts
39
+ - Suggested next step: Start with the failing checks: resources.
40
+ - CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
41
+
42
+ ## What Was Not Tested
43
+
44
+ - 🔒 network_egress: No outbound network calls were attempted during scan
45
+ - 🔒 filesystem_mutation: Filesystem write operations were not exercised
46
+ - â„šī¸ credential_access: Credential scanning was performed (see security findings)
47
+ - â„šī¸ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
48
+
49
+ ## Runtime Profile
50
+
51
+ ### State Mutations
52
+
53
+ The following state-modifying operations were identified from tool schemas:
54
+
55
+ | Resource | Operation | Scope | Source |
56
+ | --- | --- | --- | --- |
57
+ | filesystem | write | working_directory | description_analysis |
58
+
59
+ _Analyzed at 2026-07-12T23:44:30.715Z_
60
+
61
+ ## Regressions and Recoveries
62
+
63
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
64
+
65
+ ## Full Capability Status Table
66
+
67
+ | Focus | Check | Status | Duration (ms) | Message |
68
+ | --- | --- | --- | --- | --- |
69
+ | healthy | attack-sim | pass | 0.94 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
70
+ | healthy | runtime-profile | pass | 0.03 | Detected 0 potential egress target(s) and 1 potential state mutation(s) with low confidence. |
71
+ | healthy | security | pass | 0.08 | No security issues detected. |
72
+ | healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
73
+ | healthy | tools | pass | 0.39 | Advertised capability responded with the minimal expected shape (1 item). |
74
+ | review | conformance | partial | 1.62 | 5/7 conformance checks passed, 2 failed. |
75
+ | review | schema-quality | partial | 0.70 | Found 2 quality finding(s) across 1 item(s): 0 warnings, 2 info. |
76
+ | confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
77
+ | act now | resources | fail | 6.44 | Advertised capability did not respond successfully. |
78
+
79
+ ## Evidence Snippets
80
+
81
+ ### attack-sim — pass
82
+
83
+ Summary: Safe attack simulation found no high-risk MCP attack-readiness findings.
84
+
85
+ - Endpoint: `attack-sim/safe`
86
+ - Advertised: `true`
87
+ - Responded: `true`
88
+ - Minimal shape present: `true`
89
+ - Item count: `0`
90
+ - Identifiers: none
91
+ - Diagnostics: none
92
+
93
+ ### runtime-profile — pass
94
+
95
+ Summary: Detected 0 potential egress target(s) and 1 potential state mutation(s) with low confidence.
96
+
97
+ - Endpoint: `runtime-profile/analyze`
98
+ - Advertised: `true`
99
+ - Responded: `true`
100
+ - Minimal shape present: `true`
101
+ - Item count: `1`
102
+ - Identifiers: none
103
+ - Diagnostics: Egress entries: 0, State mutations: 1, Confidence: medium
104
+
105
+ ### security — pass
106
+
107
+ Summary: No security issues detected.
108
+
109
+ - Endpoint: `security/scan`
110
+ - Advertised: `true`
111
+ - Responded: `true`
112
+ - Minimal shape present: `true`
113
+ - Item count: `0`
114
+ - Identifiers: none
115
+ - Diagnostics: none
116
+
117
+ ### security-lite — pass
118
+
119
+ Summary: No security issues detected (lightweight scan).
120
+
121
+ - Endpoint: `security/scan-lite`
122
+ - Advertised: `true`
123
+ - Responded: `true`
124
+ - Minimal shape present: `true`
125
+ - Item count: `0`
126
+ - Identifiers: none
127
+ - Diagnostics: none
128
+
129
+ ### tools — pass
130
+
131
+ Summary: Advertised capability responded with the minimal expected shape (1 item).
132
+
133
+ - Endpoint: `tools/list`
134
+ - Advertised: `true`
135
+ - Responded: `true`
136
+ - Minimal shape present: `true`
137
+ - Item count: `1`
138
+ - Identifiers: query
139
+ - Diagnostics: none
140
+
141
+ ### conformance — partial
142
+
143
+ Summary: 5/7 conformance checks passed, 2 failed.
144
+
145
+ - Endpoint: `conformance/check`
146
+ - Advertised: `true`
147
+ - Responded: `true`
148
+ - Minimal shape present: `false`
149
+ - Item count: `7`
150
+ - Identifiers: resources-capability-match, tool-response-content
151
+ - Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 1 tool(s). (+4 more)
152
+
153
+ ### schema-quality — partial
154
+
155
+ Summary: Found 2 quality finding(s) across 1 item(s): 0 warnings, 2 info.
156
+
157
+ - Endpoint: `schema-quality/scan`
158
+ - Advertised: `true`
159
+ - Responded: `true`
160
+ - Minimal shape present: `true`
161
+ - Item count: `2`
162
+ - Identifiers: query
163
+ - Diagnostics: [info] tool "query": Has properties but no 'required' array declared, [info] tool "query": Property 'sql' missing description
164
+
165
+ ### prompts — unsupported
166
+
167
+ Summary: Prompts are not advertised by the target.
168
+
169
+ - Endpoint: `prompts/list`
170
+ - Advertised: `false`
171
+ - Responded: `false`
172
+ - Minimal shape present: `false`
173
+ - Item count: `0`
174
+ - Identifiers: none
175
+ - Diagnostics: none
176
+
177
+ ### resources — fail
178
+
179
+ Summary: Advertised capability did not respond successfully.
180
+
181
+ - Endpoint: `resources/list`
182
+ - Advertised: `true`
183
+ - Responded: `false`
184
+ - Minimal shape present: `false`
185
+ - Item count: `0`
186
+ - Identifiers: none
187
+ - Diagnostics: MCP error -32603:
188
+ - Endpoint: `resources/templates/list`
189
+ - Advertised: `true`
190
+ - Responded: `false`
191
+ - Minimal shape present: `false`
192
+ - Item count: `0`
193
+ - Identifiers: none
194
+ - Diagnostics: MCP error -32601: Method not found
195
+
196
+ ## Reproduction Commands
197
+
198
+ ```bash
199
+ npm run cli -- run --target <path-to-target-config.json>
200
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
201
+ ```
202
+
203
+ ## Artifact Provenance
204
+
205
+ - Artifact type: `run`
206
+ - Schema version: `1.0.0`
207
+ - Run ID: `run_2026-07-12T234429948Z_a99275fd`
208
+ - 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-06T194948899Z_ab0f7d29",
6
- "createdAt": "2026-07-06T19:49:48.899Z",
7
- "toolVersion": "0.28.0",
5
+ "runId": "run_2026-07-12T234359279Z_f1769fb2",
6
+ "createdAt": "2026-07-12T23:43:59.279Z",
7
+ "toolVersion": "1.31.0",
8
8
  "target": {
9
9
  "targetId": "promptopia-server",
10
10
  "adapter": "local-process",
@@ -29,8 +29,8 @@
29
29
  "nodeVersion": "v22.22.1"
30
30
  },
31
31
  "summary": {
32
- "total": 8,
33
- "pass": 6,
32
+ "total": 9,
33
+ "pass": 7,
34
34
  "fail": 0,
35
35
  "partial": 1,
36
36
  "unsupported": 1,
@@ -43,7 +43,7 @@
43
43
  "id": "tools",
44
44
  "capability": "tools",
45
45
  "status": "pass",
46
- "durationMs": 2.4714169999997466,
46
+ "durationMs": 0.863416999999572,
47
47
  "message": "Advertised capability responded with the minimal expected shape (7 items).",
48
48
  "evidence": [
49
49
  {
@@ -267,7 +267,7 @@
267
267
  "id": "prompts",
268
268
  "capability": "prompts",
269
269
  "status": "pass",
270
- "durationMs": 1.0759590000006938,
270
+ "durationMs": 0.9540829999996276,
271
271
  "message": "Advertised capability responded with the minimal expected shape (1 item).",
272
272
  "evidence": [
273
273
  {
@@ -290,7 +290,7 @@
290
290
  "id": "resources",
291
291
  "capability": "resources",
292
292
  "status": "unsupported",
293
- "durationMs": 0.0035409999991316,
293
+ "durationMs": 0.0020419999991645454,
294
294
  "message": "Resources are not advertised by the target.",
295
295
  "evidence": [
296
296
  {
@@ -306,7 +306,7 @@
306
306
  "id": "security-lite",
307
307
  "capability": "security-lite",
308
308
  "status": "pass",
309
- "durationMs": 0.02491699999973207,
309
+ "durationMs": 0.026749999999992724,
310
310
  "message": "No security issues detected (lightweight scan).",
311
311
  "evidence": [
312
312
  {
@@ -318,11 +318,58 @@
318
318
  }
319
319
  ]
320
320
  },
321
+ {
322
+ "id": "runtime-profile",
323
+ "capability": "runtime-profile",
324
+ "status": "pass",
325
+ "durationMs": 0.08112499999970169,
326
+ "message": "Detected 0 potential egress target(s) and 4 potential state mutation(s) with low confidence.",
327
+ "evidence": [
328
+ {
329
+ "endpoint": "runtime-profile/analyze",
330
+ "advertised": true,
331
+ "responded": true,
332
+ "minimalShapePresent": true,
333
+ "itemCount": 4,
334
+ "diagnostics": [
335
+ "Egress entries: 0",
336
+ "State mutations: 4",
337
+ "Confidence: medium"
338
+ ],
339
+ "findings": [
340
+ {
341
+ "resource": "filesystem",
342
+ "operation": "write",
343
+ "scope": "working_directory",
344
+ "source": "description_analysis"
345
+ },
346
+ {
347
+ "resource": "filesystem",
348
+ "operation": "write",
349
+ "scope": "working_directory",
350
+ "source": "description_analysis"
351
+ },
352
+ {
353
+ "resource": "filesystem",
354
+ "operation": "write",
355
+ "scope": "working_directory",
356
+ "source": "description_analysis"
357
+ },
358
+ {
359
+ "resource": "filesystem",
360
+ "operation": "delete",
361
+ "scope": "working_directory",
362
+ "source": "description_analysis"
363
+ }
364
+ ]
365
+ }
366
+ ]
367
+ },
321
368
  {
322
369
  "id": "conformance",
323
370
  "capability": "conformance",
324
371
  "status": "pass",
325
- "durationMs": 1.5870000000004438,
372
+ "durationMs": 1.5892499999999927,
326
373
  "message": "All 7 conformance checks passed.",
327
374
  "evidence": [
328
375
  {
@@ -348,7 +395,7 @@
348
395
  "id": "schema-quality",
349
396
  "capability": "schema-quality",
350
397
  "status": "partial",
351
- "durationMs": 0.5944589999999152,
398
+ "durationMs": 0.5412079999996422,
352
399
  "message": "Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info.",
353
400
  "evidence": [
354
401
  {
@@ -378,7 +425,7 @@
378
425
  "id": "security",
379
426
  "capability": "security",
380
427
  "status": "pass",
381
- "durationMs": 0.19179199999962293,
428
+ "durationMs": 0.22579200000018318,
382
429
  "message": "No security issues detected.",
383
430
  "evidence": [
384
431
  {
@@ -394,7 +441,7 @@
394
441
  "id": "attack-sim",
395
442
  "capability": "attack-sim",
396
443
  "status": "pass",
397
- "durationMs": 0.4236670000000231,
444
+ "durationMs": 0.6766250000000582,
398
445
  "message": "Safe attack simulation found no high-risk MCP attack-readiness findings.",
399
446
  "evidence": [
400
447
  {
@@ -453,16 +500,46 @@
453
500
  "weight": 0.1,
454
501
  "score": 100,
455
502
  "details": [
456
- "Connect: 678ms",
457
- "p95 latency: 2ms (3 operations)"
503
+ "Connect: 883ms",
504
+ "p95 latency: 1ms (3 operations)"
458
505
  ]
459
506
  }
460
507
  ]
461
508
  },
462
509
  "performanceMetrics": {
463
- "connectMs": 678.1046249999999,
464
- "toolsListMs": 2.4714169999997466,
465
- "promptsListMs": 1.0759590000006938,
466
- "resourcesListMs": 0.0035409999991316
510
+ "connectMs": 883.3150830000004,
511
+ "toolsListMs": 0.863416999999572,
512
+ "promptsListMs": 0.9540829999996276,
513
+ "resourcesListMs": 0.0020419999991645454
514
+ },
515
+ "runtimeProfile": {
516
+ "stateMutations": [
517
+ {
518
+ "resource": "filesystem",
519
+ "operation": "write",
520
+ "scope": "working_directory",
521
+ "source": "description_analysis"
522
+ },
523
+ {
524
+ "resource": "filesystem",
525
+ "operation": "write",
526
+ "scope": "working_directory",
527
+ "source": "description_analysis"
528
+ },
529
+ {
530
+ "resource": "filesystem",
531
+ "operation": "write",
532
+ "scope": "working_directory",
533
+ "source": "description_analysis"
534
+ },
535
+ {
536
+ "resource": "filesystem",
537
+ "operation": "delete",
538
+ "scope": "working_directory",
539
+ "source": "description_analysis"
540
+ }
541
+ ],
542
+ "analyzedAt": "2026-07-12T23:44:00.164Z",
543
+ "confidence": "medium"
467
544
  }
468
545
  }
@@ -1,6 +1,6 @@
1
1
  # MCP Observatory Run Report
2
2
 
3
- Generated at 2026-07-06T19:49:48.899Z
3
+ Generated at 2026-07-12T23:43:59.279Z
4
4
 
5
5
  ## Target and Environment Metadata
6
6
 
@@ -25,7 +25,7 @@ Generated at 2026-07-06T19:49:48.899Z
25
25
 
26
26
  | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
27
27
  | --- | --- | --- | --- | --- | --- | --- | --- |
28
- | pass | 8 | 6 | 0 | 1 | 1 | 0 | 0 |
28
+ | pass | 9 | 7 | 0 | 1 | 1 | 0 | 0 |
29
29
 
30
30
  ## At a Glance
31
31
 
@@ -39,6 +39,27 @@ Generated at 2026-07-06T19:49:48.899Z
39
39
  - Suggested next step: Review the caveated checks next: schema-quality.
40
40
  - CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
41
41
 
42
+ ## What Was Not Tested
43
+
44
+ - 🔒 network_egress: No outbound network calls were attempted during scan
45
+ - â„šī¸ credential_access: Credential scanning was performed (see security findings)
46
+ - â„šī¸ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
47
+
48
+ ## Runtime Profile
49
+
50
+ ### State Mutations
51
+
52
+ The following state-modifying operations were identified from tool schemas:
53
+
54
+ | Resource | Operation | Scope | Source |
55
+ | --- | --- | --- | --- |
56
+ | filesystem | write | working_directory | description_analysis |
57
+ | filesystem | write | working_directory | description_analysis |
58
+ | filesystem | write | working_directory | description_analysis |
59
+ | filesystem | delete | working_directory | description_analysis |
60
+
61
+ _Analyzed at 2026-07-12T23:44:00.164Z_
62
+
42
63
  ## Regressions and Recoveries
43
64
 
44
65
  _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
@@ -47,13 +68,14 @@ _Use the `diff` command against another run artifact to classify regressions and
47
68
 
48
69
  | Focus | Check | Status | Duration (ms) | Message |
49
70
  | --- | --- | --- | --- | --- |
50
- | healthy | attack-sim | pass | 0.42 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
71
+ | healthy | attack-sim | pass | 0.68 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
51
72
  | healthy | conformance | pass | 1.59 | All 7 conformance checks passed. |
52
- | healthy | prompts | pass | 1.08 | Advertised capability responded with the minimal expected shape (1 item). |
53
- | healthy | security | pass | 0.19 | No security issues detected. |
54
- | healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
55
- | healthy | tools | pass | 2.47 | Advertised capability responded with the minimal expected shape (7 items). |
56
- | review | schema-quality | partial | 0.59 | Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info. |
73
+ | healthy | prompts | pass | 0.95 | Advertised capability responded with the minimal expected shape (1 item). |
74
+ | healthy | runtime-profile | pass | 0.08 | Detected 0 potential egress target(s) and 4 potential state mutation(s) with low confidence. |
75
+ | healthy | security | pass | 0.23 | No security issues detected. |
76
+ | healthy | security-lite | pass | 0.03 | No security issues detected (lightweight scan). |
77
+ | healthy | tools | pass | 0.86 | Advertised capability responded with the minimal expected shape (7 items). |
78
+ | review | schema-quality | partial | 0.54 | Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info. |
57
79
  | confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
58
80
 
59
81
  ## Evidence Snippets
@@ -94,6 +116,18 @@ Summary: Advertised capability responded with the minimal expected shape (1 item
94
116
  - Identifiers: demo_welcome
95
117
  - 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)
96
118
 
119
+ ### runtime-profile — pass
120
+
121
+ Summary: Detected 0 potential egress target(s) and 4 potential state mutation(s) with low confidence.
122
+
123
+ - Endpoint: `runtime-profile/analyze`
124
+ - Advertised: `true`
125
+ - Responded: `true`
126
+ - Minimal shape present: `true`
127
+ - Item count: `4`
128
+ - Identifiers: none
129
+ - Diagnostics: Egress entries: 0, State mutations: 4, Confidence: medium
130
+
97
131
  ### security — pass
98
132
 
99
133
  Summary: No security issues detected.
@@ -165,5 +199,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
165
199
 
166
200
  - Artifact type: `run`
167
201
  - Schema version: `1.0.0`
168
- - Run ID: `run_2026-07-06T194948899Z_ab0f7d29`
202
+ - Run ID: `run_2026-07-12T234359279Z_f1769fb2`
169
203
  - Gate: `pass`