What it does
MCP (Model Context Protocol) servers are external tools and data sources that Claude can access during conversations. When you add an MCP server to Claude Code, you're registering a provider that exposes capabilities—like file systems, APIs, databases, or specialized tools—so Claude can call them as part of solving your problems. The claude mcp add command registers that server in your .mcp.json configuration file, and Claude Code automatically loads it on startup.
Think of an MCP server as a bridge: Claude runs inside Claude Code, but the server lets Claude reach out to resources outside its direct environment. The most common example is the local filesystem server, which gives Claude the ability to read and modify files on your machine safely, with your permission.
When to use it
Add an MCP server when you want Claude to access something specific to your workflow that isn't built into Claude Code by default. Common cases: connecting to a local database, reading from an API that requires custom auth, exposing a private knowledge base, or integrating with an internal tool your team uses. If you find yourself copying-pasting context or manually fetching data to hand to Claude, an MCP server is the right move—it automates that handoff.
You might also add a server if you're building a custom integration for your team. For example, an internal company service that needs Claude to fetch employee data or project context could expose an MCP server instead of requiring Claude Code users to authenticate separately.
Try it yourself
Pick a data source or tool you interact with regularly—a local folder structure, a private API, a database, or even a CLI tool you often need to query. Write a small MCP server that exposes it (or find an existing one in the community). Use claude mcp add to register it, then try asking Claude to access that resource in a conversation. You'll see the server appear in Claude Code's MCP panel, and Claude will route calls through it automatically.
Gotchas
Configuration matters. The .mcp.json file must be valid JSON and live in your .claude directory. A typo or misconfigured server path breaks silently—Claude Code logs errors to the dev console, so if a server isn't loading, check there first.
Permissions are strict by default. Unlike built-in Claude Code tools, custom MCP servers don't auto-approve. You'll see permission prompts for every call until you add the server to your allowlist. This is intentional—you control what resources Claude can touch.
Servers can be slow. If your MCP server is chatty or makes blocking I/O calls, Claude will wait. Test locally before adding to production workflows. Also, very large responses (megabytes of data) can exhaust context—MCP servers are best for targeted lookups, not bulk data dumps.
Start simple. A working MCP server is easier to build than you think. The simplest example exposes a few read-only tools (fetch from an API, list files, run a script). Authentication, write operations, and complex logic come later. Focus on one use case per server.
Try it yourself
Type the command in the fake terminal. Nothing leaves your browser.