ClawLink

How to connect Firecrawl to Hermes Agent

Connect Firecrawl to Hermes with ClawLink: paste your Firecrawl key once and 29 tools work from chat. No MCP server to run, nothing stored on your machine.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Firecrawl
Firecrawl
FirecrawlAPI KEYMCP

Scrape websites, crawl pages, extract structured data, and search the web. Once connected, Hermes Agent can read and act on Firecrawl from chat — pairing, token refresh, and tool wiring handled for you.

29 tools

Most guides for giving Hermes Agent Firecrawl access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Firecrawl setup: pair once in the browser and your always-on Hermes agent can act on Firecrawl for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into Hermes to install the plugin and pair your account.

Prompt for Hermes
Set up ClawLink for Hermes and tell me when it's ready.

1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable

2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin

3. I'll approve it in my browser, then reply "approved".

4. When I say approved, finish setup:
hermes clawlink finish

5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

Setup

It takes three steps to connect Hermes to Firecrawl.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect Firecrawl

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Firecrawl?"

Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test

Then connect Firecrawl in the ClawLink dashboard — paste your Firecrawl API key once.

Verify the connection by asking Hermes:

Run firecrawl_credit_usage_get first and tell me the team credit state, then scrape <url> with firecrawl_scrape and summarize the main content in under 300 words.

Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Firecrawl is connected in the dashboard, that agent calls the same 29 Firecrawl tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Firecrawl MCP for Hermes

Looking for a Firecrawl MCP server for Hermes Agent? ClawLink connects Firecrawl to Hermes Agent and exposes 29 Firecrawl tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Firecrawl integration works the same way.

Search results for connecting Firecrawl to Hermes mostly describe a different Hermes than this page. They mean Nous Research's Hermes Agent, configured with FIRECRAWL_API_KEY in ~/.hermes/.env and hermes setup tools. This page is for Hermes Agent as the CLI agent from the OpenClaw family, the one that pairs through hermes plugins install and hermes clawlink begin, and it connects Firecrawl with one pasted key instead of an environment file. And that key has a new competitor: Firecrawl Keyless, Firecrawl's own no-key mode, which gives every account 1,000 free credits a month with agents self-onboarding. Keyless is real and it is free, but it is a capped tier: a monthly credit grant, a rate-limited surface, and features gated behind the paid product. The 29 tools here run on your own Firecrawl key and balance, so a scrape-heavy agent is not capped by the free grant, and the key lives server-side rather than in a file on your machine.

What the Hermes Agent Firecrawl integration can do

29 Firecrawl tools are ready for Hermes Agent once the account is connected. The 28 below are the ones people reach for most; your agent can call all 29.

28 of 29 Firecrawl tools for Hermes

ToolWhat it does
Batch scrape firecrawl_batch_scrapeScrape multiple URLs in batch with concurrent processing
Batch scrape cancel firecrawl_batch_scrape_cancelCancel a running batch scrape job
Crawl firecrawl_crawlInitiate a web crawl from a given URL with filtering and extraction rules
Crawl cancel firecrawl_crawl_cancelCancel an active or queued web crawl job
Crawl get firecrawl_crawl_getRetrieve the status and results of a crawl job
Crawl v2 firecrawl_crawl_v2Initiate a Firecrawl v2 web crawl with enhanced features and natural language configuration
Credit usage get firecrawl_credit_usage_getGet current team credit usage information
Extract firecrawl_extractExtract structured data from web pages using natural language or a JSON schema
Extract get firecrawl_extract_getRetrieve the status and results of an extract job
Get agent status firecrawl_get_agent_statusGet the status and results of an agent job
Llms txt generate firecrawl_llms_txt_generateGenerate an LLMs.txt file for a website
Map multiple URLS based on options firecrawl_map_multiple_urls_based_on_optionsMap a website by discovering URLs from a starting base URL
Scrape firecrawl_scrapeScrape a publicly accessible URL and retrieve content in specified formats
Search firecrawl_searchSearch the web and scrape content from top results
Start agent firecrawl_start_agentStart an agent job for agentic web extraction with multi-page navigation
Batch scrape get firecrawl_batch_scrape_getRetrieves the current status and results of a batch scrape job using the job ID
Batch scrape get errors firecrawl_batch_scrape_get_errorsRetrieve error details from a batch scrape job, including failed URLs and URLs blocked by
Crawl get errors firecrawl_crawl_get_errorsRetrieve errors from a Firecrawl crawl job
Crawl list active firecrawl_crawl_list_activeRetrieve all active crawl jobs for the authenticated team
Crawl params preview firecrawl_crawl_params_previewPreview crawl parameters before starting a crawl by generating optimal configuration from
Credit usage get historical firecrawl_credit_usage_get_historicalRetrieve historical team credit usage on a monthly basis
Get deep research status firecrawl_get_deep_research_statusRetrieves the status and results of a deep research job by its ID
Get the status of a crawl job firecrawl_get_the_status_of_a_crawl_jobRetrieves the current status, progress, and details of a web crawl job, using the job ID
Llms txt get firecrawl_llms_txt_getGet the status and results of an LLMs.txt generation job
Queue get firecrawl_queue_getRetrieve metrics about the team's scrape queue
Token usage get firecrawl_token_usage_getRetrieve the current team's token usage and balance information for Firecrawl's Extract feature
Token usage get historical firecrawl_token_usage_get_historicalRetrieve historical team token usage on a monthly basis
Agent cancel firecrawl_agent_cancelCancel an in-progress agent job by its ID

