Claude CodeClaude Code 2.1 · macOS, Linux, Windows
1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
31 small wins to finish your pathNext lesson

MCP: tools you did not write

The built-in tools cover your files and your shell. MCP is how everything else gets in: a database, a ticket tracker, a browser, an internal service.

An MCP server is a separate program that exposes tools. Claude Code starts it, asks what it offers, and those tools join the list the model can choose from. You are adding capability, not writing an integration.

Adding one

bash
claude mcp add --scope project sqlite \
  -- npx -y @modelcontextprotocol/server-sqlite --db-path ./links.db
Captured from a real run
Added stdio MCP server sqlite with command: npx -y @modelcontextprotocol/server-sqlite
--db-path ./links.db to project config
File modified: /tmp/linkshort/.mcp.json

Everything after the double dash is the command that starts the server. The scope decides who gets it, and project writes a file that is committed with the code.

json
{
  "mcpServers": {
    "sqlite": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "./links.db"],
      "env": {}
    }
  }
}

That is the whole configuration, and it is the real file the command above wrote. Anyone who clones the repository gets the same tools, and claude mcp list shows what is connected and whether it is healthy.

What it costs you

Tools have to be described to the model, and descriptions live in the context window. A server with sixty tools would be expensive if all of it loaded at startup, so MCP tool definitions are deferred by default: only names and server instructions load, and the full definition arrives when a tool is actually used.

  • Add servers for things you actually reach for. Every one is startup time and context.
  • Prefer project scope for team tools, user scope for personal ones.
  • Treat a server like a dependency. It runs on your machine with your permissions.
It is code you are running
An MCP server is a program somebody wrote, started by your machine, with access to whatever you point it at. The same care you would apply to installing a package applies here, and permission rules from lesson 16 still apply to what its tools do.
Try it yourself
  • Add a server for something you use daily and ask Claude to do one small job with it.
  • Run claude mcp list and check what is already connected.

Every expert started right here.