MCP Basics
Model Context Protocol servers are external processes that expose tools, APIs, and services to Claude Code through a shared wire format.
Problem: Claude Code keeps bumping into walls. It can edit your files and run your commands, but the moment you need a database row, a GitHub issue, or a fresh search result, the answer is no.
Quick Win: Wire one server into your config and the wall comes down. Drop this into your MCP settings file:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": { "BRAVE_API_KEY": "your-api-key" }
}
}
}Restart Claude Code, then ask it to "search for the latest Next.js 15 features" and watch the live results stream in.
What Are MCP Servers?
An MCP server is a separate program that exposes tools to Claude Code over a shared wire format. The format's name is the Model Context Protocol. You install it once, the program sits beside Claude, and it answers when called.
New in 2026: MCP Tool Search now ships with Claude Code. It lazy-loads server definitions on demand, which trims MCP context overhead by as much as 95%. You can wire up a long list of servers without watching your context window vanish.
Think about what Claude Code can do on its own. Files. Commands. That's it. With one server attached, the same session can:
- Pull live pages off the web
- Run queries against databases and APIs
- Drive GitHub, Slack, or Google Sheets from inside the chat
- Reach niche tools built for one industry
- Chain steps across several systems in one workflow
- Talk to Telegram and Discord through Channels
How MCP Servers Work
Each MCP server runs as its own process. Claude Code talks to it across the protocol, and the handshake you'll see follows the same four steps every time:
- Connection: Claude Code opens a channel to the MCP server
- Discovery: The server lists the tools and functions it exposes
- Integration: Those tools land inside Claude's tool list
- Execution: Claude can call them mid-conversation
// Claude Code CLI: ~/.claude.json or project-level .mcp.json
// Claude Desktop: claude_desktop_config.json
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-api-key"
}
}
}
}Essential MCP Servers to Install
Start with the heavy hitters. These solve the problems most builders hit on day one:
Web Access & Research:
- Brave Search (
@modelcontextprotocol/server-brave-search) - Web search capability - Fetch (
@modelcontextprotocol/server-fetch) - Fetch and parse web content
Development Tools:
- GitHub (
@modelcontextprotocol/server-github) - Repository access and management - Git (
@modelcontextprotocol/server-git) - Local git operations - PostgreSQL (
@modelcontextprotocol/server-postgres) - Database queries
File Operations:
- Filesystem (
@modelcontextprotocol/server-filesystem) - Enhanced file operations - Google Drive (
@modelcontextprotocol/server-gdrive) - Cloud file access
Drop any of these into the mcpServers block using the same shape as the example above.
Each server adds its own slice of capability. The popular MCP servers list is where you'll find ones that fit your daily work.
Configuration Process
Servers live in JSON. There's no install command. Your setup is four short steps:
- Locate your config file:
- Claude Code CLI:
~/.claude.jsonor.mcp.jsonin project root - Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.json
- Add the server configuration:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-name"],
"env": { "API_KEY": "your-key-here" }
}
}
}-
Restart Claude Code to load the new configuration.
-
Test in Claude Code: Ask Claude: "What MCP tools are available?" to see your installed extensions.
Common Setup Issues and Fixes
Error: "MCP server not found" Fix: Make sure the package is installed globally and on the path:
# Reinstall with explicit global flag
npm install -g @modelcontextprotocol/server-brave-searchError: "Authentication failed"
Fix: Check that the API keys are exported in your shell:
# Check environment variables
echo $BRAVE_API_KEY
echo $GITHUB_TOKENError: "Server connection timeout" Fix: Restart Claude Code so the MCP connections rebuild. Quit your current session and open a fresh one to reload every server.
Quick Enable/Disable Commands
You don't have to edit JSON to mute a noisy server. Toggle it from the chat:
# Disable a server temporarily
/mcp disable supabase
# Re-enable when needed
/mcp enable supabaseIt's handy when one server is throwing errors, or when its tool list is cluttering your prompts. The config entry stays put. Only the active state for this session flips off.
Advanced Configuration
Some servers want extra knobs. You pass custom commands and environment values like this:
{
"mcpServers": {
"custom-server": {
"command": "node",
"args": ["path/to/your/server.js"],
"env": {
"LOG_LEVEL": "debug",
"TIMEOUT": "30000"
}
}
}
}What that pattern buys you:
- Local Node.js or Python servers running from your own paths
- Custom environment variables for keys and tunables
- Debug logging when something goes sideways
- A bridge to any service that ships an MCP-compatible server
Next Actions
Pick one and ship it today:
- Install your first MCP server: Pick Brave Search for immediate web access
- Explore popular options: Check our Popular MCP Servers guide for curated recommendations
- Set up browser automation: Learn browser automation with MCP for advanced web interactions
- Create custom integrations: Build your own MCP servers with our Custom Integrations tutorial
One MCP server changes the shape of every Claude Code session. Add the one you need today. Add the next one when the next wall shows up. If you'd rather skip the trial-and-error, ClaudeFast's Code Kit ships a curated set of MCP server configs alongside its 18-agent system, so the first session is already wired.
Stop configuring. Start building.