8 MCP Servers for Claude Code You Can Actually Defend (2026)
MCP server examples for Claude Code, vetted for safety and maintenance. 8 servers across code, databases, and web grounding, with live-verified install commands.

Every "best MCP servers" list hands you the same two dozen npm commands and moves on. None of them tell you which packages are abandoned, which ones ship with write access you did not ask for, or which official reference servers got archived last quarter and now point to dead installs.
Most guides hand you a list. This one hands you a list you can defend.
Every server below is grouped by the job it does, tagged with its transport and auth model, and paired with an install command we verified live before publishing. Where the official package is archived or renamed, we say so and point to the maintained replacement. Start with the vetting checklist, then take the servers you need.
AI Search Answer Box
Updated for AI discoveryThe MCP servers worth adding to Claude Code cover three jobs: reading and writing code (Filesystem, Git, GitHub), querying data (Postgres MCP Pro, SQLite), and grounding answers in current sources (Context7, Brave Search, Fetch). That is eight servers that handle most day-to-day coding work. Before you add any of them, vet it: confirm it is maintained, read what it can touch, and scope its token to the minimum. A server you cannot audit is a server you should not connect.
Questions this page answers
In this guide
How to Vet an MCP Server Before You Add It
An MCP server runs code on your machine or holds a token to your accounts. Treat adding one like adding a dependency, because that is exactly what it is. Four checks, every time.
1. Official or community, and does it matter here? Anthropic and vendors like GitHub, Sentry, and Notion publish first-party servers. Community servers fill the gaps. Neither is automatically safe. Know which one you are installing so you know who to trust and where to file bugs.
2. Read what it can touch. Open the source or the README and find the tool list. A Filesystem server scoped to one directory is low risk. A shell-execution server is not. If the tool list is longer than the job you need, that is surface area you are taking on for no reason.
3. Scope the token to the minimum. Most servers that reach a cloud service want an API token. Give it a read-only token when you only need reads. Restrict OAuth scopes to the one or two you actually use. A database server with a read-only connection string cannot drop a table, no matter what the model asks it to do.
4. Check that it is still alive. Official reference servers get archived. Community packages get abandoned. Before you trust an install command, confirm the package published recently and the repo is not read-only. Every command in this post was verified live on the publish date for exactly this reason.

Adding a Server: The One Command
You add every server below with claude mcp add. The shape changes with the transport.
# Remote HTTP server (cloud services)
claude mcp add --transport http <name> <url> --header "Authorization: Bearer YOUR_TOKEN"
# Local stdio server (runs as a subprocess on your machine)
claude mcp add --transport stdio <name> -- <command> [args...]
All flags (--transport, --env, --scope, --header) come before the server name. The -- separates the name from the command Claude Code runs. Check any server with /mcp inside a session, or claude mcp list from your shell.
A note on runtimes: Node servers run through npx -y, which fetches and runs the package on demand. Python servers run through uvx, the uv runner, which does the same for PyPI. If a command below uses uvx, install uv first.
Code and Repo Servers
The core of any coding workflow. These let Claude Code read your files, work your git history, and manage your GitHub.
Filesystem
Scoped read and write access to directories you name. The safest way to give the agent file access without handing it your whole disk.
- Maintainer: official Anthropic reference server
- Transport: stdio · Auth: none (access is the directory you pass)
claude mcp add --transport stdio filesystem \
-- npx -y @modelcontextprotocol/server-filesystem /path/to/project
Pass only the directories the task needs. Everything outside them is invisible to the server, which is the point.
Git
Local git operations as tools: status, diff, log, blame, commit. Lets the agent reason about your history without you narrating it.
- Maintainer: official Anthropic reference server (PyPI)
- Transport: stdio · Auth: none
claude mcp add --transport stdio git \
-- uvx mcp-server-git --repository /path/to/repo
This is separate from GitHub. Git handles your local repository. GitHub handles the remote, the PRs, and the issues.
GitHub
Pull requests, issues, code search, and reviews against github.com.
- Maintainer: official GitHub server. Note: this moved from an npm package to a remote HTTP endpoint. The old
npxinstall is dead. Use the URL below. - Transport: HTTP · Auth: GitHub personal access token
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
Scope the PAT to the repos you work in. A token with org-wide write access is a liability the moment it leaks into a log.

Database Servers
Let the agent query your data directly instead of you pasting rows into chat. Read-only by default, always.
Postgres MCP Pro
Query, inspect schemas, and analyze performance against a Postgres instance. The official reference Postgres server was archived, so this maintained community server by crystaldba is the one to use.
- Maintainer: community (crystaldba), replaces the archived official server · PyPI package
postgres-mcp - Transport: stdio · Auth: connection string, plus an access mode
claude mcp add --transport stdio postgres \
--env DATABASE_URI="postgresql://readonly:pass@host:5432/app" \
-- uvx postgres-mcp --access-mode=restricted
--access-mode=restricted blocks writes and destructive statements. Use it unless you have a specific reason not to, and pair it with a read-only database role so the restriction holds at two layers.
SQLite
Query a local SQLite database file. The official reference SQLite server was also archived. This npm package is the maintained drop-in.
- Maintainer: community, replaces the archived official server · npm package
mcp-server-sqlite-npx - Transport: stdio · Auth: none (path to the database file)
claude mcp add --transport stdio sqlite \
-- npx -y mcp-server-sqlite-npx /path/to/database.db
Good for local development databases, analytics exports, and anything you would otherwise open in a SQLite browser.
Web Grounding Servers
Keep the agent's answers tied to current, real sources instead of stale training data. This is the group that most reduces hallucination in day-to-day coding.
Context7
Pulls up-to-date, version-specific documentation for thousands of libraries straight into context. Stops the agent from writing against an API that changed two releases ago.
- Maintainer: community (Upstash) · npm package
@upstash/context7-mcp. Note: this is not@context7/mcp-server, a name some older guides still print. - Transport: stdio · Auth: none for basic use, optional API key for higher rate limits
claude mcp add --transport stdio context7 \
-- npx -y @upstash/context7-mcp
Brave Search
Web and local search with an independent index. Brave now ships its own official server, which supersedes the archived reference one.
- Maintainer: official Brave server · npm package
@brave/brave-search-mcp-server - Transport: stdio · Auth: Brave Search API key
claude mcp add --transport stdio brave-search \
--env BRAVE_API_KEY=YOUR_KEY \
-- npx -y @brave/brave-search-mcp-server
Fetch
Retrieves a URL and converts the page to clean markdown for the model to read. The simplest way to let the agent read a doc, a changelog, or an RFC you link it to.
- Maintainer: official Anthropic reference server (PyPI)
- Transport: stdio · Auth: none
claude mcp add --transport stdio fetch \
-- uvx mcp-server-fetch
Fetch pulls external content into your session, which is exactly where prompt injection lives. Only point it at sources you trust, and keep the vetting checklist in mind.
Eight Servers, Not Fifty
You do not need a wall of servers. These eight cover the jobs that come up every day: touching code, querying data, and grounding answers in current sources. Each one is maintained, each install command was verified live, and each is scoped to give the agent what the task needs and nothing more.
When you do reach for a comms or notification server later, Slack, Sentry, Notion, run it through the same four checks first. The list you can defend is short on purpose.

Frequently Asked Questions
Keep reading
- Claude Code MCP Servers: Complete Setup Guide. The full setup, scopes, and troubleshooting reference this post builds on.
- Skills vs MCP: What's the Difference. Where MCP fits alongside Tools and Skills.
- Claude Code for Teams. Sharing MCP config across a team with project scope.






