Last Verified: October 2026 — all five installed and tested on a clean Claude Code config
Out of the box, Claude Code can’t search the web well, doesn’t know what changed in the library you’re using last month, and can’t open a browser to see what your page actually does. So it guesses, and you paste.
These five MCP servers close those gaps, and none of them needs an account or an API key. That’s why they’re the right first five: you can add all of them in about five minutes and decide later which ones deserve a key. We installed them on a clean config, checked each one connects, and measured how much context each one costs, so you can see the trade-off before you add them.
Looking for one specific service instead? The MCP setup directory has 25+ single-server guides.
Quick Start
Paste all five lines into your terminal. --scope user makes them available in every project:
claude mcp add --scope user --transport http context7 https://mcp.context7.com/mcp
claude mcp add --scope user --transport http exa https://mcp.exa.ai/mcp
claude mcp add --scope user --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp
claude mcp add --scope user playwright -- npx -y @playwright/mcp@latest
claude mcp add --scope user chrome-devtools -- npx -y chrome-devtools-mcp@latest
Then run claude mcp list and look for five “Connected” lines. Needs Node.js for the last two. Total time: about 5 minutes, most of it the first npx download.
⚡ Copy This Prompt: Let Claude Code Install and Verify All Five
Or hand the whole job to the agent. It skips anything you already have and tests each server once:
You have shell access and the `claude mcp` CLI on this machine. Add five MCP servers to Claude Code for all my projects and report back. None of them needs an account or API key. Do not tell me it's done unless step 4 actually confirms it.
1. Run `node -v` and `claude mcp list`. If Node is missing, stop and tell me to install it. Skip any of the five below that is already listed instead of adding it twice.
2. Run each missing one:
claude mcp add --scope user --transport http context7 https://mcp.context7.com/mcp
claude mcp add --scope user --transport http exa https://mcp.exa.ai/mcp
claude mcp add --scope user --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp
claude mcp add --scope user playwright -- npx -y @playwright/mcp@latest
claude mcp add --scope user chrome-devtools -- npx -y chrome-devtools-mcp@latest
3. Run `claude mcp list` again. If a server shows "Connection closed" and this is native Windows, remove it with `claude mcp remove <name> --scope user` and re-add it with `cmd /c` before `npx`, e.g. `claude mcp add --scope user playwright -- cmd /c npx -y @playwright/mcp@latest`.
4. Show me the final `claude mcp list` output, then do one read-only test per server: Context7: current docs for one library this project uses. Exa: one web search. Firecrawl: scrape https://example.com to Markdown. Playwright: open https://example.com and give me the heading. Chrome DevTools: open https://example.com and list console messages. Don't fill in forms, log in, or post anything.
Every test in step 4 only reads, so nothing gets submitted or changed while you check it works.
On this page (9 sections)
The Five, and the Gap Each One Fills
Tool counts and context cost are what each server reported to us on October 3, 2026. Context cost is the size of its tool definitions, roughly what the model has to read to know the tools exist.
| Server | Gap it fills | Tools · context |
|---|---|---|
| Context7 | Current, version-matched library docs instead of training-data guesses | 2 · ~1.2K |
| Exa | Web search built for agents, plus clean page fetch | 2 · ~620 |
| Firecrawl (keyless) | Reads JavaScript-heavy pages and PDFs as Markdown | 3 · ~6.7K |
| Playwright | Drives a real browser: click, type, fill forms, read the rendered page | 25 · ~5.3K |
| Chrome DevTools | Debugs your page: console, network, performance traces, Lighthouse | 30 · ~6.9K |
| All five | 62 · ~20.8K tokens |
The two browser servers are ~12.3K of the ~20.8K. If you only need one, keep Playwright for testing flows and filling forms, or Chrome DevTools for debugging console errors and performance. Recent Claude Code versions can also defer MCP tool definitions and load them only when needed (tool search), so treat these numbers as the worst case, not a per-message bill.
Step-by-Step Setup
Prefer to go one at a time? Here’s the manual version.
Step 1 — Check Node
~10 sec
The three hosted servers need nothing installed. Playwright and Chrome DevTools run locally through npx, so check Node is there:
node -v
Step 2 — Add the three hosted servers
~30 sec
Docs, search, and page reading. They run on the vendors’ servers, so nothing downloads:
claude mcp add --scope user --transport http context7 https://mcp.context7.com/mcp
claude mcp add --scope user --transport http exa https://mcp.exa.ai/mcp
claude mcp add --scope user --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp
Step 3 — Add the two browser servers
~2 min
The first run downloads each package, which is where most of the five minutes goes:
claude mcp add --scope user playwright -- npx -y @playwright/mcp@latest
claude mcp add --scope user chrome-devtools -- npx -y chrome-devtools-mcp@latest
On native Windows, if either later shows Connection closed, remove it and put cmd /c before npx. In our Windows 11 test plain npx worked, but it doesn’t on every setup.
Step 4 — Verify all five
~20 sec
claude mcp list
You should see:
context7: https://mcp.context7.com/mcp (HTTP) - ✔ Connected
exa: https://mcp.exa.ai/mcp (HTTP) - ✔ Connected
firecrawl: https://mcp.firecrawl.dev/v2/mcp (HTTP) - ✔ Connected
playwright: npx -y @playwright/mcp@latest - ✔ Connected
chrome-devtools: npx -y chrome-devtools-mcp@latest - ✔ Connected

