What is MCP? Connecting external tools to Claude Code

Model Context Protocol in plain words — what it does and what to watch.

A real .mcp.json

MCP connections live in `.mcp.json`. A real entry on this Mac (a public third-party MCP service) looks like this — `type: http` means a remote server, `command` means a local stdio process.

{
  "mcpServers": {
    "higgsfield": {
      "type": "http",
      "url": "https://mcp.higgsfield.ai/mcp"
    }
  }
}

Check status with `claude mcp list`

Running it on this Mac showed multiple servers as `✔ Connected`; unapproved ones show `⏸ Pending approval` until approved interactively.

Two typical real-world patterns

1) Remote HTTP connections to media-generation services. 2) Local stdio processes (self-built Node.js/Python servers) that fetch or operate internal tool data.

"More connections" isn't free

Every connected server widens both the AI's tool surface and the permissions/tokens exposed. Remove unused ones with `claude mcp remove`.

FAQ

Where are MCP connections defined?
In `.mcp.json` — `type: http` for remote, `command` for local stdio processes.
How do I check connection status?
`claude mcp list` health-checks every registered server.
Why does it show pending approval?
An unapproved server in .mcp.json — approve it once interactively.
What about unused MCP servers?
Remove them with `claude mcp remove` — leaving them connected widens your attack surface.