Try it: find the Firecrawl tool you need

Browse the 28 Firecrawl tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Run firecrawl_credit_usage_get first and tell me the team credit state, then scrape <url> with firecrawl_scrape and summarize the main content in under 300 words.

Use firecrawl_search for <query> with a max_results of 10, then summarize what the top results say and give me the URLs so I can follow up.

Use firecrawl_extract on <url> with a schema for product name, price, and availability. If the extraction fails, quote the error and which field broke it.

Run firecrawl_map_multiple_urls_based_on_options on <domain> with maxUrls 50 and show me the URL tree grouped by path. Do not start a crawl yet.

How the Firecrawl tools behave

Details that decide whether a Firecrawl prompt is a cheap answer or a credit-burning job.

  • Credits are the currency, and the agent can read its own balance. firecrawl_credit_usage_get reports the team's remaining credits, and firecrawl_token_usage_get reports the Extract token balance. Put a credit check before any large job in the prompt.
  • Crawl and batch are job-shaped, not request-shaped. firecrawl_crawl, firecrawl_crawl_v2, and firecrawl_batch_scrape return job ids; results are fetched with firecrawl_crawl_get and firecrawl_batch_scrape_get. An agent that waits synchronously for a big crawl will stall.
  • Job errors are readable. firecrawl_crawl_get_errors and firecrawl_batch_scrape_get_errors return which URLs failed and why, which turns "the crawl failed" into a list.
  • Extract takes a schema or natural language. firecrawl_extract accepts a JSON schema or a natural-language description of the data; a schema returns consistent fields, plain language returns whatever the model decides, so the schema is the reliable shape for structured data.
  • Cancellation exists. firecrawl_crawl_cancel and firecrawl_batch_scrape_cancel stop running jobs, which is the correct response to an agent that started a job too big, not waiting for it to finish.
  • The agent surface exists in the tool set. firecrawl_start_agent and firecrawl_get_agent_status run multi-page agentic extraction; firecrawl_get_deep_research_status monitors deep research jobs. These are the credit-heavy tools, so they want explicit permission in the prompt.

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Firecrawl working from chat.

ManualClawLink
Credential handlingCollect, validate, store, and rotate the Firecrawl API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected Firecrawl account becomes available to the agent without you building credential management.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Firecrawl.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Firecrawl actions to the runtime in a format your agent can reliably use.29 tools for Firecrawl are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Firecrawl to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Firecrawl in the browser, and the 29 tools above work from chat. There is no SDK and no config file, and the Firecrawl key you paste at setup is stored server-side rather than kept in your environment. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use Firecrawl

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.

Connection succeeds but no tools appear

Reconnect Firecrawl from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Firecrawl tools

Firecrawl tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Firecrawl call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Firecrawl returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

Firecrawl returns 403 or "insufficient permissions" although the account shows as connected

Search results teach three causes for this provider, and they are all real against a hosted connection. The first is the key itself: Firecrawl expects it as a Bearer token, and a key that is invalid, missing, or regenerated after setup fails everything from that moment, so re-paste the current key from the dashboard. The second is the account's credit or plan state: out of monthly credits, or a request that needs an endpoint the current plan does not include, both surface as a permissions-shaped error. The third is the target site: Firecrawl being blocked by the site it is trying to scrape reads as a 403 from the outside. The hosted-flow causes remain on top of those: a placeholder argument such as YOUR_ID reaching the API literally, and a stale connected account. The agent should quote the full error and which URL it was scraping before you change anything.

