by Firecrawl
Run a research agent
Starts an agent that searches, navigates and reads the web to return the data a prompt describes, as JSON.
Description
Use it when the source pages are not known, such as a company plus the fields you need about it; pass a JSON schema for structured output and optional seed URLs. The agent runs as a job: the API returns an `id` to poll with `GET /agent/{jobId}`, and the MCP server pairs `firecrawl_agent` with `firecrawl_agent_status`. Firecrawl labels Agent a research preview.
run-agent.md
Run a research agent
Starts an agent that searches, navigates and reads the web to return the data a prompt describes, as JSON.
Use it when the source pages are not known, such as a company plus the fields you need about it; pass a JSON schema for structured output and optional seed URLs. The agent runs as a job: the API returns an id to poll with GET /agent/{jobId}, and the MCP server pairs firecrawl_agent with firecrawl_agent_status. Firecrawl labels Agent a research preview.
Set up
Use the first option your agent supports.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "firecrawl": { "url": "https://mcp.firecrawl.dev/v2/mcp-oauth" } } }
Call the MCP tool firecrawl_agent.
Server URL: https://mcp.firecrawl.dev/v2/mcp-oauth
CLI (official)
Install the command, then confirm it runs.
npm install -g firecrawl-cli
firecrawl --version
Run firecrawl agent.
Set $FIRECRAWL_API_KEY in your environment first (get a key: https://www.firecrawl.dev/app/api-keys).
API (official)
- Base URL: https://api.firecrawl.dev/v2
- Endpoint:
POST /agent - Auth: send the header
Authorization: Bearer $FIRECRAWL_API_KEY - Get a key: https://www.firecrawl.dev/app/api-keys
- Docs: https://docs.firecrawl.dev/api-reference/introduction
Before doing anything else, make one read-only call to confirm access.
Rules
- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
Built from these files in the repository
The layout and the rules come from lib/catalog/render-markdown.ts, the set-up wording from lib/catalog/render-access.ts.