@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,237 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-12T23:44:23.094Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `linear-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y mcp-server-linear`
10
+ - Server: `linear-server 0.1.0`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ **Health Score: 60/100 (D)**
17
+
18
+ | Dimension | Score | Weight |
19
+ | --- | --- | --- |
20
+ | Protocol Compliance | 60/100 | 30% |
21
+ | Schema Quality | 60/100 | 20% |
22
+ | Security | 33/100 | 20% |
23
+ | Reliability | 67/100 | 20% |
24
+ | Performance | 100/100 | 10% |
25
+
26
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
27
+ | --- | --- | --- | --- | --- | --- | --- | --- |
28
+ | fail | 9 | 3 | 2 | 2 | 2 | 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: 6/7 conformance checks passed, 1 failed.; schema-quality: Found 5 quality finding(s) across 24 item(s): 0 warnings, 5 info.; security: Found 1 security finding(s): 1 high, 0 medium, 0 low.
34
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
35
+ - Failing checks: security-lite, security
36
+ - Partial or flaky checks: conformance, schema-quality
37
+ - Skipped checks: none
38
+ - Unsupported checks: prompts, resources
39
+ - Suggested next step: Start with the failing checks: security-lite, security.
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
+ - â„šī¸ 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
+ ### Egress Manifest
51
+
52
+ The following targets were identified as potentially reachable by this server (confidence: **medium**):
53
+
54
+ | Target | Protocol | Source | Confidence |
55
+ | --- | --- | --- | --- |
56
+ | URL of the avatar to display | unknown | description_analysis | medium |
57
+
58
+ ### State Mutations
59
+
60
+ The following state-modifying operations were identified from tool schemas:
61
+
62
+ | Resource | Operation | Scope | Source |
63
+ | --- | --- | --- | --- |
64
+ | filesystem | write | working_directory | description_analysis |
65
+ | filesystem | write | working_directory | description_analysis |
66
+ | filesystem | write | working_directory | description_analysis |
67
+ | filesystem | write | working_directory | description_analysis |
68
+ | filesystem | write | working_directory | description_analysis |
69
+ | filesystem | write | working_directory | description_analysis |
70
+ | filesystem | write | working_directory | description_analysis |
71
+ | filesystem | write | working_directory | description_analysis |
72
+ | filesystem | write | working_directory | description_analysis |
73
+ | filesystem | write | working_directory | description_analysis |
74
+ | filesystem | write | working_directory | description_analysis |
75
+ | filesystem | write | working_directory | description_analysis |
76
+ | filesystem | write | working_directory | description_analysis |
77
+ | filesystem | write | working_directory | description_analysis |
78
+ | filesystem | write | working_directory | description_analysis |
79
+ | filesystem | write | working_directory | description_analysis |
80
+ | filesystem | write | working_directory | description_analysis |
81
+ | filesystem | write | working_directory | description_analysis |
82
+ | filesystem | write | working_directory | description_analysis |
83
+ | filesystem | write | working_directory | description_analysis |
84
+ | filesystem | write | working_directory | description_analysis |
85
+ | filesystem | write | working_directory | description_analysis |
86
+ | filesystem | write | working_directory | description_analysis |
87
+ | filesystem | write | working_directory | description_analysis |
88
+ | filesystem | write | working_directory | description_analysis |
89
+ | filesystem | write | working_directory | description_analysis |
90
+ | filesystem | write | working_directory | description_analysis |
91
+ | filesystem | write | working_directory | description_analysis |
92
+ | filesystem | write | working_directory | description_analysis |
93
+ | filesystem | write | working_directory | description_analysis |
94
+
95
+ _Analyzed at 2026-07-12T23:44:24.026Z_
96
+
97
+ ## Regressions and Recoveries
98
+
99
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
100
+
101
+ ## Full Capability Status Table
102
+
103
+ | Focus | Check | Status | Duration (ms) | Message |
104
+ | --- | --- | --- | --- | --- |
105
+ | healthy | attack-sim | pass | 0.51 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
106
+ | healthy | runtime-profile | pass | 0.17 | Detected 1 potential egress target(s) and 30 potential state mutation(s) with low confidence. |
107
+ | healthy | tools | pass | 1.08 | Advertised capability responded with the minimal expected shape (24 items). |
108
+ | review | conformance | partial | 1.42 | 6/7 conformance checks passed, 1 failed. |
109
+ | review | schema-quality | partial | 0.51 | Found 5 quality finding(s) across 24 item(s): 0 warnings, 5 info. |
110
+ | confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
111
+ | confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
112
+ | act now | security | fail | 0.44 | Found 1 security finding(s): 1 high, 0 medium, 0 low. |
113
+ | act now | security-lite | fail | 0.05 | Found 1 security finding(s): 1 high, 0 medium, 0 low. |
114
+
115
+ ## Evidence Snippets
116
+
117
+ ### attack-sim — pass
118
+
119
+ Summary: Safe attack simulation found no high-risk MCP attack-readiness findings.
120
+
121
+ - Endpoint: `attack-sim/safe`
122
+ - Advertised: `true`
123
+ - Responded: `true`
124
+ - Minimal shape present: `true`
125
+ - Item count: `0`
126
+ - Identifiers: none
127
+ - Diagnostics: none
128
+
129
+ ### runtime-profile — pass
130
+
131
+ Summary: Detected 1 potential egress target(s) and 30 potential state mutation(s) with low confidence.
132
+
133
+ - Endpoint: `runtime-profile/analyze`
134
+ - Advertised: `true`
135
+ - Responded: `true`
136
+ - Minimal shape present: `true`
137
+ - Item count: `31`
138
+ - Identifiers: none
139
+ - Diagnostics: Egress entries: 1, State mutations: 30, Confidence: medium
140
+
141
+ ### tools — pass
142
+
143
+ Summary: Advertised capability responded with the minimal expected shape (24 items).
144
+
145
+ - Endpoint: `tools/list`
146
+ - Advertised: `true`
147
+ - Responded: `true`
148
+ - Minimal shape present: `true`
149
+ - Item count: `24`
150
+ - Identifiers: linear_auth_callback, linear_create_issue, linear_create_project_with_issues, linear_bulk_update_issues, linear_edit_issue (+19 more)
151
+ - Diagnostics: Linear MCP server running on stdio
152
+
153
+ ### conformance — partial
154
+
155
+ Summary: 6/7 conformance checks passed, 1 failed.
156
+
157
+ - Endpoint: `conformance/check`
158
+ - Advertised: `true`
159
+ - Responded: `true`
160
+ - Minimal shape present: `false`
161
+ - Item count: `7`
162
+ - Identifiers: tool-response-content
163
+ - Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 24 tool(s). (+4 more)
164
+
165
+ ### schema-quality — partial
166
+
167
+ Summary: Found 5 quality finding(s) across 24 item(s): 0 warnings, 5 info.
168
+
169
+ - Endpoint: `schema-quality/scan`
170
+ - Advertised: `true`
171
+ - Responded: `true`
172
+ - Minimal shape present: `true`
173
+ - Item count: `5`
174
+ - Identifiers: linear_create_project_with_issues, linear_bulk_update_issues, linear_search_issues, linear_list_projects, linear_update_comment
175
+ - Diagnostics: [info] tool "linear_create_project_with_issues": Property 'project' missing description, [info] tool "linear_bulk_update_issues": Property 'update' missing description, [info] tool "linear_search_issues": Has properties but no 'required' array declared (+2 more)
176
+
177
+ ### prompts — unsupported
178
+
179
+ Summary: Prompts are not advertised by the target.
180
+
181
+ - Endpoint: `prompts/list`
182
+ - Advertised: `false`
183
+ - Responded: `false`
184
+ - Minimal shape present: `false`
185
+ - Item count: `0`
186
+ - Identifiers: none
187
+ - Diagnostics: none
188
+
189
+ ### resources — unsupported
190
+
191
+ Summary: Resources are not advertised by the target.
192
+
193
+ - Endpoint: `resources/list | resources/templates/list`
194
+ - Advertised: `false`
195
+ - Responded: `false`
196
+ - Minimal shape present: `false`
197
+ - Item count: `0`
198
+ - Identifiers: none
199
+ - Diagnostics: none
200
+
201
+ ### security — fail
202
+
203
+ Summary: Found 1 security finding(s): 1 high, 0 medium, 0 low.
204
+
205
+ - Endpoint: `security/scan`
206
+ - Advertised: `true`
207
+ - Responded: `true`
208
+ - Minimal shape present: `true`
209
+ - Item count: `1`
210
+ - Identifiers: linear_auth_callback
211
+ - Diagnostics: [high] Tool "linear_auth_callback" has parameter "code" which may allow arbitrary command execution.
212
+
213
+ ### security-lite — fail
214
+
215
+ Summary: Found 1 security finding(s): 1 high, 0 medium, 0 low.
216
+
217
+ - Endpoint: `security/scan-lite`
218
+ - Advertised: `true`
219
+ - Responded: `true`
220
+ - Minimal shape present: `true`
221
+ - Item count: `1`
222
+ - Identifiers: linear_auth_callback
223
+ - Diagnostics: [high] Tool "linear_auth_callback" has parameter "code" which may allow arbitrary command execution.
224
+
225
+ ## Reproduction Commands
226
+
227
+ ```bash
228
+ npm run cli -- run --target <path-to-target-config.json>
229
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
230
+ ```
231
+
232
+ ## Artifact Provenance
233
+
234
+ - Artifact type: `run`
235
+ - Schema version: `1.0.0`
236
+ - Run ID: `run_2026-07-12T234423094Z_34be3205`
237
+ - 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-06T194946771Z_35b0da26",
6
- "createdAt": "2026-07-06T19:49:46.771Z",
7
- "toolVersion": "0.28.0",
5
+ "runId": "run_2026-07-12T234355682Z_37a2cec6",
6
+ "createdAt": "2026-07-12T23:43:55.682Z",
7
+ "toolVersion": "1.31.0",
8
8
  "target": {
9
9
  "targetId": "memory-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": 7.618457999999919,
46
+ "durationMs": 7.791874999999891,
47
47
  "message": "Advertised capability responded with the minimal expected shape (9 items).",
48
48
  "evidence": [
49
49
  {
@@ -295,7 +295,7 @@
295
295
  "id": "prompts",
296
296
  "capability": "prompts",
297
297
  "status": "unsupported",
298
- "durationMs": 0.0020410000001902517,
298
+ "durationMs": 0.00204200000007404,
299
299
  "message": "Prompts are not advertised by the target.",
300
300
  "evidence": [
301
301
  {
@@ -311,7 +311,7 @@
311
311
  "id": "resources",
312
312
  "capability": "resources",
313
313
  "status": "pass",
314
- "durationMs": 1.1717079999998532,
314
+ "durationMs": 0.7549579999999878,
315
315
  "message": "Advertised capability responded with the minimal expected shape (1 items).",
316
316
  "evidence": [
317
317
  {
@@ -344,7 +344,7 @@
344
344
  "id": "security-lite",
345
345
  "capability": "security-lite",
346
346
  "status": "pass",
347
- "durationMs": 0.04383400000006077,
347
+ "durationMs": 0.0435419999998885,
348
348
  "message": "No security issues detected (lightweight scan).",
349
349
  "evidence": [
350
350
  {
@@ -356,11 +356,106 @@
356
356
  }
357
357
  ]
358
358
  },
359
+ {
360
+ "id": "runtime-profile",
361
+ "capability": "runtime-profile",
362
+ "status": "pass",
363
+ "durationMs": 0.08408300000019153,
364
+ "message": "Detected 0 potential egress target(s) and 12 potential state mutation(s) with low confidence.",
365
+ "evidence": [
366
+ {
367
+ "endpoint": "runtime-profile/analyze",
368
+ "advertised": true,
369
+ "responded": true,
370
+ "minimalShapePresent": true,
371
+ "itemCount": 12,
372
+ "diagnostics": [
373
+ "Egress entries: 0",
374
+ "State mutations: 12",
375
+ "Confidence: medium"
376
+ ],
377
+ "findings": [
378
+ {
379
+ "resource": "filesystem",
380
+ "operation": "write",
381
+ "scope": "working_directory",
382
+ "source": "description_analysis"
383
+ },
384
+ {
385
+ "resource": "filesystem",
386
+ "operation": "write",
387
+ "scope": "working_directory",
388
+ "source": "description_analysis"
389
+ },
390
+ {
391
+ "resource": "filesystem",
392
+ "operation": "write",
393
+ "scope": "working_directory",
394
+ "source": "description_analysis"
395
+ },
396
+ {
397
+ "resource": "filesystem",
398
+ "operation": "write",
399
+ "scope": "working_directory",
400
+ "source": "description_analysis"
401
+ },
402
+ {
403
+ "resource": "filesystem",
404
+ "operation": "write",
405
+ "scope": "working_directory",
406
+ "source": "description_analysis"
407
+ },
408
+ {
409
+ "resource": "filesystem",
410
+ "operation": "write",
411
+ "scope": "working_directory",
412
+ "source": "description_analysis"
413
+ },
414
+ {
415
+ "resource": "filesystem",
416
+ "operation": "delete",
417
+ "scope": "working_directory",
418
+ "source": "description_analysis"
419
+ },
420
+ {
421
+ "resource": "filesystem",
422
+ "operation": "write",
423
+ "scope": "working_directory",
424
+ "source": "description_analysis"
425
+ },
426
+ {
427
+ "resource": "filesystem",
428
+ "operation": "delete",
429
+ "scope": "working_directory",
430
+ "source": "description_analysis"
431
+ },
432
+ {
433
+ "resource": "filesystem",
434
+ "operation": "write",
435
+ "scope": "working_directory",
436
+ "source": "description_analysis"
437
+ },
438
+ {
439
+ "resource": "filesystem",
440
+ "operation": "write",
441
+ "scope": "working_directory",
442
+ "source": "description_analysis"
443
+ },
444
+ {
445
+ "resource": "filesystem",
446
+ "operation": "delete",
447
+ "scope": "working_directory",
448
+ "source": "description_analysis"
449
+ }
450
+ ]
451
+ }
452
+ ]
453
+ },
359
454
  {
360
455
  "id": "conformance",
361
456
  "capability": "conformance",
362
457
  "status": "pass",
363
- "durationMs": 9.354083000000173,
458
+ "durationMs": 8.83041699999967,
364
459
  "message": "All 7 conformance checks passed.",
365
460
  "evidence": [
366
461
  {
@@ -386,7 +481,7 @@
386
481
  "id": "schema-quality",
387
482
  "capability": "schema-quality",
388
483
  "status": "partial",
389
- "durationMs": 4.083458000000064,
484
+ "durationMs": 3.9865829999998823,
390
485
  "message": "Found 4 quality finding(s) across 10 item(s): 0 warnings, 4 info.",
391
486
  "evidence": [
392
487
  {
@@ -440,7 +535,7 @@
440
535
  "id": "security",
441
536
  "capability": "security",
442
537
  "status": "pass",
443
- "durationMs": 3.6132500000003347,
538
+ "durationMs": 4.06899999999996,
444
539
  "message": "No security issues detected.",
445
540
  "evidence": [
446
541
  {
@@ -456,7 +551,7 @@
456
551
  "id": "attack-sim",
457
552
  "capability": "attack-sim",
458
553
  "status": "pass",
459
- "durationMs": 3.8723329999997986,
554
+ "durationMs": 4.2452079999998205,
460
555
  "message": "Safe attack simulation found no high-risk MCP attack-readiness findings.",
461
556
  "evidence": [
462
557
  {
@@ -515,16 +610,94 @@
515
610
  "weight": 0.1,
516
611
  "score": 100,
517
612
  "details": [
518
- "Connect: 628ms",
613
+ "Connect: 790ms",
519
614
  "p95 latency: 8ms (3 operations)"
520
615
  ]
521
616
  }
522
617
  ]
523
618
  },
524
619
  "performanceMetrics": {
525
- "connectMs": 628.0643749999999,
526
- "toolsListMs": 7.618457999999919,
527
- "promptsListMs": 0.0020410000001902517,
528
- "resourcesListMs": 1.1717079999998532
620
+ "connectMs": 790.0203339999998,
621
+ "toolsListMs": 7.791874999999891,
622
+ "promptsListMs": 0.00204200000007404,
623
+ "resourcesListMs": 0.7549579999999878
624
+ },
625
+ "runtimeProfile": {
626
+ "stateMutations": [
627
+ {
628
+ "resource": "filesystem",
629
+ "operation": "write",
630
+ "scope": "working_directory",
631
+ "source": "description_analysis"
632
+ },
633
+ {
634
+ "resource": "filesystem",
635
+ "operation": "write",
636
+ "scope": "working_directory",
637
+ "source": "description_analysis"
638
+ },
639
+ {
640
+ "resource": "filesystem",
641
+ "operation": "write",
642
+ "scope": "working_directory",
643
+ "source": "description_analysis"
644
+ },
645
+ {
646
+ "resource": "filesystem",
647
+ "operation": "write",
648
+ "scope": "working_directory",
649
+ "source": "description_analysis"
650
+ },
651
+ {
652
+ "resource": "filesystem",
653
+ "operation": "write",
654
+ "scope": "working_directory",
655
+ "source": "description_analysis"
656
+ },
657
+ {
658
+ "resource": "filesystem",
659
+ "operation": "write",
660
+ "scope": "working_directory",
661
+ "source": "description_analysis"
662
+ },
663
+ {
664
+ "resource": "filesystem",
665
+ "operation": "delete",
666
+ "scope": "working_directory",
667
+ "source": "description_analysis"
668
+ },
669
+ {
670
+ "resource": "filesystem",
671
+ "operation": "write",
672
+ "scope": "working_directory",
673
+ "source": "description_analysis"
674
+ },
675
+ {
676
+ "resource": "filesystem",
677
+ "operation": "delete",
678
+ "scope": "working_directory",
679
+ "source": "description_analysis"
680
+ },
681
+ {
682
+ "resource": "filesystem",
683
+ "operation": "write",
684
+ "scope": "working_directory",
685
+ "source": "description_analysis"
686
+ },
687
+ {
688
+ "resource": "filesystem",
689
+ "operation": "write",
690
+ "scope": "working_directory",
691
+ "source": "description_analysis"
692
+ },
693
+ {
694
+ "resource": "filesystem",
695
+ "operation": "delete",
696
+ "scope": "working_directory",
697
+ "source": "description_analysis"
698
+ }
699
+ ],
700
+ "analyzedAt": "2026-07-12T23:43:56.485Z",
701
+ "confidence": "medium"
529
702
  }
530
703
  }
@@ -1,6 +1,6 @@
1
1
  # MCP Observatory Run Report
2
2
 
3
- Generated at 2026-07-06T19:49:46.771Z
3
+ Generated at 2026-07-12T23:43:55.682Z
4
4
 
5
5
  ## Target and Environment Metadata
6
6
 
@@ -25,7 +25,7 @@ Generated at 2026-07-06T19:49:46.771Z
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,35 @@ Generated at 2026-07-06T19:49:46.771Z
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 | write | working_directory | description_analysis |
60
+ | filesystem | write | working_directory | description_analysis |
61
+ | filesystem | write | working_directory | description_analysis |
62
+ | filesystem | delete | working_directory | description_analysis |
63
+ | filesystem | write | working_directory | description_analysis |
64
+ | filesystem | delete | working_directory | description_analysis |
65
+ | filesystem | write | working_directory | description_analysis |
66
+ | filesystem | write | working_directory | description_analysis |
67
+ | filesystem | delete | working_directory | description_analysis |
68
+
69
+ _Analyzed at 2026-07-12T23:43:56.485Z_
70
+
42
71
  ## Regressions and Recoveries
43
72
 
44
73
  _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
@@ -47,13 +76,14 @@ _Use the `diff` command against another run artifact to classify regressions and
47
76
 
48
77
  | Focus | Check | Status | Duration (ms) | Message |
49
78
  | --- | --- | --- | --- | --- |
50
- | healthy | attack-sim | pass | 3.87 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
51
- | healthy | conformance | pass | 9.35 | All 7 conformance checks passed. |
52
- | healthy | resources | pass | 1.17 | Advertised capability responded with the minimal expected shape (1 items). |
53
- | healthy | security | pass | 3.61 | No security issues detected. |
79
+ | healthy | attack-sim | pass | 4.25 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
80
+ | healthy | conformance | pass | 8.83 | All 7 conformance checks passed. |
81
+ | healthy | resources | pass | 0.75 | Advertised capability responded with the minimal expected shape (1 items). |
82
+ | healthy | runtime-profile | pass | 0.08 | Detected 0 potential egress target(s) and 12 potential state mutation(s) with low confidence. |
83
+ | healthy | security | pass | 4.07 | No security issues detected. |
54
84
  | healthy | security-lite | pass | 0.04 | No security issues detected (lightweight scan). |
55
- | healthy | tools | pass | 7.62 | Advertised capability responded with the minimal expected shape (9 items). |
56
- | review | schema-quality | partial | 4.08 | Found 4 quality finding(s) across 10 item(s): 0 warnings, 4 info. |
85
+ | healthy | tools | pass | 7.79 | Advertised capability responded with the minimal expected shape (9 items). |
86
+ | review | schema-quality | partial | 3.99 | Found 4 quality finding(s) across 10 item(s): 0 warnings, 4 info. |
57
87
  | confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
58
88
 
59
89
  ## Evidence Snippets
@@ -101,6 +131,18 @@ Summary: Advertised capability responded with the minimal expected shape (1 item
101
131
  - Identifiers: none
102
132
  - Diagnostics: Knowledge Graph MCP Server running on stdio
103
133
 
134
+ ### runtime-profile — pass
135
+
136
+ Summary: Detected 0 potential egress target(s) and 12 potential state mutation(s) with low confidence.
137
+
138
+ - Endpoint: `runtime-profile/analyze`
139
+ - Advertised: `true`
140
+ - Responded: `true`
141
+ - Minimal shape present: `true`
142
+ - Item count: `12`
143
+ - Identifiers: none
144
+ - Diagnostics: Egress entries: 0, State mutations: 12, Confidence: medium
145
+
104
146
  ### security — pass
105
147
 
106
148
  Summary: No security issues detected.
@@ -172,5 +214,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
172
214
 
173
215
  - Artifact type: `run`
174
216
  - Schema version: `1.0.0`
175
- - Run ID: `run_2026-07-06T194946771Z_35b0da26`
217
+ - Run ID: `run_2026-07-12T234355682Z_37a2cec6`
176
218
  - Gate: `pass`