Most “best MCP servers” lists are GitHub star counts with paragraphs attached. This one comes from actually running each server against Claude Code, including the one that turned out to be abandoned.
Search “best MCP servers for Claude Code” and count how many of the top results are directories.
I did. Half the first page is a leaderboard, an awesome-list, or a marketplace with install counts. The editorial results mostly re-rank the same GitHub repos by stars, which tells you what other developers clicked, not what survives contact with a real project.
So I installed them. Every server below went into an actual Claude Code session on an actual repository, and I checked whether the tools registered, whether auth worked, and whether Claude Code chose to call them without being told twice.
If you’re:
this is the list.
Every MCP server you connect costs you context.
When Claude Code starts a session, it loads the tool schemas from every configured server. A server with 70 tools does not sit quietly until you need it. It occupies space in the same window your codebase is competing for.
Connect eight servers and you get a measurable drop in tool selection quality. The agent has more options and less room to reason about them. I’ve watched Claude Code reach for a browser automation tool when a plain file read would have worked, purely because the tool list had gotten crowded.
The directories never mention this. They’re incentivized to list more, not less.
There’s a second problem. Nobody checks whether the thing still works.
While testing for this article, I found that E2B’s standalone MCP server repository carries a public notice that the project is no longer actively maintained. It appears on multiple ranked “best of 2026” lists with no such caveat. That’s what happens when a list is assembled from stars instead of installs.
It’s whether the server earns its context.
A good MCP server for Claude Code does one job the agent genuinely cannot do on its own, exposes a small number of well-described tools, and authenticates without you pasting a key into a config file.
That’s the standard I used. Not tool count, not GitHub stars, not how many marketplaces list it.
Same process for all nine:
Step 4 is the one most guides skip. A server that connects but never gets chosen is dead weight.
Want the setup I actually run?
I keep a short list of the three servers that stay connected across every project, plus the CLAUDE.md rules that make Claude Code use them.→More on my technical writing and projects
If you build anything that touches markets, this is the server that removes an entire integration layer. EODHD’s official MCP server exposes 72 read-only tools covering historical prices, fundamentals, technical indicators, news sentiment, US options, Treasury rates, ESG, and macro indicators, across 150,000+ tickers and 70+ exchanges.
The official MCP documentation lists two versions with identical tools. The only difference is how you authenticate:
v1 (API key): https://mcp.eodhd.com/v1/mcp?apikey=YOUR_API_KEYv2 (OAuth 2.1): https://mcp.eodhd.com/v2/mcp
For Claude Code, the cleanest route is the official plugin, which ships an .mcp.json pointing at the v2 OAuth endpoint alongside workflow skills and slash commands:
/plugin marketplace add anthropics/claude-plugins-community/plugin install eodhd-api@claude-community
Two design decisions here are worth stealing if you ever build your own MCP server.
First, resolve_ticker. It converts a company name, partial ticker, or ISIN into the correct SYMBOL.EXCHANGE format, so "Deutsche Bank" becomes DBK.XETRA rather than a failed lookup. When a company trades on several exchanges it returns the alternatives instead of guessing. This is the single most common failure point in financial agents and they solved it at the protocol level.
Second, retrieve_description_by_id. The server embeds 100+ pages of EODHD's own API documentation as MCP resources, so the agent can look up endpoint parameters and plan coverage without consuming API calls. Most servers make the model guess at parameters or burn a request to find out. This one hands it the manual for free.
There are also three prompt templates that chain multiple tools into finished workflows: analyze_stock, compare_stocks, and market_overview.
Both server versions are open source if you want to read the implementation or run it locally: v1 (API key) and v2 (OAuth). Worth checking the pricing tiers before you wire it into anything, since tool access is gated by plan.
Pros
Cons
Best for:
Fintech projects, portfolio tooling, and any analysis where you’d otherwise write another requests.get() wrapper.
Building with financial data?
EODHD gives Claude Code 72 read-only tools across 150,000+ tickers and 70+ exchanges, with embedded docs that cost zero API calls. Free plan available to test the MCP server before you commit.→Get your free EODHD API key
Context7 pulls version-specific documentation and code examples from source repositories into your prompt. Instead of Claude Code writing against whatever it absorbed during training, it writes against the docs as they exist today.
This is the highest-leverage server on the list. Hallucinated API signatures are the most common way agentic coding wastes your afternoon, and this addresses the cause rather than the symptom.
Install for all projects:
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
Or connect to the hosted endpoint instead of spawning a local process:
claude mcp add --scope user \ --header "CONTEXT7_API_KEY: YOUR_API_KEY" \ --transport http context7 https://mcp.context7.com/mcp
It exposes two tools: resolve-library-id to match a library name to a Context7 identifier, and query-docs to fetch the documentation. Two tools is the right number.
There’s also a Claude Code plugin that installs a skill alongside the MCP server, which triggers documentation lookups automatically instead of requiring you to type “use context7” every time. The library index is worth browsing first to check your stack is covered.
Pros
Cons
Best for:
Anyone who has debugged code an AI wrote against a version of the library that no longer exists.
Claude Code forgets your project between sessions. Mem0 connects it to a hosted memory layer with semantic search, so the architectural decision you explained three weeks ago is still there.
Single command:
npx mcp-add \ --name mem0-mcp \ --type http \ --url "https://mcp.mem0.ai/mcp/" \ --clients "claude code"
That gives you the MCP tools. The full plugin from the marketplace adds lifecycle hooks that capture learnings automatically at session boundaries, which is the version you actually want. The MCP-only install requires you to trigger memory operations manually.
One behavioral note worth knowing: the plugin does not inject memories before every single response. It installs a decision rubric at session start and lets the agent decide when to search. That’s a deliberate design choice to avoid burning context on irrelevant recall, and it means results depend on how well your CLAUDE.md tells the agent when memory matters.
Your user ID derives deterministically from your API key, so the same key gives you the same memory identity across machines. The Claude Code integration docs cover the lifecycle hooks in detail, and there’s a walkthrough on their blog comparing it against Claude Code’s built-in memory.
Pros
Cons
Best for:
Long-running projects where you keep re-explaining the same architectural decisions.
The official Qdrant MCP server turns a vector database into a semantic memory layer for Claude Code. Store code snippets with natural language descriptions, then retrieve them by meaning rather than by keyword.
The configuration is more involved than the others, because you’re describing to the agent what the tools are for:
claude mcp add code-search \ -e QDRANT_URL="http://localhost:6333" \ -e COLLECTION_NAME="code-repository" \ -e EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \ -e TOOL_STORE_DESCRIPTION="Store code snippets with descriptions. The 'information' parameter should contain a natural language description of what the code does, while the actual code should be included in the 'metadata' parameter as a 'code' property." \ -- uvx mcp-server-qdrant
Those tool descriptions are not decoration. They’re how Claude Code decides when to call qdrant-store versus qdrant-find, and the defaults are generic enough that customizing them changes the hit rate noticeably.
Set QDRANT_READ_ONLY if you only want retrieval and no writes. The official repository documents every environment variable, and Qdrant ran a live session using it with Claude Code that shows the store-then-retrieve loop in practice.
Pros
Cons
Best for:
Large codebases where finding the existing implementation is harder than writing a new one.
Claude Code cannot check a competitor’s pricing page or read documentation that lives behind JavaScript rendering. Browserbase gives it a cloud browser with Stagehand-powered automation on top.
claude mcp add --transport http browserbase \ "https://mcp.browserbase.com/mcp?browserbaseApiKey=YOUR_BROWSERBASE_API_KEY"
The hosted Streamable HTTP transport is the recommended path. There’s a local stdio option through @browserbasehq/mcp if you need it, though note that the older reference implementation repository is archived, so use the current documented setup rather than a config you found in an old blog post.
The tool surface is small and well scoped: create a session, navigate, act, observe, extract, end. Six verbs that map cleanly onto how you’d describe browsing to a person. Their setup docs list the current options, and the automation layer underneath is Stagehand, which is worth reading separately if you build browser agents.
Pros
Cons
Best for:
Research tasks, competitive monitoring, and anything where the data only exists on a rendered page.
Most MCP servers assume one user, your machine, your API key in a config file. Arcade.dev takes a different position: it’s a gateway that handles OAuth on behalf of end users, so a tool can act as you against Gmail or GitHub without the model ever seeing the token.
Add a gateway as a remote HTTP server in Claude Code, then ask it to use one of the tools from that gateway. The same gateway URL works across Claude Code, Claude Desktop, Cursor, VS Code, and ChatGPT, which means configuring once instead of repeating the setup for every client.
For building your own, the arcade-mcp Python framework is genuinely pleasant:
from arcade_mcp_server import Context, MCPAppfrom arcade_mcp_server.auth import Reddit
app = MCPApp()
python
@app.tool(requires_auth=Reddit(scopes=["read"]))async def get_posts(context: Context, subreddit: str) -> str: token = context.get_auth_token_or_empty() # the LLM never sees this token ...
Then point Claude Desktop at it:
arcade configure claude
The auth model is the differentiator. The token gets injected into the tool’s context at execution time, never into the conversation. Their Claude Code guide covers gateway setup, and the arcade-mcp framework is one of the better-documented references if you’re writing your own server in Python.
Pros
Cons
Best for:
Teams, or anyone whose agent needs to act against services that require real user credentials.
Composio inverts the usual model. Instead of connecting a separate MCP server per application, you connect one Tool Router endpoint that loads tools on demand from a large catalog.
The pitch addresses the context problem directly: rather than every tool schema sitting in your window from session start, the router serves the tools relevant to the current task. It also handles the OAuth flows for each connected service, which is the part that makes most multi-app setups tedious.
In practice, this is the pragmatic choice when you need Claude Code to touch five or six SaaS products and you don’t want five or six auth configurations. Browse the toolkit catalog to check your integrations exist before committing to the approach.
Pros
Cons
Best for:
Workflows spanning several SaaS products where per-app MCP setup would take a full afternoon.
DataForSEO puts live search data behind an MCP interface: Google, Bing, and Yahoo SERPs, keyword volumes and CPC, backlink profiles, on-page crawls, domain analytics, and business listings.
Remote install, which is the path their docs recommend:
claude mcp add --header "Authorization: Basic <basic_auth_token>" \ --transport http dfs-mcp https://mcp.dataforseo.com/http
The <basic_auth_token> is your DataForSEO API login and password encoded in Base64, from the API Access tab of your account.
If you’d rather run it locally:
claude mcp add dfs-mcp \ --env DATAFORSEO_USERNAME=<api_username> \ --env DATAFORSEO_PASSWORD=<api_password> \ -- npx -y dataforseo-mcp-server
The official setup guide covers three install paths including a Windows-specific one, and the MCP overview page lists which APIs are exposed.
One gotcha their own help center flags: ENABLED_MODULES is the variable that breaks most installs. Set it wrong and the server connects cleanly while showing zero tools, which looks like a broken install but is actually a configuration problem. If you see a connected server with an empty tool list, start there.
The module structure is also how you manage the context cost. Enable SERP and Keywords Data, skip Backlinks and On-Page unless you need them, and the tool surface stays reasonable.
Pros
Cons
Best for:
Content and SEO work where you want the agent researching against real search data instead of guessing at what ranks.
E2B provides secure sandboxes for running AI-generated code. The concept fits Claude Code well: let the agent execute something risky in isolation rather than against your filesystem.
Here’s the part the ranked lists leave out. The standalone e2b-dev/mcp-server repository carries a public notice that the project is no longer actively maintained and may not receive further updates or bug fixes. It still appears on 2026 "best MCP servers" lists presented as a current recommendation.
If you want the historical setup, it looked like this:
claude mcp add-json "e2b-server" \ '{"command":"npx","args":["-y","@e2b/mcp-server"],"env":{"E2B_API_KEY":"YOUR_KEY"}}'
You can verify the notice yourself on the repository. I’m including E2B because the underlying product is good and widely used, and because the deprecation itself is the useful information. If you need sandboxed execution today, use the E2B SDK directly from a script Claude Code writes, or route it through a maintained aggregator, rather than depending on an archived MCP wrapper.
Pros
Cons
Best for:
Data analysis and code-execution workflows, accessed through the SDK rather than the archived MCP server.
Start with one. Add the second only when you feel the gap.
If you install exactly one: Context7. Hallucinated APIs cost more time than anything else on this list solves.
If you keep re-explaining your project: add Mem0.
If your repository is large enough that finding code is the bottleneck: add Qdrant, and budget an hour for setup.
If your agent needs the live web: add Browserbase.
If more than one person is involved, or real user credentials are: Arcade.dev.
If you need five SaaS integrations by Friday: Composio.
If your project touches markets: EODHD, scoped to that project rather than installed globally.
If you write content or do SEO research: DataForSEO, with only the modules you actually use enabled.
Here’s a small script I use to see what’s actually connected and how much tool surface I’ve accumulated:
import jsonimport subprocessresult = subprocess.run( ["claude", "mcp", "list"], capture_output=True, text=True,)lines = [ln for ln in result.stdout.splitlines() if ln.strip()]print(f"Connected MCP servers: {len(lines)}")for line in lines: print(f" {line}")if len(lines) > 4: print("\nMore than four servers connected.") print("Consider scoping some to specific projects instead of --scope user.")
Run it before you add the eighth server.
❓ How many MCP servers should I connect to Claude Code?
✅ Three to five for most setups. Every connected server loads its tool schemas into your context window at session start, so more servers means less room for your actual code and more options for the agent to choose badly among. Scope project-specific servers with --scope project and keep only genuinely universal ones at --scope user.
❓ What is the difference between a remote HTTP and a local stdio MCP server?
✅ A local stdio server runs as a subprocess on your machine and communicates over stdin and stdout, which suits anything needing local filesystem or browser access. A remote HTTP server is a hosted endpoint you connect to by URL, often with OAuth, so no credentials sit in a plaintext config file. Prefer HTTP for hosted services and stdio for anything touching your local machine.
❓ Are MCP servers free?
✅ The servers themselves usually are. The underlying service typically is not. Context7 works anonymously at a reduced rate limit, Mem0 offers a free tier of 10,000 memories, Qdrant runs locally at no cost, and EODHD has a free plan that covers evaluation. Browserbase and E2B bill for compute, while DataForSEO is free to run but charges per request against your own account balance.
❓ How do I check whether an MCP server is still maintained?
✅ Open the repository and look at the last commit date and any archive notice before you trust a list. E2B’s standalone MCP repository is publicly marked as no longer maintained and still appears on current ranked lists. Vendor documentation pages are more reliable than aggregator listings, because vendors update their own install commands.
❓ My MCP server connects but shows no tools. What’s wrong?
✅ Usually a configuration variable rather than a broken install. DataForSEO’s own help center identifies ENABLED_MODULES as the primary cause of empty tool lists, and the same pattern applies elsewhere: the server handshake succeeds, then it registers nothing because you haven't told it which capabilities to expose. Check the vendor's environment variables before you reinstall anything.
❓ Does Claude Code use MCP tools automatically?
✅ Sometimes. Tool descriptions drive the decision, so a server with vague descriptions gets ignored. Adding an explicit rule to your CLAUDE.md, along the lines of “always use Context7 for library documentation before writing code against an external API,” raises the hit rate considerably.
The MCP ecosystem passed 10,000 servers in 2026, and the directories will keep growing faster than anyone can test them.
Which means the useful question stopped being “what exists” a while ago.
It’s “what survives a week of real work,” and that list is much shorter than any leaderboard suggests.
If you want to go deeper, Anthropic’s MCP quickstart for Claude Code is the clearest reference on transports, scopes, and connection troubleshooting.
Start with the financial data server
If your work touches markets, EODHD is the fastest of these nine to get value from: OAuth setup, no API key to paste, and a free plan that covers evaluation.→Try the EODHD MCP server
Building an API or developer tool?
I write technical content that developers actually finish reading, with working code and honest caveats.→See my work and get in touch
*Looking for technical content for your company? I can help — LinkedIn · *kevinmenesesgonzalez@gmail.com
9 Best MCP Servers for Claude Code in 2026 was originally published in Stackademic on Medium, where people are continuing the conversation by highlighting and responding to this story.