Skip to main content
Last Updated: March 02, 2026 12:30 PM PKT
MCP (Model Context Protocol) servers extend Claude Code with connections to external tools, databases, and APIs. This guide covers recommended servers for daily use and configuration best practices.

MCP Servers for Daily Use

“Went overboard with 15 MCP servers thinking more = better. Ended up using only 4 daily.”r/mcp (682 upvotes)

Context7

What It Does: Fetches up-to-date library docs into context. Prevents hallucinated APIs from outdated training dataResources:

Playwright

What It Does: Browser automation — implement, test, and verify UI features autonomously. Screenshots, navigation, form testingResources:

Claude in Chrome

What It Does: Connects Claude to your real Chrome browser — inspect console, network, DOM. Debug what users actually seeResources:

DeepWiki

What It Does: Fetches structured wiki-style documentation for any GitHub repo — architecture, API surface, relationshipsResources:

Excalidraw

What It Does: Generate architecture diagrams, flowcharts, and system designs as hand-drawn Excalidraw sketches from promptsResources:
Workflow: Research (Context7/DeepWiki) → Debug (Playwright/Chrome) → Document (Excalidraw)

Configuration

MCP servers are configured in .mcp.json at the project root (project-scoped) or in ~/.claude.json (user-scoped).

Server Types

TypeTransportExample
stdioSpawns a local processnpx, python, binary
httpConnects to a remote URLHTTP/SSE endpoint

Example .mcp.json

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp"]
    },
    "deepwiki": {
      "command": "npx",
      "args": ["-y", "deepwiki-mcp"]
    },
    "remote-api": {
      "type": "http",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Settings for MCP Servers

These settings in .claude/settings.json control MCP server approval:
enableAllProjectMcpServers
boolean
Auto-approve all .mcp.json servers without prompting
enabledMcpjsonServers
array
Allowlist of specific server names to auto-approve
disabledMcpjsonServers
array
Blocklist of specific server names to reject

Permission Rules for MCP Tools

MCP tools follow the mcp__<server>__<tool> naming convention in permission rules:
{
  "permissions": {
    "allow": [
      "mcp__*",
      "mcp__context7__*",
      "mcp__playwright__browser_snapshot"
    ],
    "deny": [
      "mcp__dangerous-server__*"
    ]
  }
}
Use wildcards carefully with MCP permissions. Be explicit about which servers and tools are allowed.

MCP Scopes

MCP servers can be defined at three levels:
ScopeLocationPurpose
Project.mcp.json (repo root)Team-shared servers, committed to git
User~/.claude.json (mcpServers key)Personal servers across all projects
SubagentAgent frontmatter (mcpServers field)Servers scoped to a specific subagent
Precedence: Subagent > Project > User

Subagent MCP Configuration

You can scope MCP servers to specific subagents:
---
name: deploy-manager
mcpServers:
  - slack
  - name: pagerduty
    command: npx
    args: ["-y", "@pagerduty/mcp-server"]
---
This ensures the agent only has access to the MCP servers it needs, improving security and performance.

Sources

MCP Servers Documentation

Official Claude Code MCP documentation

Model Context Protocol

MCP specification and reference

5 MCPs for 10x Faster

Community recommendations from r/mcp

MCP Server Overload

Discussion on optimal MCP server count

Build docs developers (and LLMs) love