Try Each One (One Prompt Each)
Context7
Using Context7, show me the current way to set up routing in the version of React Router this project uses.
You should see: It resolves the library first, then quotes current docs, not an old API.
Exa
Search the web with Exa for this week's release notes of Node.js and summarize what changed.
You should see: Fresh results with source URLs.
Firecrawl
Use Firecrawl to scrape https://example.com and give me the page as Markdown.
You should see: Clean Markdown, no HTML noise.
Playwright
Open https://example.com with Playwright and tell me the main heading and every link.
You should see: A browser window opens and it reads the rendered page.
Chrome DevTools
Open my local dev server in Chrome DevTools and list console errors and failed network requests.
You should see: Real console messages and request status codes.
Two Recipes That Use Them Together
Build against current docs, then test it:
Use Context7 to get the current docs for the library this feature needs. Implement the feature. Then start the dev server, open it with Playwright, walk through the feature like a user, and tell me what broke. Fix it and run the same walk-through again.
Research a topic into a brief:
Search with Exa for the 5 most useful recent articles on [topic]. Scrape each with Firecrawl. Write a one-page brief with the key points and a source link after every claim.
Honest Limits
- No key means lower limits. Context7 and Exa rate-limit anonymous use, and keyless Firecrawl allows a set number of searches and scrapes per IP per day. Free keys raise all three; the single-server guides show how to add them later without reinstalling.
- Keyless Firecrawl is three tools, not all of Firecrawl. Crawling a whole site, mapping URLs, and its agent tools need a free account.
- Browsers see what you see. Playwright and Chrome DevTools can read any page they open, including ones you’re logged in to if you connect them to your own profile. Keep approvals on, and a Claude Code hook can block form submissions outright.
- Five servers is ~20.8K tokens of tool definitions. On long sessions that adds up. Remove what you don’t use with
claude mcp remove <name> --scope user.
Before You Add a Sixth Server
These five are safe starting points because each comes from the company that runs the service. The next one you find may not be. An MCP server runs on your machine or acts with your access, and anything it returns lands in Claude’s context. Claude Code’s own docs say to verify you trust each server before connecting it. Run these checks first:
- Who publishes it? Prefer the vendor’s own server. The official MCP Registry lists servers by publisher namespace (for example
io.github.owner/name), so you can see who stands behind one before you install it. - Is it maintained? Look at the last commit, open issues, and whether the setup steps still match the code. Our community server check shows the five-minute version.
- What can it do? After adding it, run
/mcpand read the tool list. A “search” server that also has write or shell tools gets a closer look, or a quickclaude mcp remove. - Does it read the open web? Exa, Firecrawl, and the two browser servers all do. A web page can hide instructions aimed at the AI (prompt injection), so keep tool approvals on for anything that writes, sends, or spends.
- Where do its secrets go? Use
--scope userfor anything with a key so it never lands in a committed.mcp.json.
For tested picks by use case, see our Claude Code MCP directory.
Common Mistakes to Avoid
- Leaving off
--scope user. Without it the server is only added for the folder you ran the command in, and seems to vanish everywhere else. - Adding the same server twice. If you installed one as a plugin too, you get two copies fighting over the same browser profile. Run
claude mcp listfirst. - Reading “Connected” as “working”. It only means the server started. Run one test prompt per server before you rely on it.
- Old Firecrawl instructions. Many tutorials still require an API key and the local npm package. The hosted
/v2/mcpendpoint above needs neither.
Q&A
Do I really need all five?
No. If you only add one, add Context7: wrong-version API guesses are the most common silent failure. Add the browser servers when you work on web front ends.
Is this safe to use on a work machine?
The three hosted servers only fetch public docs and pages. The browser servers can see anything their browser opens, so keep them on a separate profile (Chrome DevTools has --isolated) and keep approvals on.
Why not GitHub or Supabase in the pack?
They need a token or a sign-in. They are worth it, just not in a no-account starter set. See the directory for both.
Will this work in Claude Desktop too?
Not with these commands: claude mcp add configures Claude Code only. Claude Desktop has its own connector settings.
Official Resources
- Claude Code MCP docs —
claude mcp add, scopes, and/mcp - Context7 on GitHub
- Exa MCP docs
- Firecrawl MCP docs
- Playwright MCP on GitHub
- Chrome DevTools MCP on GitHub
If this saved you a setup headache, follow @quickpromptco on X for the next MCP guide.
