Server definition
- Hash
- sha256:45b8ed465d2ad72025bb6562625cb9ca766c7777492e9e60acd63fff6d2c3ce0
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "Hosted keyless sessions expose firecrawl_search, firecrawl_scrape, and firecrawl_parse with usage limits. firecrawl_search searches the web. For programming questions, firecrawl_search with categories: [\"developer\"] searches indexed public repositories, GitHub issues, merged pull requests, repository READMEs, and code documentation. For biomedical, life-science, clinical, or arXiv literature, firecrawl_search with categories: [\"research\"] filters ordinary web results to research-affiliated websites. firecrawl_scrape retrieves one supplied page and can return JSON matching a supplied schema. firecrawl_parse processes supported local files through its two-phase upload flow. An Authorization bearer API key can provide higher usage limits and expose additional tools, subject to plan, deployment, and team policy, including firecrawl_map for site URL discovery, firecrawl_agent and firecrawl_agent_status for multi-source research that returns structured data when the URLs are not known, firecrawl_research_* for paper-index and repository research, and firecrawl_find_tools as the progressive Alexandria catalogue lookup alongside the Alexandria options of firecrawl_search and firecrawl_scrape for catalogued data providers.",
"tools": [
{
"description": "\nParse one supported document into markdown, HTML, links, summary, targeted answers, or JSON matching a schema. Supported inputs include common HTML, PDF, Word, RTF, OpenDocument, and spreadsheet files; PDF parsing can be bounded with `pdfOptions.maxPages`.\n\nLocal MCP reads `filePath` from the server filesystem. Hosted MCP uses two calls: first provide `filePath` to receive upload instructions, upload locally, then call again with the returned `uploadRef`; do not send both fields together. Remote web URLs belong in `firecrawl_scrape`.\n\nSet `redactPII` to request redaction of personally identifiable information in the returned content. `zeroDataRetention` requires an eligible authenticated account; omit it for anonymous keyless use. Returns upload instructions for hosted phase one or parsed document content for the final call. Authenticated final responses can include a `data.metadata.scrapeId` for optional parse feedback.\n",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"contentType": {
"description": "Phase 1 MIME type override. If omitted, the server infers it from the file extension without reading the file.",
"type": "string"
},
"declaredSizeBytes": {
"description": "Optional phase 1 size declaration. Hosted MCP does not stat the file; provide this only if the caller already knows it.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"excludeTags": {
"items": {
"type": "string"
},
"type": "array"
},
"filePath": {
"description": "Phase 1 only: path to the local file on the caller/harness machine. Hosted MCP will not read or stat this path; it is used only to produce upload instructions.",
"minLength": 1,
"type": "string"
},
"formats": {
"items": {
"enum": [
"markdown",
"html",
"rawHtml",
"links",
"summary",
"json",
"query"
],
"type": "string"
},
"type": "array"
},
"includeTags": {
"items": {
"type": "string"
},
"type": "array"
},
"jsonOptions": {
"additionalProperties": false,
"properties": {
"prompt": {
"type": "string"
},
"schema": {
"additionalProperties": false,
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"maxAge": {
"description": "Ignored: parse never reuses or stores indexed content.",
"type": "number"
},
"onlyMainContent": {
"type": "boolean"
},
"parsers": {
"items": {
"enum": [
"pdf"
],
"type": "string"
},
"type": "array"
},
"pdfOptions": {
"additionalProperties": false,
"properties": {
"maxPages": {
"maximum": 10000,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"proxy": {
"enum": [
"basic",
"auto"
],
"type": "string"
},
"queryOptions": {
"additionalProperties": false,
"properties": {
"mode": {
"default": "freeform",
"enum": [
"directQuote",
"freeform"
],
"type": "string"
},
"prompt": {
"maxLength": 10000,
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"redactPII": {
"type": "boolean"
},
"removeBase64Images": {
"type": "boolean"
},
"skipTlsVerification": {
"type": "boolean"
},
"storeInCache": {
"type": "boolean"
},
"uploadRef": {
"description": "Phase 2 only: short-lived upload reference returned by phase 1 after the local PUT upload completes.",
"minLength": 1,
"type": "string"
},
"zeroDataRetention": {
"type": "boolean"
}
},
"type": "object"
},
"name": "firecrawl_parse",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"description": "Parsed document content, or the upload instructions for the hosted two-call flow.",
"properties": {
"agent_hints": {
"description": "Optional response guidance from the Firecrawl API.",
"items": {
"type": "string"
},
"type": "array"
},
"data": {
"description": "Parsed document content; can include `data.metadata.scrapeId` for parse feedback."
},
"error": {
"description": "Error message or error object when the call did not succeed."
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Guidance for the next call."
},
"mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Which phase of the hosted flow produced this response."
},
"nextToolCall": {
"description": "Hosted phase one: the second `firecrawl_parse` call to make once the upload succeeds, as `{name, arguments}`."
},
"notes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Hosted phase one: constraints on completing the upload flow."
},
"raw": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Response body when it was not JSON."
},
"success": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether the API call succeeded."
},
"upload": {
"additionalProperties": false,
"description": "Hosted phase one: how to upload the local file.",
"properties": {
"command": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Local command that performs the upload. It carries no Firecrawl API key."
},
"expiresAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "When the upload URL expires."
},
"fields": {
"description": "Form fields the upload request must send, for a POST upload."
},
"headers": {
"description": "Headers the upload request must send."
},
"maxSizeBytes": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Largest file the upload URL accepts."
},
"method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "HTTP method for the upload."
},
"uploadRef": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Reference to pass back on the second call."
},
"uploadUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "URL to upload the local file to."
}
},
"type": "object"
},
"warning": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Non-fatal warning about the result."
}
},
"type": "object"
}
},
{
"description": "\nScrape one URL and return its content: markdown by default, or HTML, links, screenshots, branding data, a targeted answer, or JSON matching a supplied schema. Use it when the request identifies a page and needs its content or defined fields. Use `firecrawl_search` when additional web sources are needed; on an authenticated session, `firecrawl_map` lists a site's URLs and `firecrawl_crawl` collects a set of pages.\n\nFirecrawl may serve recently indexed content; set `maxAge: 0` for a live fetch or a smaller `maxAge` to bound staleness. A successful response does not by itself confirm the page is still current. Browser actions can change the live page when interactive actions are enabled. Authenticated responses can include a `metadata.scrapeId` for optional scrape feedback.\n\nOn an authenticated session with Alexandria access, `firecrawl_search` with `sources` unset and `firecrawl_find_tools` can discover providers for the same fields across several pages; a matching provider returns typed records in one call. Keyless sessions have no provider matches.\n\nAlexandria mode, on an authenticated session with Alexandria access: `alexandria` selects catalogued capability execution and is mutually exclusive with `url`.\n",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alexandria": {
"anyOf": [
{
"properties": {
"capability": {
"description": "Capability address as returned by search or discover, e.g. \"series/observations\".",
"minLength": 1,
"type": "string"
},
"options": {
"additionalProperties": {},
"description": "Capability options as declared by its contract.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"provider": {
"description": "Provider slug, e.g. \"fred\".",
"minLength": 1,
"type": "string"
},
"version": {
"description": "Optional published workflow version. Omit to use the latest version.",
"maxLength": 128,
"minLength": 1,
"type": "string"
}
},
"required": [
"provider",
"capability"
],
"type": "object"
},
{
"items": {
"properties": {
"capability": {
"description": "Capability address as returned by search or discover, e.g. \"series/observations\".",
"minLength": 1,
"type": "string"
},
"options": {
"additionalProperties": {},
"description": "Capability options as declared by its contract.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"provider": {
"description": "Provider slug, e.g. \"fred\".",
"minLength": 1,
"type": "string"
},
"version": {
"description": "Optional published workflow version. Omit to use the latest version.",
"maxLength": 128,
"minLength": 1,
"type": "string"
}
},
"required": [
"provider",
"capability"
],
"type": "object"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
],
"description": "Catalogued Alexandria capability invocation, mutually exclusive with url. One {provider, capability, options} object or an array of 1-10, with contracts available through firecrawl_search or firecrawl_find_tools. Each call may include version to pin a published workflow; omitting it uses latest. Only requestId and timeout are supported alongside alexandria. The selected contract marks required inputs and any requiresOneOf groups (at least one member per group); it may include example.request/example.response and response.key (which may differ from records). Where pagination is declared, its fields govern paging with the same filters; catalogue next is separate from provider pagination. Returns per-capability results in data.alexandria with data, records, or an error with a code; individual capabilities can fail even when the outer response succeeds. Requires an API key on a team with Alexandria enabled. Some providers require accepted terms; blocked requests return the applicable requirements."
},
"domainTools": {
"description": "URL mode only: include domain-matched Alexandria tools for the page in tools on the returned document. Ignored with alexandria.",
"type": "boolean"
},
"excludeTags": {
"items": {
"type": "string"
},
"type": "array"
},
"formats": {
"items": {
"enum": [
"markdown",
"html",
"rawHtml",
"screenshot",
"links",
"summary",
"changeTracking",
"branding",
"json",
"query",
"audio"
],
"type": "string"
},
"type": "array"
},
"includeTags": {
"items": {
"type": "string"
},
"type": "array"
},
"jsonOptions": {
"additionalProperties": false,
"properties": {
"prompt": {
"type": "string"
},
"schema": {
"additionalProperties": false,
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"location": {
"additionalProperties": false,
"properties": {
"country": {
"type": "string"
},
"languages": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"lockdown": {
"type": "boolean"
},
"maxAge": {
"type": "number"
},
"mobile": {
"type": "boolean"
},
"onlyMainContent": {
"type": "boolean"
},
"parsers": {
"items": {
"enum": [
"pdf"
],
"type": "string"
},
"type": "array"
},
"pdfOptions": {
"additionalProperties": false,
"properties": {
"maxPages": {
"maximum": 10000,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"profile": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"saveChanges": {
"type": "boolean"
}
},
"required": [
"name"
],
"type": "object"
},
"proxy": {
"enum": [
"basic",
"stealth",
"enhanced",
"auto"
],
"type": "string"
},
"queryOptions": {
"additionalProperties": false,
"properties": {
"mode": {
"default": "freeform",
"enum": [
"directQuote",
"freeform"
],
"type": "string"
},
"prompt": {
"maxLength": 10000,
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"redactPII": {
"type": "boolean"
},
"removeBase64Images": {
"type": "boolean"
},
"requestId": {
"description": "Idempotency key bound to one Alexandria execution payload. Generated when omitted and returned with the result.",
"pattern": "^[A-Za-z0-9._:-]{1,128}$",
"type": "string"
},
"screenshotOptions": {
"additionalProperties": false,
"properties": {
"fullPage": {
"type": "boolean"
},
"quality": {
"type": "number"
},
"viewport": {
"additionalProperties": false,
"properties": {
"height": {
"type": "number"
},
"width": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"type": "object"
}
},
"type": "object"
},
"skipTlsVerification": {
"type": "boolean"
},
"storeInCache": {
"type": "boolean"
},
"timeout": {
"description": "Execution timeout in milliseconds.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"toolDetail": {
"description": "URL mode only: domain discovery detail, summary by default; compact returns provider/capability/description, full includes contracts. Ignored with alexandria.",
"enum": [
"compact",
"summary",
"full"
],
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
},
"waitFor": {
"type": "number"
},
"zeroDataRetention": {
"type": "boolean"
}
},
"type": "object"
},
"name": "firecrawl_scrape",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"description": "A scraped document, or the Alexandria execution envelope when `alexandria` was passed.",
"properties": {
"actions": {
"description": "Results of the browser actions that ran during the scrape."
},
"agent_hints": {
"description": "Optional response guidance from the Firecrawl API.",
"items": {
"type": "string"
},
"type": "array"
},
"answer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Targeted answer to the question that was asked of the page."
},
"attributes": {
"description": "Values collected by the requested attribute selectors."
},
"audio": {
"description": "Audio extracted from the page."
},
"blocks": {
"description": "Typed PDF layout blocks, when `parsers[].blocks` is set."
},
"branding": {
"description": "Branding data extracted from the page."
},
"changeTracking": {
"description": "Change-tracking comparison against the previous scrape."
},
"creditsCost": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Credits this call consumed."
},
"data": {
"description": "Alexandria mode: per-capability results in `data.alexandria`, each with `data`, `records`, or an `error`."
},
"delivery": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "`retained` when the full result stayed server-side instead of being inlined."
},
"error": {
"description": "Error message or error object when the call did not succeed."
},
"estimatedTokens": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Estimated token cost of the full result."
},
"feedbackTool": {
"description": "Pointer to the feedback tool for reporting how this result served the task."
},
"highlights": {
"description": "Highlighted passages from the page."
},
"html": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Processed HTML of the page."
},
"idleTtlSeconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Seconds a retained workspace stays available while idle."
},
"images": {
"description": "Images found on the page."
},
"inlineTokenBudget": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Token budget above which a result is retained rather than inlined."
},
"json": {
"description": "Structured data matching the requested JSON schema or prompt."
},
"links": {
"description": "Links found on the page."
},
"markdown": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Page content as markdown."
},
"menu": {
"description": "Menu data extracted from the page."
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Guidance that accompanies the result."
},
"metadata": {
"description": "Page metadata; authenticated responses can include `metadata.scrapeId` for scrape feedback."
},
"nextTool": {
"description": "A follow-up tool call (`{name, arguments}`) that continues or inspects this result."
},
"pages": {
"description": "Physical PDF pages, when `parsers[].pages` is set."
},
"product": {
"description": "Product data extracted from the page."
},
"rawHtml": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Unprocessed HTML of the page."
},
"receipt": {
"description": "Billing receipt for the execution."
},
"requestId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Identifier of this Alexandria execution."
},
"responseBytes": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Size of the full result in bytes."
},
"scrape_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Identifier of the underlying scrape."
},
"screenshot": {
"description": "Screenshot of the page."
},
"success": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether the API call succeeded."
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Summary of the page content."
},
"tokenEstimateMethod": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "How `estimatedTokens` was derived."
},
"tools": {
"description": "Domain-matched Alexandria tools for the page, when `domainTools` is set."
},
"video": {
"description": "Video extracted from the page."
},
"warning": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Non-fatal warning about the result."
},
"workspaceId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Workspace holding a retained result, for inspection through virtual Bash."
}
},
"type": "object"
}
},
{
"description": "\nSearch web, news, or image sources and return ranked results with query-relevant highlights. Each web result is a title, URL, and description; use `firecrawl_scrape` on a result URL when the excerpt is not enough.\n\nAuthenticated search also returns matching Alexandria data providers in data.tools (companies, people, jobs, finance and filings, public records and government spending, real estate, places and restaurants, retail and prices, package registries and developer data, news, research, and more). Prefer a provider over scraping pages when the task needs the same fields across several entities, exact figures or timestamps, provenance, or many records; use web results when they already answer the question. A search with sources: [\"web\"] omits semantic provider discovery; domainTools: true can still return website-matched tools. Web-only results use domainTools: false.\n\nOn an authenticated session, tool matches describe available capabilities; `firecrawl_find_tools` returns their contracts and `firecrawl_scrape` with an `alexandria` body executes a selected capability. Keyless sessions get no Alexandria matches in data.tools.\n\nFor a programming question, add `categories: [\"developer\"]`; its hits return in `data.web` with `category: \"developer\"`. `categories: [\"research\"]` restricts web results to research-affiliated websites; the `firecrawl_research_*` tools are a separate surface over paper abstracts and full text (PubMed, bioRxiv, medRxiv, arXiv). Query operators, domain filters, `categories`, `toolDetail` and `scrapeOptions` are described on their parameters. Returns source-type result groups and usage metadata. Authenticated responses can include an `id` for optional search feedback.\n",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"categories": {
"description": "Limit results to specific source types. `research` restricts ordinary web results to research-affiliated websites and returns page snippets, which is separate from the `firecrawl_research_*` tools that search paper abstracts and full text across biomedical (PubMed, bioRxiv, medRxiv) and arXiv literature; `pdf` searches PDF results; `developer` searches an index built for coding agents over public repositories, GitHub issues, merged pull requests, repository READMEs, and code documentation. `developer` returns hits in `data.web` with `category: \"developer\"`; the other categories also filter `data.web`.",
"items": {
"enum": [
"research",
"pdf",
"developer"
],
"type": "string"
},
"type": "array"
},
"clientModel": {
"description": "Optional model identifier, if known.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"domainTools": {
"description": "Include domain-matched tools for result URLs. Defaults to true when Alexandria is combined with web, news or images; semantic-only search leaves domain matching off.",
"type": "boolean"
},
"enterprise": {
"items": {
"enum": [
"default",
"anon",
"zdr"
],
"type": "string"
},
"type": "array"
},
"excludeDomains": {
"description": "Hostnames to leave out of results. Mutually exclusive with includeDomains.",
"items": {
"maxLength": 253,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"type": "string"
},
"type": "array"
},
"filter": {
"type": "string"
},
"highlights": {
"description": "Return query-relevant page excerpts for web and news results when available (default). Highlights appear in web `description` and news `snippet`; otherwise, original snippets are returned. Set to false to keep the original search snippets.",
"type": "boolean"
},
"includeDomains": {
"description": "Hostnames to restrict results to. Mutually exclusive with excludeDomains.",
"items": {
"maxLength": 253,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"type": "string"
},
"type": "array"
},
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"location": {
"type": "string"
},
"objective": {
"description": "Optional broader goal for this search, if known. Avoid sensitive information.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
},
"query": {
"description": "Query for web and semantic tool discovery. Operators include quoted phrases, `-term`, `site:host`, `inurl:term`, `intitle:term`, and `related:host`; the set is non-exhaustive. Catalogue browsing is available through firecrawl_find_tools.",
"minLength": 1,
"type": "string"
},
"scrapeOptions": {
"additionalProperties": false,
"description": "Attach page content for web results in the same call. These fetches ignore maxAge, so use firecrawl_scrape when you need a live fetch. scrapeOptions fetches web pages, never Alexandria provider tools.",
"properties": {
"excludeTags": {
"items": {
"type": "string"
},
"type": "array"
},
"formats": {
"items": {
"enum": [
"markdown",
"html",
"rawHtml",
"screenshot",
"links",
"summary",
"changeTracking",
"branding",
"json",
"query",
"audio"
],
"type": "string"
},
"type": "array"
},
"includeTags": {
"items": {
"type": "string"
},
"type": "array"
},
"jsonOptions": {
"additionalProperties": false,
"properties": {
"prompt": {
"type": "string"
},
"schema": {
"additionalProperties": false,
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"location": {
"additionalProperties": false,
"properties": {
"country": {
"type": "string"
},
"languages": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"lockdown": {
"type": "boolean"
},
"maxAge": {
"type": "number"
},
"mobile": {
"type": "boolean"
},
"onlyMainContent": {
"type": "boolean"
},
"parsers": {
"items": {
"enum": [
"pdf"
],
"type": "string"
},
"type": "array"
},
"pdfOptions": {
"additionalProperties": false,
"properties": {
"maxPages": {
"maximum": 10000,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"profile": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"saveChanges": {
"type": "boolean"
}
},
"required": [
"name"
],
"type": "object"
},
"proxy": {
"enum": [
"basic",
"stealth",
"enhanced",
"auto"
],
"type": "string"
},
"queryOptions": {
"additionalProperties": false,
"properties": {
"mode": {
"default": "freeform",
"enum": [
"directQuote",
"freeform"
],
"type": "string"
},
"prompt": {
"maxLength": 10000,
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"redactPII": {
"type": "boolean"
},
"removeBase64Images": {
"type": "boolean"
},
"screenshotOptions": {
"additionalProperties": false,
"properties": {
"fullPage": {
"type": "boolean"
},
"quality": {
"type": "number"
},
"viewport": {
"additionalProperties": false,
"properties": {
"height": {
"type": "number"
},
"width": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"type": "object"
}
},
"type": "object"
},
"skipTlsVerification": {
"type": "boolean"
},
"storeInCache": {
"type": "boolean"
},
"waitFor": {
"type": "number"
},
"zeroDataRetention": {
"type": "boolean"
}
},
"type": "object"
},
"sources": {
"description": "Search sources; authenticated sessions default to web + alexandria, keyless sessions to web only. A search with sources: [\"web\"] omits semantic provider discovery; domainTools: true can still return website-matched tools. Web-only results use domainTools: false. Use [\"alexandria\"] alone for provider discovery without web results.",
"items": {
"anyOf": [
{
"enum": [
"web",
"images",
"news",
"alexandria",
"exchange"
],
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"type": {
"enum": [
"web",
"images",
"news",
"alexandria",
"exchange"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
]
},
"type": "array"
},
"tbs": {
"type": "string"
},
"toolDetail": {
"description": "Compact by default. Compact returns only provider, capability and description; full includes contracts. Inspect selected compact tools with firecrawl_find_tools providers and capabilities.",
"enum": [
"compact",
"summary",
"full"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "firecrawl_search",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"description": "Ranked search results grouped by source.",
"properties": {
"agent_hints": {
"description": "Optional response guidance from the Firecrawl API.",
"items": {
"type": "string"
},
"type": "array"
},
"creditsUsed": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Credits this search consumed."
},
"data": {
"description": "Ranked results grouped by source, such as `web`, `news`, `images`, and `alexandria`."
},
"error": {
"description": "Error message or error object when the call did not succeed."
},
"feedbackTool": {
"description": "Pointer to the feedback tool for this search."
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Search identifier, for optional `firecrawl_search_feedback`."
},
"nextTool": {
"description": "A follow-up tool call that continues this search."
},
"success": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether the API call succeeded."
},
"tools": {
"description": "Domain-matched Alexandria tools for the results."
},
"warning": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Non-fatal warning about the result."
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:45b8ed465d2ad72025bb6562625cb9ca766c7777492e9e60acd63fff6d2c3ce0 | sha256sum