firecrawl_create_ watchWatch public pages for changes.
Read a competitor's pricing page as markdown, pull product names and prices into JSON, map a site before crawling it, search the web, and hear when a page you watch really changes.
PopMCPFirecrawl
Firecrawl's v2 API behind twelve everyday tools for fetching, crawling, searching and watching public pages, with the rest of the API one search away.
62 tools in the full catalog: 44 read and 18 write. 12 load by default, and the rest are found with tool search.
firecrawl_create_ watchWatch public pages for changes.
firecrawl_delete_ watchDelete a page watch and stop all its checks.
firecrawl_get_ watch_ changesRead what changed on a watch's pages: by default the most recent finished check, with each changed page's URL, change status (changed | new | removed), unified diff, extracted fields (for template watches) and the AI judge's verdict (meaningful, confidence, reason) when the watch has a goal.
firecrawl_list_ watchesList the page watches on this Firecrawl account: id, name, status (active | paused), schedule, last and next check time, and the watched URLs.
firecrawl_pause_ watchPause a page watch so it stops checking (and spending credits).
firecrawl_crawl_ siteStart an asynchronous crawl of a public website: Firecrawl follows links from the start URL and fetches each page as markdown.
firecrawl_fetch_ pageFetch one public web page and return its main content as clean markdown (plus title, description and status code).
firecrawl_fetch_ page_ fieldsFetch one public page and extract specific fields from it as JSON, described by a JSON Schema and/or a plain-language prompt.
firecrawl_get_ crawl_ resultGet the status and pages of a crawl started with crawl_site: status (scraping | completed | failed), completed / total counts, credits used, and data[] with each page's markdown and metadata.
firecrawl_map_ siteList the URLs on a public website (from its sitemap and links) without fetching any page content.
firecrawl_screenshot_ pageTake a screenshot of one public web page.
firecrawl_search_ webSearch the web and return each result's title, URL and description.
firecrawl_create_ monitorCreate a monitor.
firecrawl_delete_ monitorDelete a monitor.
firecrawl_get_ monitorGet a monitor.
firecrawl_get_ monitor_ checkGet a monitor check.
firecrawl_list_ monitor_ checksList monitor checks.
firecrawl_list_ monitorsList monitors.
firecrawl_run_ monitorRun a monitor.
firecrawl_update_ monitorUpdate a monitor.
firecrawl_cancel_ batch_ scrapeCancel a batch scrape job.
firecrawl_get_ batch_ scrape_ errorsGet the errors of a batch scrape job.
firecrawl_get_ batch_ scrape_ statusGet the status of a batch scrape job.
firecrawl_get_ scrape_ statusGet the status of a scrape job.
firecrawl_list_ parse_ formatsList file formats supported by /parse.
firecrawl_scrape_ urlScrape a single URL and optionally extract information using an LLM.
firecrawl_start_ batch_ scrapeScrape multiple URLs and optionally extract information using an LLM.
firecrawl_cancel_ agentCancel an agent job.
firecrawl_cancel_ crawlCancel a crawl job.
firecrawl_get_ agent_ snapshotGet an output snapshot of an agent job.
firecrawl_get_ agent_ statusGet the status of an agent job.
firecrawl_get_ agent_ traceGet the execution trace of an agent job.
firecrawl_get_ crawl_ errorsGet the errors of a crawl job.
firecrawl_get_ crawl_ statusGet the status of a crawl job.
firecrawl_list_ active_ crawlsGet all active crawls for the authenticated team.
firecrawl_list_ agent_ runsList agent runs.
firecrawl_preview_ crawl_ paramsPreview crawl parameters generated from natural language prompt.
firecrawl_start_ agentStart an agent task for agentic data extraction.
firecrawl_start_ crawlCrawl multiple URLs based on options.
firecrawl_get_ credit_ usageGet remaining credits for the authenticated team.
firecrawl_get_ historical_ credit_ usageGet historical credit usage for the authenticated team.
firecrawl_get_ historical_ token_ usageGet historical token usage for the authenticated team (Extract only).
firecrawl_get_ token_ usageGet remaining tokens for the authenticated team (Extract only).
firecrawl_get_ research_ paperInspect or read a paper.
firecrawl_list_ related_ research_ papersFind related papers.
firecrawl_searchSearch and optionally scrape search results.
firecrawl_search_ research_ papersSearch papers.
firecrawl_submit_ search_ feedbackSubmit feedback for a search job.
firecrawl_ask_ supportAsk the Firecrawl support agent.
firecrawl_get_ extract_ statusGet the status of an extract job.
firecrawl_get_ threat_ protectionGet the team's threat protection policy.
firecrawl_search_ developer_ indexSearch the developer index.
firecrawl_search_ developer_ index_ postSearch the developer index.
firecrawl_search_ government_ indexSearch the Government Index.
firecrawl_search_ government_ index_ postSearch the Government Index.
firecrawl_search_ support_ docsSearch Firecrawl docs with citations.
firecrawl_start_ extractExtract structured data from pages using LLMs.
firecrawl_update_ threat_ protectionUpdate the team's threat protection policy.
firecrawl_get_ queue_ statusMetrics about your team's scrape queue.
firecrawl_list_ activityList recent API activity.
firecrawl_map_ urlsMap multiple URLs based on options.
firecrawl_submit_ feedbackSubmit feedback for a v2 job.
Credentials off one Firecrawl screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Paste the API key from firecrawl.dev → API Keys (it starts with fc-). The free plan gives 1,000 credits a month with no card. Your key does the fetching and spends your credits, so you are the party accessing each site.
••••••••••••3f7acrawl_site, create_watch, pause_watch and delete_watch are writes and wait until an owner or admin allows write actions; new connections start read-only. Reads still spend credits, so tick Firecrawl on the PopMCP consent screen only for clients that need it.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Firecrawl credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
Read acme.com/pricing and give me every plan with its monthly price as a table
firecrawl_fetch_page_fieldsok
Then just ask for the work
“Read acme.com/pricing and give me every plan with its monthly price as a table”
“Find every post under stripe.com/blog, then crawl the 50 most recent ones”
“Watch our three competitors' pricing pages daily and tell me when a price changes”
“Search for this month's articles on MCP server security and summarize the top five”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Firecrawl behind an AI client.
One Firecrawl API key. Sign in at firecrawl.dev, open API Keys and copy a key starting with fc-, or create a new one just for PopMCP. Keys belong to your Firecrawl team and have no access levels to choose, so every tool works with any key. PopMCP checks it by reading your remaining credit balance, and every fetch, crawl, search and watch check after that spends credits from your own plan.
fetch_page, screenshot_page and map_site cost 1 credit. fetch_page_fields costs 5 credits a page, and stealth mode for heavily protected sites also costs 5 a page instead of 1. search_web costs 2 credits per 10 results. crawl_site costs 1 credit per page, with a default of 50 pages and a cap of 500. Each watch check costs 1 credit per page, or 5 with a fields template. The free plan has 1,000 credits a month.
No. Every request is checked before it leaves PopMCP, and custom headers, cookies, Authorization values, saved browser profiles and robots.txt overrides are refused, as are browser actions that type, press keys or run scripts, which is how logins and CAPTCHAs are worked through. Wait, click, scroll and screenshot actions are fine. A URL with a username or password in it is refused too. Public pages only, fetched by your own key.
create_watch registers up to 50 public URLs with Firecrawl, which checks them on its own servers, daily by default. Anything more often than hourly is refused unless you confirm it, because each check spends credits on every page. Give the watch a goal and an AI judge marks each change meaningful or not; templates for pricing pages, homepages and product pages extract fields. get_watch_changes returns the diffs, and pause_watch stops the spending.
One: watched page changed. When a page in one of your Firecrawl watches changes on a scheduled check, Firecrawl sends a signed webhook and PopMCP hands the change to whatever you want to run next, such as a message to your team or a note on a competitor record. Because the checking happens on Firecrawl's side, nothing runs on your machine and nothing is fetched until a check is due.
Firecrawl answers 402 and the tools stop fetching until credits are available again. Free plan credits reset each month and do not roll over; paid plans can turn on pay-as-you-go top-ups with a monthly limit you set. The AI can check the balance with get_credit_usage. Plans also cap request rates: the free plan allows 10 scrapes and 2 crawls a minute, and Firecrawl answers 429 above that.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect Firecrawl in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Firecrawl on the consent screen. The Firecrawl tools are then available in that session, and no Firecrawl credential is stored on your machine.
Loading 62 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 12-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 62 here. A trigger is something PopMCP watches for you: 1 Firecrawl events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Firecrawl.
Launch a hosted MCP endpoint for Firecrawl, keep tool access under control, and start testing real workflow prompts right away.