firecrawl-mcp 3.30.1 → 3.30.2
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/dist/index.js +5 -7
- package/dist/server.js +4 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2415,10 +2415,10 @@ var findToolsSchema = z5.object({
|
|
|
2415
2415
|
urls: z5.array(
|
|
2416
2416
|
z5.string().url().regex(/^https?:\/\//)
|
|
2417
2417
|
).min(1).max(100).optional(),
|
|
2418
|
-
providers: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("
|
|
2418
|
+
providers: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("Values from each listed tool's `provider` field (e.g. \"apps-apple-com\"). Alone, lists that provider's compact tools; with capabilities, scopes them."),
|
|
2419
2419
|
categories: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("Category IDs returned by an empty call. Lists providers by default."),
|
|
2420
2420
|
groups: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("Optional group IDs for explicit group browsing."),
|
|
2421
|
-
capabilities: z5.array(z5.string().min(1)).min(1).max(50).optional().describe(
|
|
2421
|
+
capabilities: z5.array(z5.string().min(1)).min(1).max(50).optional().describe('Values from each listed tool\'s `capability` field (e.g. "apps/app"). Put the provider in `providers`: {"providers": ["apps-apple-com"], "capabilities": ["apps/app"]}. A selected capability expands its complete contract by default.'),
|
|
2422
2422
|
level: z5.enum(["categories", "providers", "groups", "tools"]).optional(),
|
|
2423
2423
|
expand: z5.array(z5.enum(["options", "response", "examples"])).optional().describe('Use ["options", "response"] for inputs and output shape without example payloads; [] keeps results compact. Omit for full contracts on selected capabilities.'),
|
|
2424
2424
|
limit: z5.number().int().min(1).max(100).optional(),
|
|
@@ -3793,7 +3793,7 @@ async function relayExchangeError(run, context) {
|
|
|
3793
3793
|
const response = error2?.response;
|
|
3794
3794
|
if (!response || response.status === 401) throw error2;
|
|
3795
3795
|
const data = response.data;
|
|
3796
|
-
const message = typeof data?.error === "string" ? data.error : `
|
|
3796
|
+
const message = typeof data?.error === "string" ? data.error : `Firecrawl request failed (HTTP ${response.status})`;
|
|
3797
3797
|
const disabledProvider = response.status === 403 ? context.providers?.find((provider) => message === `Access to ${provider} is disabled for this organization.`) : void 0;
|
|
3798
3798
|
if (disabledProvider) {
|
|
3799
3799
|
throw new UserError(
|
|
@@ -4727,8 +4727,7 @@ For a programming question, add \`categories: ["developer"]\`; its hits return i
|
|
|
4727
4727
|
searchBody,
|
|
4728
4728
|
opts.sources === void 0 && opts.domainTools !== true
|
|
4729
4729
|
);
|
|
4730
|
-
const
|
|
4731
|
-
const httpRes = exchangeSource ? await relayExchangeError(postSearch, context) : await relayTermsRequired(postSearch, context);
|
|
4730
|
+
const httpRes = await relayExchangeError(postSearch, { tool: "firecrawl_search" });
|
|
4732
4731
|
return structuredCompact(withoutDiscoveredToolPrices(httpRes?.data ?? {}));
|
|
4733
4732
|
}
|
|
4734
4733
|
});
|
|
@@ -6469,8 +6468,7 @@ Returns result groups in \`data\` and an operation \`id\`.
|
|
|
6469
6468
|
searchBody,
|
|
6470
6469
|
sources === void 0 && domainTools !== true
|
|
6471
6470
|
);
|
|
6472
|
-
const
|
|
6473
|
-
const httpRes = exchangeSource ? await relayExchangeError(postSearch, context) : await relayTermsRequired(postSearch, context);
|
|
6471
|
+
const httpRes = await relayExchangeError(postSearch, { tool: "firecrawl_search" });
|
|
6474
6472
|
return structuredCompactResult(httpRes?.data ?? {});
|
|
6475
6473
|
}
|
|
6476
6474
|
});
|
package/dist/server.js
CHANGED
|
@@ -2410,10 +2410,10 @@ var findToolsSchema = z5.object({
|
|
|
2410
2410
|
urls: z5.array(
|
|
2411
2411
|
z5.string().url().regex(/^https?:\/\//)
|
|
2412
2412
|
).min(1).max(100).optional(),
|
|
2413
|
-
providers: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("
|
|
2413
|
+
providers: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("Values from each listed tool's `provider` field (e.g. \"apps-apple-com\"). Alone, lists that provider's compact tools; with capabilities, scopes them."),
|
|
2414
2414
|
categories: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("Category IDs returned by an empty call. Lists providers by default."),
|
|
2415
2415
|
groups: z5.array(z5.string().min(1)).min(1).max(50).optional().describe("Optional group IDs for explicit group browsing."),
|
|
2416
|
-
capabilities: z5.array(z5.string().min(1)).min(1).max(50).optional().describe(
|
|
2416
|
+
capabilities: z5.array(z5.string().min(1)).min(1).max(50).optional().describe('Values from each listed tool\'s `capability` field (e.g. "apps/app"). Put the provider in `providers`: {"providers": ["apps-apple-com"], "capabilities": ["apps/app"]}. A selected capability expands its complete contract by default.'),
|
|
2417
2417
|
level: z5.enum(["categories", "providers", "groups", "tools"]).optional(),
|
|
2418
2418
|
expand: z5.array(z5.enum(["options", "response", "examples"])).optional().describe('Use ["options", "response"] for inputs and output shape without example payloads; [] keeps results compact. Omit for full contracts on selected capabilities.'),
|
|
2419
2419
|
limit: z5.number().int().min(1).max(100).optional(),
|
|
@@ -3788,7 +3788,7 @@ async function relayExchangeError(run, context) {
|
|
|
3788
3788
|
const response = error2?.response;
|
|
3789
3789
|
if (!response || response.status === 401) throw error2;
|
|
3790
3790
|
const data = response.data;
|
|
3791
|
-
const message = typeof data?.error === "string" ? data.error : `
|
|
3791
|
+
const message = typeof data?.error === "string" ? data.error : `Firecrawl request failed (HTTP ${response.status})`;
|
|
3792
3792
|
const disabledProvider = response.status === 403 ? context.providers?.find((provider) => message === `Access to ${provider} is disabled for this organization.`) : void 0;
|
|
3793
3793
|
if (disabledProvider) {
|
|
3794
3794
|
throw new UserError(
|
|
@@ -4722,8 +4722,7 @@ For a programming question, add \`categories: ["developer"]\`; its hits return i
|
|
|
4722
4722
|
searchBody,
|
|
4723
4723
|
opts.sources === void 0 && opts.domainTools !== true
|
|
4724
4724
|
);
|
|
4725
|
-
const
|
|
4726
|
-
const httpRes = exchangeSource ? await relayExchangeError(postSearch, context) : await relayTermsRequired(postSearch, context);
|
|
4725
|
+
const httpRes = await relayExchangeError(postSearch, { tool: "firecrawl_search" });
|
|
4727
4726
|
return structuredCompact(withoutDiscoveredToolPrices(httpRes?.data ?? {}));
|
|
4728
4727
|
}
|
|
4729
4728
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "firecrawl-mcp",
|
|
3
|
-
"version": "3.30.
|
|
3
|
+
"version": "3.30.2",
|
|
4
4
|
"description": "MCP server for Firecrawl — search, scrape, and interact with the web, and search scientific papers. Supports both cloud and self-hosted instances. Features include web search, scraping, page interaction, batch processing, LLM-powered content analysis, and research paper search over biomedical and arXiv literature (PubMed, bioRxiv, medRxiv, arXiv) with citation-graph expansion and full-text reading.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"mcpName": "io.github.firecrawl/firecrawl-mcp-server",
|