Claude Code · Part 9

Claude Code — Part 9 — Connecting External Tools with MCP

MCP lets Claude Code read and act on systems outside your local filesystem, a ticket tracker, a wiki, a database, instead of working only from whatever you paste into chat.

Quick idea: MCP is an open standard that connects Claude Code to external tools and data sources, so it can read and act on a system directly instead of working only from what you paste into chat.
MCP Server

A connector between Claude Code and one external system: a tracker, a database, an API.

claude mcp add

The command that registers a server, whether it runs remotely over HTTP or locally as a process.

/mcp

Checks connection status and handles OAuth authentication for any connected server.

Introduction

Every post so far in this series has worked with what is already on your machine: files, scripts, logs, git. MCP is the mechanism that extends Claude Code past the local filesystem, to a ticket tracker, a monitoring dashboard, a database, or an internal API. This is the last post in the foundations series before the daily-ops use cases begin.

What Is MCP?

The Model Context Protocol is an open standard for connecting AI tools to external systems. An MCP server is the connector for one specific system, giving Claude Code direct access to that system’s data and actions rather than requiring you to copy information in and out by hand.

Think of it as a standard plug rather than a different adapter for every tool. The same protocol works whether the server sits on your machine or on the far side of the internet, and Claude Code talks to all of them the same way once connected.

Practical rule: Connect a server the moment you notice yourself copying data into chat from another tool. That is the exact signal MCP is built to remove.

Adding a Server

Servers are registered with claude mcp add, and the transport you choose depends on where the server actually runs.

# Remote server over HTTP, the recommended transport for remote servers
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Remote server with an auth header
claude mcp add --transport http secure-api https://api.example.com/mcp --header "Authorization: Bearer your-token"

# Local server running as a process on your machine
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable -- npx -y airtable-mcp-server
Important: For a local process server, everything after -- is passed straight through to that process. Without it, Claude Code tries to parse the server’s own flags as its own options.
Transport Use For
httpRemote servers, the recommended default; supports OAuth
stdioLocal processes on your own machine, direct system access or custom scripts
sseDeprecated, use http instead where available
wsRemote servers that push events unprompted, configured via JSON rather than the --transport flag

Where a Server Is Registered

The --scope flag decides who else sees the connection.

Scope Visibility
local (default)Only you, in the current project
projectEveryone on the project, via a committed .mcp.json file
userOnly you, across every project on your machine

A project-scoped server someone else added does not connect silently. It shows up as pending approval until you review and accept it yourself.

Production note: Verify you trust a server before connecting it. A server that fetches external content can expose you to prompt injection, the same category of risk as pasting untrusted text into any AI tool.

Checking Status

# List every configured server
claude mcp list

# Get details for one server
claude mcp get notion

# Remove a server
claude mcp remove notion

# Inside a session: check connection status and handle OAuth
/mcp

A server that shows connected but lists zero tools has started but is not returning anything useful. Select Reconnect from /mcp before assuming the server itself is broken.

Final Thoughts

That closes the foundations part of this series. Installed, a real project running, CLAUDE.md carrying your standing rules, a Skill for repeatable procedures, subagents for noisy side tasks, permissions and hooks enforcing what actually matters, a troubleshooting reference for when something misbehaves, and now MCP for reaching outside the local machine entirely.

None of that is useful in the abstract. The next stretch of posts moves into the actual daily-ops work this was all setup for: scripts, logs, documentation, and the small automations that make a week easier.

Key takeaway: Reach for MCP the moment you catch yourself copying data into chat by hand. Start with --scope local while you are still testing a server, and only promote it to project scope once your team should share it.
Next in this series

With the foundations in place, the series moves on to real daily-ops use cases: writing and debugging scripts, triaging logs and event IDs, and building the first hands-on project.