Install Your First MCP.
Firecrawl is the cleanest useful first install: no OAuth dance, no Google Cloud project, no scope tuning. You grab one free API key, run a single command, and your agent can suddenly read and search the live web. It is the gentlest on-ramp to the credential pattern you will reuse for every authenticated door after it.
- A working first MCP installed end to end, so you have proof the wiring works before you tackle Gmail, Calendar, and the OAuth-heavy ones.
- Live web reading for your agent Firecrawl lets Claude scrape a page, crawl a site, and search the web instead of guessing from training data.
- The credential pattern, practiced once you handle a real API key on a low-stakes tool, so the high-stakes ones later feel routine.
Install Firecrawl, the safe way.
Paste this into Claude Code. It reads the official Firecrawl and MCP docs so the commands stay accurate, walks you through getting a key, and installs the connector without ever asking you to paste the key into this chat.
How this fits in the OS.
Claude Code installed and the MCP Servers primer read. You should know what a connector is before you install one.
One free Firecrawl API key, the claude mcp add command, and about five minutes of terminal time. No OAuth, no cloud project.
Every later MCP. Once Firecrawl works, Gmail, Calendar, Notion, and the rest are the same flow with a browser sign-in added. It also powers later builds: the CLI build scrapes API docs with it, and the Cairns capture pipeline reads web pages through it.
Why Firecrawl first.
Most first-time MCP installs trip on auth. Gmail wants OAuth and a Google Cloud project. Calendar wants the same. Slack wants a workspace token. Notion wants integration permissions. Every one of those can fail in a different place, and when it does, you do not yet know whether the problem is in Claude Code, the connector, the auth flow, or the network. That is a brutal place to debug your very first install.
Firecrawl skips almost all of it. You create a free account, copy one API key, and run a single command. There is no OAuth dance, no project setup, no scope tuning. If it works, you know your install path is sound, and every connector after it is just a variation on the same five steps.
It also earns its place by being genuinely useful from the first minute. A no-op test server proves the wiring and nothing else. Firecrawl gives your agent a real new sense: it can scrape a page, crawl a site, and search the live web instead of guessing from training data. And because it needs exactly one API key, it is the gentlest possible on-ramp to the credential pattern you will reuse for every authenticated door after it. You practice handling a real key on a low-stakes tool, so the high-stakes ones feel routine.
Before you start.
Three things in place
- Claude Code installed and working. You can type
claudein a terminal and land at a prompt. - The MCP Servers primer read, so the words connector, server, and transport are not new.
- A place to keep an API key. Your secret manager is ideal. We make the Firecrawl account in Step 1.
Open the door.
Get a free Firecrawl API key.
~2 minGo to firecrawl.dev and create a free account. Then open the API keys page at firecrawl.dev/app/api-keys and create a key.
Your key starts with fc-. Copy it. Treat it like a password from this moment on: it belongs in your terminal command or your secret manager, and never in a Claude chat, a screenshot, or a committed file.
Add Firecrawl with one command.
~1 minThe remote hosted server is the cleanest path. No Node, no npx, no local process to babysit. Run this in your terminal, swapping fc-YOUR_KEY for the real key you just copied:
claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/fc-YOUR_KEY/v2/mcp
Prefer to run the server on your own machine instead, so the key lives in an environment variable rather than a URL? The local path does that. It needs Node installed, and npx fetches the server on demand:
claude mcp add firecrawl -e FIRECRAWL_API_KEY=fc-YOUR_KEY -- npx -y firecrawl-mcp
Either command registers Firecrawl in your local Claude config on your own machine, not in any repo. The key is on your disk, not in a chat log, which is already a big step up from pasting it into a conversation. Step 05 moves it somewhere safer still. One note on syntax: Firecrawl's own docs write the remote command with a --url flag. The form above uses --transport http, which is the option Claude Code's official docs document. Both point at the same hosted server.
Restart and verify the door opened.
~1 minClaude Code picks up new connectors on session start, so start a fresh one:
claude
Inside the session, run /mcp to see your connectors. firecrawl should be listed and showing as connected. From a plain terminal you can also confirm it is registered with claude mcp list.
Prove it can actually read the web.
~2 minListing the connector only proves it is registered. Ask for something that can only be answered by a live web read. Paste this into your Claude Code session:
Use Firecrawl to scrape https://news.ycombinator.com and tell me the top three story titles on the page right now.
A working response pulls real, current page content. If Claude answers from memory, hedges, or says it cannot browse, the connector is not actually wired in. Drop to the debug ladder below.
Move the key out of plain config.
~3 minRight now your key sits in your Claude config, either in the URL or in an environment variable. On a solo machine that is acceptable, but the durable pattern is to keep secrets in a manager and reach them through a reference that resolves at runtime, so the real value never sits in a file you could leak.
The Secrets Management primer explains the why, and Wire Your Secrets Manager is the hands-on build: the agent scaffolds the reference, you load the real value from your vault. Do this once on the Firecrawl key and every later credential follows the exact same shape.
If a door will not open.
First installs fail in a small number of predictable ways. Work down the list:
- Not listed in
/mcp. You almost certainly did not restart. Quit the session and runclaudeagain so it reloads connectors. - Listed but failing to start. Remove it and add it back:
claude mcp remove firecrawl, then re-run the add command. Watch for a typo in the key or the URL. - The local path errors out. The
npxform needs Node. Confirmnode -vprints a version. If not, use the remote--transport httpcommand instead, which skips Node entirely. - A 401 or unauthorized error. The key is wrong, expired, or out of credits. Regenerate it at firecrawl.dev/app/api-keys and re-add the server.
- You want the full error. Start Claude Code with verbose output:
CLAUDE_DEBUG=1 claude. It prints connector startup errors you would not otherwise see.
You just learned every install.
Look back at what you did: fetch a credential, add the server, restart, verify the door opens, then move the key somewhere safe. That five-beat loop is the whole pattern. Every other MCP is a variation on it.
The authenticated connectors add one step in the middle. Gmail, Calendar, Slack, and Notion send you to a browser to sign in and approve access, instead of taking a key you paste yourself. The auth is heavier, but the shape does not change: add, sign in, restart, verify. The hard part was never the command. It was trusting that the wiring works, and now you have proof.
Straight from the source.
Firecrawl and MCP both have primary docs that go deeper than a card can. Three worth a bookmark:
- Firecrawl MCP server docs: the install commands, the full tool list (scrape, crawl, search, map, extract), and the configuration options. The canonical reference for the connector you just added.
- firecrawl-mcp-server on GitHub: the open source server itself, with credit monitoring settings and the exact config blocks for every client.
- Connect Claude Code to tools via MCP: the real
claude mcp addsyntax, the three transports, and the local, project, and user scopes. Read this before your next install.
Where to go next.
One door is open. Three natural next moves: