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.