Ask the agent to diagnose it:

Run firecrawl_credit_usage_get and tell me the team credit state, then quote the exact error from the failed call including which URL was involved. Do not retry it yet.
Firecrawl calls start failing or the agent reports being rate-limited

Firecrawl rate-limits its API and the limit interacts with the account's credit tier, and an agent that crawls aggressively is exactly the traffic shape that meets it. Keyless connections hit the capped tier fastest, which is the practical limit of the no-key route. The response is to change the shape of the work: one crawl job with clear filtering instead of many scrape calls, firecrawl_batch_scrape instead of a loop of single scrapes, and a check of firecrawl_credit_usage_get before a large job. Waiting a few minutes and retrying the same shape usually produces the same result.

Ask the agent to diagnose it:

Tell me how many Firecrawl calls you made in the last few minutes and what the crawl pattern was. Quote the exact error text. Do not call Firecrawl again until I reply.
Firecrawl tools are missing, or one tool name is not found

Two failures share this symptom. If no Firecrawl tools appear at all, the connection or pairing is incomplete: confirm the plugin was installed with --enable, that hermes clawlink begin and hermes clawlink finish both ran, and that Firecrawl shows as connected in the dashboard. If most tools work and one name fails, the name is wrong rather than missing, and the error lists the closest real ones. There is also a first-call timing case: schemas load on demand, so the opening Firecrawl call in a fresh session can arrive before the catalog and needs one retry. The frame search results teach for this symptom, an MCP init failure in a client's mcpServers JSON, does not apply to a hosted setup with no local server.

Ask the agent to diagnose it:

List the Firecrawl tools you actually have access to. If there are none, say so plainly and tell me whether Firecrawl shows as connected. Do not guess tool names.
API key setup works but results look incomplete

Double-check that the API key for Firecrawl has the right scopes or account access. A valid key can still be too limited for some reads or writes.

FAQ

Is there a Hermes Agent Firecrawl integration?

Yes. ClawLink is the fastest way to connect Hermes to Firecrawl: link your Firecrawl account once in the browser and Hermes Agent can call the Firecrawl API through 29 ready-made tools — no custom code or token handling.

How do I connect Firecrawl to Hermes with ClawLink?

Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Firecrawl in the dashboard and Hermes can use it from the next message — no config files, and the Firecrawl key you paste is stored server-side instead of in your environment.

How long does it take to connect Firecrawl to Hermes Agent?

About two minutes. Sign in, click Connect next to Firecrawl in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Firecrawl up myself?

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Firecrawl working from chat.

Why paste a key when Firecrawl Keyless exists?

Keyless is Firecrawl's no-key mode: 1,000 free credits a month, agents self-onboard, no key to copy. It is a real option and Google now teaches it as the answer to the no-key query. The tradeoffs are the tier itself: the credit grant is monthly, the mode is rate-limited, and advanced features are gated behind the paid product, which is why the free tier is not the shape for a standing agent that scrapes daily. A pasted key through ClawLink runs on your own Firecrawl balance and plan, so the monthly grant is not the ceiling, and the key is stored server-side rather than sitting in an environment file on a machine. Start with Keyless if the volume is light; connect the key when the agent outgrows it.

Which key does this need?

A Firecrawl API key from your Firecrawl dashboard, pasted once on the hosted setup page and held server-side. It is the same key you would put in ~/.hermes/.env in the env-file route; the difference is where it lives afterwards. Because it is server-side, rotating it in Firecrawl means updating one place, and disconnecting from the dashboard revokes the agent's use of it immediately.

Can the agent check how many credits it has left?

Yes, which is the useful part for this provider. firecrawl_credit_usage_get and firecrawl_credit_usage_get_historical read the team's credit usage, and firecrawl_token_usage_get reads the token balance for the Extract feature, so the agent can report its own budget instead of guessing. That is worth putting in a prompt before any large crawl.

What can the agent do in Firecrawl?

Scrape single pages and batches, crawl sites with filtering, extract structured data with a schema, search the web and scrape the top results, map a site's URLs, generate llms.txt files, and run agentic extraction jobs with status tracking. The crawl and batch tools are the power surface and the credit surface at once: firecrawl_crawl and firecrawl_batch_scrape are where a big job spends credits, so the credit-check tools above are the right preamble.

Hermes paired but still can't use Firecrawl

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.