An MCP server in Claude Code is a small program that gives Claude access to an external tool or data source, a database, an API, your file system, a service like GitHub or Linear, through one standard interface. Claude Code acts as the client; the MCP server exposes tools Claude can call and resources it can read. MCP (Model Context Protocol) is the open standard that makes this work the same way for every integration.

Why does MCP matter?

Out of the box, a coding assistant only knows what is in your prompt and your files. MCP removes that wall. Instead of copy-pasting a database schema or an API response into the chat, you connect an MCP server once and Claude can query it directly, on demand.

The key idea is standardisation. Before MCP, every integration was bespoke. With MCP, any tool that speaks the protocol plugs into Claude Code the same way, and the same server also works in other MCP-compatible clients.

How does an MCP server work?

An MCP server exposes two things to Claude:

CapabilityWhat it isExample
ToolsFunctions Claude can call”run a SQL query”, “create a GitHub issue”
ResourcesData Claude can reada file, a database table, a Notion page

When you ask Claude Code to “find the last 10 failed payments”, it sees that a connected database server exposes a query tool, calls it with the right SQL, reads the result, and answers, without you leaving the terminal.

How do you add an MCP server to Claude Code?

You declare it in a .mcp.json file at the root of your project (so the whole team shares it), or add it through the /mcp command. A minimal entry looks like this:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "./"]
    }
  }
}

Once it is declared, /mcp lists the connected servers and lets you check that the tools are available.

Which MCP servers are worth starting with?

A few high-leverage servers cover most day-to-day work:

  • Filesystem, read and write files outside the current project scope.
  • A database server (Postgres, SQLite), let Claude inspect schemas and run read-only queries.
  • GitHub / GitLab, open issues, read PRs, check CI from the terminal.
  • A browser or fetch server, let Claude read live documentation pages.

Start with one. The point of MCP is not to connect everything, it is to give Claude exactly the context it needs for the task in front of you.

The takeaway

An MCP server turns Claude Code from a text assistant into something wired into your real tools and data. You declare a server once in .mcp.json, and from then on Claude can act on your database, your repositories and your services directly, through one open protocol.


Want the full picture, MCP, hooks, subagents and the workflow that ties them together? The Harness Engineering course takes you from first setup to production-grade Claude Code. The first module is free, no card needed.