Best MCP Servers for Claude Code in 2026 (15 Picks)
MCP (Model Context Protocol) is a standard that lets Claude connect to external tools and data sources — giving it filesystem access, web search, database queries, and more through a single, consistent interface. The 15 servers below cover the most common developer workflows. Each is available on npm or PyPI, installs in under two minutes, and works in both Claude Code and Claude Desktop.
What MCP Is (One-Line Version)
MCP is an open protocol that exposes external capabilities — files, databases, APIs, browser automation — as callable tools that Claude can invoke during a session, the same way a developer calls a function.
Quick Setup: Adding an MCP Server to Claude Code
MCP servers are declared in a JSON config file. Claude Code checks two locations:
User-level (applies to all projects):
~/.claude/claude_desktop_config.json
Project-level (checked into your repo):
.claude/claude_desktop_config.json
For a full walkthrough of the config format, debugging steps, and how to write your own MCP server, see the Claude Code MCP server setup guide.
Both files use the same shape:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-name"],
"env": {
"SOME_API_KEY": "your-key-here"
}
}
}
}
After editing the file, restart Claude Code (or run /mcp to reload). Claude will list all active MCP servers and their exposed tools at the start of each session.
The 15 Best MCP Servers for Claude Code
1. Filesystem
Category: File access
What it does: Gives Claude read/write access to specified directories on your local machine. Without this, Claude can only access files you explicitly paste into the conversation.
Install:
npx -y @modelcontextprotocol/server-filesystem /path/to/allow
Use case: Working across multiple files in a monorepo, reading config files, generating output directly to disk.
2. Fetch / Web Search
Category: Web access
What it does: Fetches any public URL and returns its text content. Claude can pull documentation, read changelogs, or check API references without leaving the session.
Install:
npx -y @modelcontextprotocol/server-fetch
Use case: "Read the latest React Router v7 docs and update this component." Particularly useful when working with libraries that change faster than Claude's training cutoff.
3. GitHub
Category: Version control / code review
What it does: Full GitHub API integration — search repos, read files and diffs, create issues, open pull requests, comment on PRs, list branches.
Install:
npx -y @modelcontextprotocol/server-github
Env required: GITHUB_PERSONAL_ACCESS_TOKEN
Use case: Claude reviewing a PR, triaging open issues, or generating release notes from merged commits.
4. Git
Category: Local version control
What it does: Runs git operations on a local repository — log, diff, status, blame, branch management. Unlike the GitHub server, this works entirely offline on your local clone.
Install:
npx -y @modelcontextprotocol/server-git
Use case: "What changed between these two commits?" or "Summarize all commits that touched auth/ in the last two weeks."
5. PostgreSQL
Category: Database
What it does: Connects to a Postgres instance and exposes query tools. Claude can read schema, run SELECT queries, and inspect table structure. Write operations are configurable.
Install:
npx -y @modelcontextprotocol/server-postgres
Env required: POSTGRES_CONNECTION_STRING
Use case: Debugging slow queries, generating migration scripts, exploring a production replica before writing code.
6. SQLite
Category: Database
What it does: Same as the PostgreSQL server but for local SQLite files. Zero authentication needed — just point it at a .db file.
Install:
npx -y @modelcontextprotocol/server-sqlite --db-path ./data.db
Use case: Exploratory data analysis on a local dataset, checking app state during development, auditing a feature flag database.
7. Brave Search
Category: Web search
What it does: Runs web searches through Brave Search's API and returns ranked results with snippets. Unlike the fetch server, this discovers pages rather than fetching a known URL.
Install:
npx -y @modelcontextprotocol/server-brave-search
Env required: BRAVE_API_KEY (free tier available)
Use case: Research tasks where Claude needs to find current information — competitive analysis, checking for recent CVEs, finding npm package alternatives.
8. Slack
Category: Communication
What it does: Read and post to Slack channels, search message history, look up user profiles. Requires a Slack app with appropriate scopes.
Install:
npx -y @modelcontextprotocol/server-slack
Env required: SLACK_BOT_TOKEN, SLACK_TEAM_ID
Use case: "Summarize everything in #incidents from the last 24 hours" or draft a standup post based on recent commits.
9. Puppeteer
Category: Browser automation
What it does: Launches a headless Chromium browser, navigates pages, fills forms, clicks elements, and takes screenshots. The most capable browser server in the MCP ecosystem.
Install:
npx -y @modelcontextprotocol/server-puppeteer
Use case: End-to-end testing, scraping pages that require JavaScript rendering, automating repetitive web workflows.
10. Playwright
Category: Browser automation
What it does: Playwright-based alternative to the Puppeteer server. Supports Chromium, Firefox, and WebKit. Better cross-browser coverage and more stable selectors via data-testid attributes.
Install:
npx -y @playwright/mcp
Use case: Generating Playwright test files by recording Claude's browser interactions, running cross-browser smoke tests.
11. Memory
Category: Persistent context
What it does: Stores key-value facts in a local JSON file across sessions. Claude can write and retrieve memories — project context, preferences, recurring decisions — without relying on conversation history.
Install:
npx -y @modelcontextprotocol/server-memory
Use case: "Remember that this project uses Tailwind v4 and we don't use CSS modules" — facts that should persist across all future sessions on this project.
12. Sequential Thinking
Category: Reasoning
What it does: A meta-tool that structures Claude's multi-step reasoning as an explicit chain of thought. Each step is visible, revisable, and can branch. Dramatically improves accuracy on complex planning tasks.
Install:
npx -y @modelcontextprotocol/server-sequential-thinking
Use case: Architecture decisions, debugging deep async race conditions, writing migration plans with dependencies.
13. Docker
Category: Infrastructure
What it does: Manages Docker containers and images — list, start, stop, inspect logs, exec into containers. Works with Docker Desktop on macOS and Docker Engine on Linux.
Install:
npx -y @modelcontextprotocol/server-docker
Use case: "What's consuming the most memory in my Docker stack?" or "Restart the database container and show me the last 50 log lines."
14. Notion
Category: Knowledge management
What it does: Read and write Notion pages and databases. Query a Notion database like a table, create pages from templates, append blocks to existing docs.
Install:
npx -y @notionhq/notion-mcp-server
Env required: NOTION_API_KEY
Use case: Syncing project notes from Claude sessions to Notion, querying a Notion project tracker, generating documentation directly into a Notion page.
15. Jira
Category: Project management
What it does: Read and create Jira issues, update status, search by JQL, add comments. Official server maintained by Atlassian.
Install:
npx -y @atlassian/jira-mcp-server
Env required: JIRA_URL, JIRA_EMAIL, JIRA_API_TOKEN
Use case: "Create a Jira ticket for every TODO comment in this diff" or "Show me all open bugs assigned to me tagged auth."
How to Verify an MCP Server Is Working
After adding a server to your config and restarting Claude Code, run:
/mcp
This lists all connected MCP servers and their exposed tools. If a server is missing:
- Check the JSON config for syntax errors (
jq . ~/.claude/claude_desktop_config.json) - Run the
npxcommand manually in your terminal to see if it errors - Check Claude Code logs:
~/.claude/logs/(on macOS) - Confirm any required env vars are set in the
"env"block — env vars from your shell profile are NOT automatically inherited
To test a specific tool, ask Claude directly: "Use the filesystem MCP to list the files in /tmp." If Claude reports the tool isn't available, the server hasn't connected successfully.
Security Considerations
MCP servers run as local processes with the permissions of your user account. A few precautions:
Filesystem server: Pass only the directories Claude actually needs. Giving it / is equivalent to giving Claude root access to your disk.
Database servers: Use a read-only database user for exploration. Only grant write access when you specifically need it, and never point a write-enabled server at a production database during exploratory sessions.
Third-party servers: Stick to officially maintained servers (@modelcontextprotocol/ namespace, official vendor packages) unless you've reviewed the source. A malicious MCP server could exfiltrate credentials passed via the env block.
API keys in config files: Project-level config (.claude/claude_desktop_config.json) will be committed to your repo if you're not careful. Add it to .gitignore or use environment variable references instead of hardcoding keys.
Tool call approval: Claude Code will ask for confirmation before executing any tool call by default. You can whitelist specific tools in your settings, but review the list before expanding permissions broadly. The full schema for the settings file is documented in the Claude Code settings.json reference.
FAQ
Q: Can I run multiple MCP servers at the same time?
Yes. Add as many entries as you need under "mcpServers". Each runs as an independent process. Claude can call tools from any active server in the same session.
Q: What's the difference between a user-level and project-level MCP config?
User-level (~/.claude/) applies to every project on your machine. Project-level (.claude/ in your repo root) applies only when Claude Code is opened in that directory. Use project-level for project-specific integrations (a specific database, a Jira board) and user-level for general-purpose tools (filesystem, web search).
Q: Do MCP servers work in Claude Desktop as well as Claude Code?
Yes — MCP is shared infrastructure. Most servers listed here work identically in Claude Desktop. The config file location differs slightly (~/Library/Application Support/Claude/claude_desktop_config.json on macOS for Desktop).
Q: Can I write my own MCP server?
Yes. Anthropic publishes an official MCP SDK for both Python and TypeScript. A minimal server is under 50 lines of code. See modelcontextprotocol.io for the spec and starter templates, or follow the step-by-step guide to building a custom Claude Code skill for a practical walkthrough.
Q: Are there MCP servers for AWS, GCP, or Azure?
Community-built servers exist for all three cloud providers but are not yet in the official @modelcontextprotocol/ namespace as of April 2026. Search the MCP registry at modelcontextprotocol.io/registry for the latest additions.
Sources
- Model Context Protocol specification: modelcontextprotocol.io
- Official MCP servers repository: github.com/modelcontextprotocol/servers
- Claude Code documentation — MCP: docs.anthropic.com/claude-code/mcp
- Anthropic MCP announcement blog post (November 2024)
- Playwright MCP server: github.com/microsoft/playwright-mcp
- Notion MCP server: github.com/notionhq/notion-mcp-server
- Atlassian Jira MCP server: github.com/atlassian/jira-mcp
Take It Further
Claude Code Power Prompts 300 — 300 battle-tested prompts for Claude Code, organized by use case. Copy, paste, ship.
40 slash command templates. Token-optimized variants. JSONL file for direct import. Tested in production sessions.
→ Get Claude Code Power Prompts 300 — $29
30-day money-back guarantee. Instant download.