ProspectingConnector
Firecrawl
Scrape a page, map and crawl a site, search the web or extract fields into clean markdown from Claude or ChatGPT, through Tulina's own MCP server.
Official site: firecrawl.dev
What it can do
4 read
- 01Read
Scrape one page as clean markdown, or as structured JSON against a schema
- 02Read
Map a site's URLs, then crawl it with a page limit
- 03Read
Search the web and return the content of each result
- 04Read
Extract the same fields across several pages
Firecrawl turns a page or a whole site into clean markdown instead of raw HTML. That matters for anything that reads the result afterward, since markdown strips the layout noise a model would otherwise parse around. JavaScript is executed first, so a page that builds itself in the browser comes back as the page a person sees.
Does Firecrawl have an MCP?
Yes. Firecrawl hosts its own MCP server and documents three ways in: a keyless trial limited to Search, Scrape and Parse within daily limits, a browser sign-in at https://mcp.firecrawl.dev/v2/mcp-oauth, and an API key sent as a bearer token to https://mcp.firecrawl.dev/v2/mcp. It also offers native connectors for Claude, ChatGPT and Codex. Tulina reaches Firecrawl through its own MCP server instead, so the scraped markdown lands in the same conversation as the search that found the page and the CRM that will hold the result.
How do you connect Firecrawl to Claude and ChatGPT?
- In Firecrawl, create an API key on the API keys page. It starts with
fc-. - Paste it into Tulina's Firecrawl connector. It is stored in the vault and never shown to the model. There is no shared Tulina key, so the credits are yours.
- Add
https://mcp.tulina.ai/mcpto Claude or ChatGPT and sign in with your Tulina account. The MCP page has the same link.
Several Firecrawl accounts can be stored as named accounts, and a request names the one it is for.
Tulina vs Firecrawl's official MCP server
Both put Firecrawl's scraping in front of a model. The differences are in how you sign in and what else shares the connection.
| Firecrawl's MCP server | Tulina | |
|---|---|---|
| Endpoint | mcp.firecrawl.dev/v2/mcp (API key) or /v2/mcp-oauth (browser sign-in) | mcp.tulina.ai/mcp, one link for every connected tool |
| Sign-in | Keyless trial, OAuth with a team approval, or an API key | One Firecrawl API key in Tulina's vault, set for a person or the organisation |
| Native Claude and ChatGPT connector | Yes, per Firecrawl's docs | A single Tulina connector for all your tools |
| Billing | Your Firecrawl team's plan | Your own Firecrawl credits, billed by Firecrawl |
| In the same conversation | Firecrawl | Firecrawl plus web search, enrichment, your CRM and Slack |
| Without a chat open | Your MCP client's own options | Hosted agents run a process on a schedule or a webhook |
If Firecrawl is the only tool the model needs, or you want the keyless trial, Firecrawl's server is the shorter path. Tulina earns its place when a scrape is one step in a longer piece of work.
What you can ask it
"Map docs.example.com, then pull the pricing and changelog pages as markdown." The agent runs a map first, which returns URLs only and costs little, picks the two pages from the list, and scrapes each one. Mapping before reading keeps the credits on the pages that matter.
"Crawl the blog on example.com, 50 pages at most, and summarise the last six posts." A crawl is asynchronous, so the agent starts it with a page limit, then checks the job until it reports completed and reads the pages it returned. The limit matters: the API default is 10,000 pages, and every rendered page uses credits.
"Pull plan name, monthly price and seat limit from these twelve pricing pages into a table." The agent starts an extraction with a schema covering the three fields, checks the job until it finishes, and returns one row per page. For a single page it uses a scrape with a JSON schema instead, which answers in one call.
Processes chain these steps without a prompt each time. Message new LinkedIn connections reads each person's site before it writes, and the full list is below. Firecrawl pairs naturally with Serper for finding pages and Apify for platforms that need a dedicated scraper.
What the Firecrawl connector can't do
- It exposes eight tools: scrape, map, crawl, crawl status, cancel crawl, search, extract and extract status. Nothing outside them is reachable through Tulina.
- It needs your own Firecrawl API key. Tulina holds no shared key, and each account pays Firecrawl for its own credits.
- A page behind a login is out of reach. Tulina's browser connector covers that case.
- A site that blocks the default fetch needs the stealth proxy option, which costs more credits, so it is not set by default.
- Crawls and extractions run as jobs. The first call returns an id and the results arrive on later status calls.
- Under a Tulina project that fences off URL prefixes, scrape, map, crawl and extract refuse a matching address, and search, map and crawl-status results from those prefixes are dropped.
- Raw HTML without JavaScript rendering is a job for Serper's scrape tool, which is enough on its own.
Why through Tulina
The connection was never the hard part.
Most systems now publish their own way for a model to reach them, and that is good: it is what Tulina connects to. The hard part is deciding who may use it, what it is allowed to return, and what the model knows before it asks.
The keys stay in one place
YouTeamOrganisation
Connect Firecrawl once. The credential is encrypted in a vault, never held in clear, and never pasted into a chat or a workflow file. A person uses their own key where they have one, their team's where they do not, the organisation's after that, so nobody is blocked and nobody holds more access than they need. Revoke it once and everything running on it stops.
What leaves is filtered before it leaves
fields droppedmasked or hashedpseudonymised
Roles decide who can reach Firecrawl at all. Beyond that, a policy on the connector itself decides what comes back. The data is minimised at the source rather than after it has already reached a model.
Every call is on the record
whatwhowhen
Runs are logged for the organisation. That is what makes an automated action reviewable after the fact, and it is what a security review asks for first.
The run starts knowing your company
namingkey accountsdecisions
A direct connection gives a model access. It does not tell it how your company names things, which accounts matter, or what was decided last quarter. Tulina carries that across every tool, so the same request against Firecrawl returns something usable instead of something generic.
