@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.
- package/README.md +4 -10
- package/README.zh-CN.md +4 -10
- package/dist/src/cli.js +1 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/enforce.d.ts +2 -2
- package/dist/src/commands/enforce.js +5 -8
- package/dist/src/commands/enforce.js.map +1 -1
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/test.js +2 -2
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/telemetry.js +2 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/validate.js +5 -6
- package/dist/src/validate.js.map +1 -1
- package/docs/mcp-server-safety-index.md +68 -8
- package/docs/safety-index/artifacts/antv-chart-server.json +1452 -19
- package/docs/safety-index/artifacts/antv-chart-server.md +156 -10
- package/docs/safety-index/artifacts/brave-search-server.json +341 -0
- package/docs/safety-index/artifacts/brave-search-server.md +201 -0
- package/docs/safety-index/artifacts/browsermcp-server.json +83 -18
- package/docs/safety-index/artifacts/browsermcp-server.md +46 -12
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +592 -21
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +96 -14
- package/docs/safety-index/artifacts/clay-server.json +66 -0
- package/docs/safety-index/artifacts/clay-server.md +106 -0
- package/docs/safety-index/artifacts/cloudflare-server.json +66 -0
- package/docs/safety-index/artifacts/cloudflare-server.md +106 -0
- package/docs/safety-index/artifacts/context7-server.json +85 -18
- package/docs/safety-index/artifacts/context7-server.md +52 -11
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +1565 -34
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +178 -17
- package/docs/safety-index/artifacts/docker-server.json +395 -0
- package/docs/safety-index/artifacts/docker-server.md +204 -0
- package/docs/safety-index/artifacts/everything-server.json +145 -18
- package/docs/safety-index/artifacts/everything-server.md +56 -11
- package/docs/safety-index/artifacts/exa-server.json +400 -0
- package/docs/safety-index/artifacts/exa-server.md +207 -0
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +625 -18
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +95 -11
- package/docs/safety-index/artifacts/fetch-server.json +66 -0
- package/docs/safety-index/artifacts/fetch-server.md +106 -0
- package/docs/safety-index/artifacts/figma-server.json +1766 -0
- package/docs/safety-index/artifacts/figma-server.md +256 -0
- package/docs/safety-index/artifacts/filesystem-mcp-server.json +428 -24
- package/docs/safety-index/artifacts/filesystem-mcp-server.md +75 -14
- package/docs/safety-index/artifacts/filesystem-server.json +426 -22
- package/docs/safety-index/artifacts/filesystem-server.md +73 -12
- package/docs/safety-index/artifacts/firecrawl-server.json +4056 -0
- package/docs/safety-index/artifacts/firecrawl-server.md +243 -0
- package/docs/safety-index/artifacts/github-mcp-server.json +374 -21
- package/docs/safety-index/artifacts/github-mcp-server.md +71 -15
- package/docs/safety-index/artifacts/gitlab-server.json +229 -0
- package/docs/safety-index/artifacts/gitlab-server.md +753 -0
- package/docs/safety-index/artifacts/gmail-server.json +66 -0
- package/docs/safety-index/artifacts/gmail-server.md +106 -0
- package/docs/safety-index/artifacts/google-calendar-server.json +66 -0
- package/docs/safety-index/artifacts/google-calendar-server.md +106 -0
- package/docs/safety-index/artifacts/google-drive-server.json +66 -0
- package/docs/safety-index/artifacts/google-drive-server.md +106 -0
- package/docs/safety-index/artifacts/google-sheets-server.json +66 -0
- package/docs/safety-index/artifacts/google-sheets-server.md +106 -0
- package/docs/safety-index/artifacts/google-tasks-server.json +66 -0
- package/docs/safety-index/artifacts/google-tasks-server.md +106 -0
- package/docs/safety-index/artifacts/huggingface-server.json +66 -0
- package/docs/safety-index/artifacts/huggingface-server.md +106 -0
- package/docs/safety-index/artifacts/jina-server.json +66 -0
- package/docs/safety-index/artifacts/jina-server.md +106 -0
- package/docs/safety-index/artifacts/kubernetes-server.json +1054 -27
- package/docs/safety-index/artifacts/kubernetes-server.md +137 -18
- package/docs/safety-index/artifacts/linear-server.json +1494 -0
- package/docs/safety-index/artifacts/linear-server.md +237 -0
- package/docs/safety-index/artifacts/memory-server.json +191 -18
- package/docs/safety-index/artifacts/memory-server.md +51 -9
- package/docs/safety-index/artifacts/mongodb-server.json +66 -0
- package/docs/safety-index/artifacts/mongodb-server.md +106 -0
- package/docs/safety-index/artifacts/neon-server.json +66 -0
- package/docs/safety-index/artifacts/neon-server.md +103 -0
- package/docs/safety-index/artifacts/notion-server.json +7151 -0
- package/docs/safety-index/artifacts/notion-server.md +236 -0
- package/docs/safety-index/artifacts/onesignal-server.json +66 -0
- package/docs/safety-index/artifacts/onesignal-server.md +106 -0
- package/docs/safety-index/artifacts/opentofu-server.json +31 -19
- package/docs/safety-index/artifacts/opentofu-server.md +28 -10
- package/docs/safety-index/artifacts/playwright-mcp-server.json +415 -24
- package/docs/safety-index/artifacts/playwright-mcp-server.md +84 -20
- package/docs/safety-index/artifacts/postgres-server.json +330 -0
- package/docs/safety-index/artifacts/postgres-server.md +208 -0
- package/docs/safety-index/artifacts/promptopia-server.json +96 -19
- package/docs/safety-index/artifacts/promptopia-server.md +43 -9
- package/docs/safety-index/artifacts/puppeteer-server.json +118 -29
- package/docs/safety-index/artifacts/puppeteer-server.md +61 -19
- package/docs/safety-index/artifacts/qdrant-server.json +66 -0
- package/docs/safety-index/artifacts/qdrant-server.md +106 -0
- package/docs/safety-index/artifacts/reddit-server.json +66 -0
- package/docs/safety-index/artifacts/reddit-server.md +106 -0
- package/docs/safety-index/artifacts/ref-tools-server.json +95 -18
- package/docs/safety-index/artifacts/ref-tools-server.md +45 -12
- package/docs/safety-index/artifacts/sentry-server.json +66 -0
- package/docs/safety-index/artifacts/sentry-server.md +106 -0
- package/docs/safety-index/artifacts/sequential-thinking-server.json +59 -18
- package/docs/safety-index/artifacts/sequential-thinking-server.md +41 -9
- package/docs/safety-index/artifacts/slack-server.json +66 -0
- package/docs/safety-index/artifacts/slack-server.md +102 -0
- package/docs/safety-index/artifacts/sqlite-server.json +67 -0
- package/docs/safety-index/artifacts/sqlite-server.md +106 -0
- package/docs/safety-index/artifacts/stripe-server.json +66 -0
- package/docs/safety-index/artifacts/stripe-server.md +106 -0
- package/docs/safety-index/artifacts/supabase-server.json +66 -0
- package/docs/safety-index/artifacts/supabase-server.md +102 -0
- package/docs/safety-index/artifacts/tavily-search-server.json +66 -0
- package/docs/safety-index/artifacts/tavily-search-server.md +106 -0
- package/docs/safety-index/artifacts/ui5-mcp-server.json +24 -24
- package/docs/safety-index/artifacts/ui5-mcp-server.md +13 -13
- package/docs/safety-index/artifacts/vercel-ai-server.json +66 -0
- package/docs/safety-index/artifacts/vercel-ai-server.md +106 -0
- package/docs/safety-index/targets.json +535 -0
- package/package.json +1 -1
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-07-12T23:44:24.930Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `firecrawl-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y firecrawl-mcp`
|
|
10
|
+
- Server: `firecrawl-fastmcp 3.22.3`
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 53/100 (F)**
|
|
17
|
+
|
|
18
|
+
| Dimension | Score | Weight |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| Protocol Compliance | 60/100 | 30% |
|
|
21
|
+
| Schema Quality | 60/100 | 20% |
|
|
22
|
+
| Security | 0/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 | 1 | 3 | 3 | 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.; runtime-profile: Detected 21 potential egress target(s) and 16 potential state mutation(s) with high confidence.; schema-quality: Found 147 quality finding(s) across 26 item(s): 0 warnings, 147 info.
|
|
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, attack-sim
|
|
36
|
+
- Partial or flaky checks: runtime-profile, conformance, schema-quality
|
|
37
|
+
- Skipped checks: none
|
|
38
|
+
- Unsupported checks: prompts, resources
|
|
39
|
+
- Suggested next step: Start with the failing checks: security-lite, security, attack-sim.
|
|
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: **high**):
|
|
53
|
+
|
|
54
|
+
| Target | Protocol | Source | Confidence |
|
|
55
|
+
| --- | --- | --- | --- |
|
|
56
|
+
| url | unknown | tool_schema | high |
|
|
57
|
+
| firecrawl_scrape | unknown | description_analysis | low |
|
|
58
|
+
| url | unknown | tool_schema | high |
|
|
59
|
+
| firecrawl_map | unknown | description_analysis | low |
|
|
60
|
+
| firecrawl_search | unknown | description_analysis | low |
|
|
61
|
+
| firecrawl_search_feedback | unknown | description_analysis | low |
|
|
62
|
+
| endpoint | unknown | tool_schema | high |
|
|
63
|
+
| url | unknown | tool_schema | high |
|
|
64
|
+
| firecrawl_feedback | unknown | description_analysis | low |
|
|
65
|
+
| url | unknown | tool_schema | high |
|
|
66
|
+
| webhook | unknown | tool_schema | high |
|
|
67
|
+
| firecrawl_crawl | unknown | description_analysis | low |
|
|
68
|
+
| firecrawl_extract | unknown | description_analysis | low |
|
|
69
|
+
| firecrawl_agent | unknown | description_analysis | low |
|
|
70
|
+
| url | unknown | tool_schema | high |
|
|
71
|
+
| firecrawl_interact | unknown | description_analysis | low |
|
|
72
|
+
| firecrawl_parse | unknown | description_analysis | low |
|
|
73
|
+
| firecrawl_monitor_create | unknown | description_analysis | low |
|
|
74
|
+
| firecrawl_monitor_update | unknown | description_analysis | low |
|
|
75
|
+
| firecrawl_monitor_check | unknown | description_analysis | low |
|
|
76
|
+
| firecrawl_research_search_github | unknown | description_analysis | low |
|
|
77
|
+
|
|
78
|
+
### State Mutations
|
|
79
|
+
|
|
80
|
+
The following state-modifying operations were identified from tool schemas:
|
|
81
|
+
|
|
82
|
+
| Resource | Operation | Scope | Source |
|
|
83
|
+
| --- | --- | --- | --- |
|
|
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 | tool_schema |
|
|
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
|
+
| filesystem | write | working_directory | description_analysis |
|
|
95
|
+
| filesystem | write | working_directory | description_analysis |
|
|
96
|
+
| filesystem | write | working_directory | description_analysis |
|
|
97
|
+
| filesystem | execute | working_directory | description_analysis |
|
|
98
|
+
| filesystem | write | working_directory | description_analysis |
|
|
99
|
+
| filesystem | write | working_directory | description_analysis |
|
|
100
|
+
|
|
101
|
+
_Analyzed at 2026-07-12T23:44:25.852Z_
|
|
102
|
+
|
|
103
|
+
## Regressions and Recoveries
|
|
104
|
+
|
|
105
|
+
_Use the `diff` command against another run artifact to classify regressions and recoveries over time._
|
|
106
|
+
|
|
107
|
+
## Full Capability Status Table
|
|
108
|
+
|
|
109
|
+
| Focus | Check | Status | Duration (ms) | Message |
|
|
110
|
+
| --- | --- | --- | --- | --- |
|
|
111
|
+
| healthy | tools | pass | 7.68 | Advertised capability responded with the minimal expected shape (26 items). |
|
|
112
|
+
| review | conformance | partial | 2.61 | 6/7 conformance checks passed, 1 failed. |
|
|
113
|
+
| review | runtime-profile | partial | 0.44 | Detected 21 potential egress target(s) and 16 potential state mutation(s) with high confidence. |
|
|
114
|
+
| review | schema-quality | partial | 0.99 | Found 147 quality finding(s) across 26 item(s): 0 warnings, 147 info. |
|
|
115
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
116
|
+
| confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
|
|
117
|
+
| act now | attack-sim | fail | 1.88 | Safe attack simulation found 9 finding(s): 1 high, 8 medium, 0 low. |
|
|
118
|
+
| act now | security | fail | 1.06 | Found 1 security finding(s): 1 high, 0 medium, 0 low. |
|
|
119
|
+
| act now | security-lite | fail | 0.40 | Found 1 security finding(s): 1 high, 0 medium, 0 low. |
|
|
120
|
+
|
|
121
|
+
## Evidence Snippets
|
|
122
|
+
|
|
123
|
+
### tools — pass
|
|
124
|
+
|
|
125
|
+
Summary: Advertised capability responded with the minimal expected shape (26 items).
|
|
126
|
+
|
|
127
|
+
- Endpoint: `tools/list`
|
|
128
|
+
- Advertised: `true`
|
|
129
|
+
- Responded: `true`
|
|
130
|
+
- Minimal shape present: `true`
|
|
131
|
+
- Item count: `26`
|
|
132
|
+
- Identifiers: firecrawl_scrape, firecrawl_map, firecrawl_search, firecrawl_search_feedback, firecrawl_feedback (+21 more)
|
|
133
|
+
- Diagnostics: No FIRECRAWL_API_KEY or FIRECRAWL_API_URL set — running in keyless mode. firecrawl_scrape and firecrawl_search are free (rate-limited per IP) against the Firecrawl cloud; other tools require an API key (get one free at https://firecrawl.dev).
|
|
134
|
+
|
|
135
|
+
### conformance — partial
|
|
136
|
+
|
|
137
|
+
Summary: 6/7 conformance checks passed, 1 failed.
|
|
138
|
+
|
|
139
|
+
- Endpoint: `conformance/check`
|
|
140
|
+
- Advertised: `true`
|
|
141
|
+
- Responded: `true`
|
|
142
|
+
- Minimal shape present: `false`
|
|
143
|
+
- Item count: `7`
|
|
144
|
+
- Identifiers: tool-response-content
|
|
145
|
+
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 26 tool(s). (+4 more)
|
|
146
|
+
|
|
147
|
+
### runtime-profile — partial
|
|
148
|
+
|
|
149
|
+
Summary: Detected 21 potential egress target(s) and 16 potential state mutation(s) with high confidence.
|
|
150
|
+
|
|
151
|
+
- Endpoint: `runtime-profile/analyze`
|
|
152
|
+
- Advertised: `true`
|
|
153
|
+
- Responded: `true`
|
|
154
|
+
- Minimal shape present: `true`
|
|
155
|
+
- Item count: `37`
|
|
156
|
+
- Identifiers: none
|
|
157
|
+
- Diagnostics: Egress entries: 21, State mutations: 16, Confidence: high
|
|
158
|
+
|
|
159
|
+
### schema-quality — partial
|
|
160
|
+
|
|
161
|
+
Summary: Found 147 quality finding(s) across 26 item(s): 0 warnings, 147 info.
|
|
162
|
+
|
|
163
|
+
- Endpoint: `schema-quality/scan`
|
|
164
|
+
- Advertised: `true`
|
|
165
|
+
- Responded: `true`
|
|
166
|
+
- Minimal shape present: `true`
|
|
167
|
+
- Item count: `147`
|
|
168
|
+
- Identifiers: firecrawl_scrape, firecrawl_map, firecrawl_search, firecrawl_search_feedback, firecrawl_feedback (+19 more)
|
|
169
|
+
- Diagnostics: [info] tool "firecrawl_scrape": Property 'url' missing description, [info] tool "firecrawl_scrape": Property 'formats' missing description, [info] tool "firecrawl_scrape": Property 'jsonOptions' missing description (+144 more)
|
|
170
|
+
|
|
171
|
+
### prompts — unsupported
|
|
172
|
+
|
|
173
|
+
Summary: Prompts are not advertised by the target.
|
|
174
|
+
|
|
175
|
+
- Endpoint: `prompts/list`
|
|
176
|
+
- Advertised: `false`
|
|
177
|
+
- Responded: `false`
|
|
178
|
+
- Minimal shape present: `false`
|
|
179
|
+
- Item count: `0`
|
|
180
|
+
- Identifiers: none
|
|
181
|
+
- Diagnostics: none
|
|
182
|
+
|
|
183
|
+
### resources — unsupported
|
|
184
|
+
|
|
185
|
+
Summary: Resources are not advertised by the target.
|
|
186
|
+
|
|
187
|
+
- Endpoint: `resources/list | resources/templates/list`
|
|
188
|
+
- Advertised: `false`
|
|
189
|
+
- Responded: `false`
|
|
190
|
+
- Minimal shape present: `false`
|
|
191
|
+
- Item count: `0`
|
|
192
|
+
- Identifiers: none
|
|
193
|
+
- Diagnostics: none
|
|
194
|
+
|
|
195
|
+
### attack-sim — fail
|
|
196
|
+
|
|
197
|
+
Summary: Safe attack simulation found 9 finding(s): 1 high, 8 medium, 0 low.
|
|
198
|
+
|
|
199
|
+
- Endpoint: `attack-sim/safe`
|
|
200
|
+
- Advertised: `true`
|
|
201
|
+
- Responded: `true`
|
|
202
|
+
- Minimal shape present: `true`
|
|
203
|
+
- Item count: `9`
|
|
204
|
+
- Identifiers: firecrawl_scrape, firecrawl_search, firecrawl_feedback, firecrawl_crawl, firecrawl_interact (+4 more)
|
|
205
|
+
- Diagnostics: [medium] Tool "firecrawl_scrape" combines broad parameters (url) with destructive or non-read-only behavior., [medium] Tool "firecrawl_search" combines broad parameters (query) with destructive or non-read-only behavior., [medium] Tool "firecrawl_feedback" combines broad parameters (endpoint, url) with destructive or non-read-only behavior. (+6 more)
|
|
206
|
+
|
|
207
|
+
### security — fail
|
|
208
|
+
|
|
209
|
+
Summary: Found 1 security finding(s): 1 high, 0 medium, 0 low.
|
|
210
|
+
|
|
211
|
+
- Endpoint: `security/scan`
|
|
212
|
+
- Advertised: `true`
|
|
213
|
+
- Responded: `true`
|
|
214
|
+
- Minimal shape present: `true`
|
|
215
|
+
- Item count: `1`
|
|
216
|
+
- Identifiers: firecrawl_interact
|
|
217
|
+
- Diagnostics: [high] Tool "firecrawl_interact" has parameter "code" which may allow arbitrary command execution.
|
|
218
|
+
|
|
219
|
+
### security-lite — fail
|
|
220
|
+
|
|
221
|
+
Summary: Found 1 security finding(s): 1 high, 0 medium, 0 low.
|
|
222
|
+
|
|
223
|
+
- Endpoint: `security/scan-lite`
|
|
224
|
+
- Advertised: `true`
|
|
225
|
+
- Responded: `true`
|
|
226
|
+
- Minimal shape present: `true`
|
|
227
|
+
- Item count: `1`
|
|
228
|
+
- Identifiers: firecrawl_interact
|
|
229
|
+
- Diagnostics: [high] Tool "firecrawl_interact" has parameter "code" which may allow arbitrary command execution.
|
|
230
|
+
|
|
231
|
+
## Reproduction Commands
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
235
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Artifact Provenance
|
|
239
|
+
|
|
240
|
+
- Artifact type: `run`
|
|
241
|
+
- Schema version: `1.0.0`
|
|
242
|
+
- Run ID: `run_2026-07-12T234424930Z_964a3213`
|
|
243
|
+
- Gate: `fail`
|