http-fetch/firecrawl: replace npx launch with a shipped wrapper (v5 / 1.1.0)

Both connectors declared `mcp_config: {command: "npx", args: ["-y", "<pkg>"]}`
and shipped no code at all. Skald treats a mcp_local `args[0]` as the *name of
the file to run*, not as an argument: install stores `script_path = "<id>/-y"`
and global_enable launches `npx /…/connectors/<id>/-y`, a path that does not
exist. The server never answered `initialize`, so start_server failed — and
since global_enable still returns 200 with an `error` in the body, the UI showed
the connector as enabled while `render_mcp_list` (built from the live runtime)
left it out of the agent's system context entirely.

Ship a two-file wrapper instead: a package.json pinning the upstream package
(mcp-fetch-server@1.1.2, firecrawl-mcp@3.23.7) and an index.js importing it for
its side effect, so `node index.js` is a real local_script and
ensure_installed_host installs the deps beside it. No node_modules, no lockfile.

Also: drop the legacy `launch_command` / top-level `transport` / `dependencies`
fields; drop firecrawl's inert `mcp_config.env` placeholder (same case as gmaps
— tokens are only substituted in the URL); add firecrawl_developer_search to
firecrawl's tools[] and API_KEY to its requires; realign manifest and fragment
versions to 5 / 1.1.0 (they were 2 vs 4, so no Update badge could ever appear).

Verified end-to-end against the shipped files by reproducing Skald's own path:
`npm ci || npm install --omit=dev` then `node <abs>/index.js` — initialize,
tools/list and a real tools/call, JSON-RPC only on stdout.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Daniele
2026-08-10 14:14:36 +01:00
co-authored by Claude Opus 5
parent 73d1a51b1f
commit ecb6835fa5
10 changed files with 147 additions and 50 deletions
+36 -11
View File
@@ -304,7 +304,8 @@
"icon_large": "firecrawl/icon_lg.png",
"user_description": "Web scraping, crawling, search, deep research, and autonomous browsing \u2014 extract content from any website.",
"requires": [
"NODE"
"NODE",
"API_KEY"
],
"tags": [
"scraping",
@@ -319,9 +320,9 @@
"type": "api_key"
},
"folder": "firecrawl",
"version": 4,
"version_string": "1.0.3",
"version_release_date": "2026-07-21",
"version": 5,
"version_string": "1.1.0",
"version_release_date": "2026-08-10",
"tools": [
{
"name": "firecrawl_scrape",
@@ -335,6 +336,10 @@
"name": "firecrawl_search",
"display_name": "Web Search"
},
{
"name": "firecrawl_developer_search",
"display_name": "Developer Search"
},
{
"name": "firecrawl_search_feedback",
"display_name": "Search Feedback"
@@ -431,8 +436,8 @@
"files": [
{
"path": "connector.json",
"sha256": "6cab1a43e32741eb4f31638841e65b68fb937d2c6313fd18ace38e722bc2eb23",
"size": 5008
"sha256": "15713684157541a255b3c1eb143a00e715bc833878fd46470bd2d5e396acfb32",
"size": 5006
},
{
"path": "icon_lg.png",
@@ -443,6 +448,16 @@
"path": "icon_sm.png",
"sha256": "3a4be30d4c16ce93a1d132e063dfdffb8bd27b6c97715c9f3b12414439aaeb01",
"size": 6858
},
{
"path": "index.js",
"sha256": "bbd77881f07ea9fc17fe9545e9ad9bc8fa74b652b77b9d20d42b012e2356d0e9",
"size": 817
},
{
"path": "package.json",
"sha256": "d5f96ea065a92e12adc41be3babb00bdd8c86de149d7beb8631184530c5fc617",
"size": 278
}
]
},
@@ -470,9 +485,9 @@
"type": "none"
},
"folder": "http-fetch",
"version": 4,
"version_string": "1.0.3",
"version_release_date": "2026-07-21",
"version": 5,
"version_string": "1.1.0",
"version_release_date": "2026-08-10",
"tools": [
{
"name": "fetch_html",
@@ -502,8 +517,8 @@
"files": [
{
"path": "connector.json",
"sha256": "8087d8ed8af7c6b628c95ff74f5126023a1ed1c99c2b3fc5c0599f665ffaa6f2",
"size": 1862
"sha256": "7d9b0881325fe559e0d637dd3a2787c0d3d190b89e5f437db1754ac87f565f2c",
"size": 1908
},
{
"path": "icon_lg.svg",
@@ -514,6 +529,16 @@
"path": "icon_sm.svg",
"sha256": "fa32e634744d8cba369f6d8ba45746166124f7d3507cefd9a1f96180c787e1a8",
"size": 380
},
{
"path": "index.js",
"sha256": "bc092a323631b8de99bac70a0b0d0486fa77313c4d75d1182b8c426f6d529d28",
"size": 703
},
{
"path": "package.json",
"sha256": "29a4e0c21b65e7f0a1d69381b48c3fd505520eb9e2e4a4afeb0118135b80348e",
"size": 284
}
]
},