← All guides

Best MCP Servers for Claude Code in 2026 (15 Picks)

The 15 most useful MCP servers for Claude Code in 2026 — from filesystem to web search, databases, and dev tools. What each does and when to use it.

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:

  1. Check the JSON config for syntax errors (jq . ~/.claude/claude_desktop_config.json)
  2. Run the npx command manually in your terminal to see if it errors
  3. Check Claude Code logs: ~/.claude/logs/ (on macOS)
  4. 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


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.

AI Disclosure: Drafted with Claude Code; all pricing and feature details from official documentation as of April 2026.

Tools and references