1145 words Slides

12.1 MCP Fundamentals

Course: Claude Code - Power User Section: MCP Fundamentals Video Length: 3-4 minutes Presenter: Daniel Treasure


Opening Hook

"Claude is powerful on its own, but what if you could extend it? That's the Model Context Protocol — MCP. In this video, you'll learn what MCP is, why it matters, and how to add your first server in Claude Code."


Key Talking Points

1. What is MCP?

  • MCP = Model Context Protocol — an open standard for connecting Claude to external tools and services
  • Think of it as a bridge: Claude on one side, your tools, databases, APIs on the other
  • Extends Claude's capabilities beyond built-in knowledge — real-time data, custom integrations, proprietary tools

What to say: "MCP isn't magic — it's a structured way for Claude to ask your tools questions and get answers back. When you add an MCP server, you're telling Claude, 'Here's something I can access that you can't. Use it when you need to.'"

What to show on screen: Terminal window with claude command visible. Show the help text or a quick overview.

2. Two Core Concepts: Transport & Servers

  • Transport: How Claude talks to MCP servers. Three options:
  • HTTP (recommended for remote servers): Fast, stateless, scales well
  • SSE (deprecated): Server-Sent Events — avoid for new setups
  • stdio (local processes): Direct pipe to a command running on your machine
  • Server: The thing Claude is talking to — could be GitHub, Linear, your custom API, a local script

What to say: "Transport is the highway. Server is the destination. HTTP is like calling a cloud API. Stdio is like launching a subprocess on your machine and talking to it directly."

What to show on screen: Simple diagram or text explanation of the three transports. Terminal showing claude mcp add command variations.

3. Registering Your First Server: claude mcp add

  • Command syntax: claude mcp add [options] <name> -- <command>
  • For HTTP: claude mcp add --transport http github https://api.githubcopilot.com/mcp/
  • For stdio: claude mcp add myserver -- /path/to/executable --arg1 --arg2
  • Options go BEFORE the server name
  • Available options: --transport, --env, --scope, --header

What to say: "The basic pattern is: name your server, pick a transport, point Claude to it. That's it. From then on, Claude knows how to reach it."

What to show on screen: Terminal running claude mcp add with a real example (e.g., adding GitHub). Show the command, then the response.

4. Managing Servers: list, get, remove

  • claude mcp list — see all registered servers
  • claude mcp get <name> — view details of one server
  • claude mcp remove <name> — unregister a server
  • In-session: /mcp command to check status, authenticate, or re-enable servers

What to say: "Once you add a server, you manage it with list, get, and remove. If you ever need to log in or check what's connected, just hit /mcp in Claude."

What to show on screen: Terminal running claude mcp list to show multiple registered servers. Show the output with a few examples.

5. Scopes: Where Servers Live

  • Local scope (default): ~/.claude.json — applies to all projects
  • Project scope: .mcp.json in your repo — team-shared, version controlled
  • User scope: ~/.claude.json — persistent across machines
  • Managed scope: System directories — enterprise/admin controlled

What to say: "Scopes control visibility. Project scope is great for team setups — you commit .mcp.json to git, everyone gets the same servers. Local scope is personal."

What to show on screen: File browser or editor showing both ~/.claude.json and a .mcp.json in a project directory. Highlight the difference.


Demo Plan

  1. Open terminal, show current MCP setup: claude mcp list
  2. Add a test HTTP server: claude mcp add --transport http test-server https://example.com/mcp/
  3. Verify it was added: claude mcp list again
  4. Show the config file: cat ~/.claude.json (highlight the mcpServers block)
  5. Start Claude Code in that directory: claude code
  6. In Claude Code, type /mcp to show in-session MCP status
  7. Remove the test server: claude mcp remove test-server
  8. Verify removal: claude mcp list final time

Code Examples & Commands

# View all registered servers
claude mcp list

# Add an HTTP server (remote)
claude mcp add --transport http github https://api.githubcopilot.com/mcp/

# Add a stdio server (local process)
claude mcp add my-tool -- /usr/local/bin/my-tool --config /path/to/config.json

# Add with environment variables
claude mcp add --transport http my-api https://api.example.com/mcp/ --env API_KEY=$MY_API_KEY

# View a specific server's config
claude mcp get github

# Remove a server
claude mcp remove github

# Check MCP status in Claude Code session
/mcp

# Import from Claude Desktop (macOS/WSL only)
claude mcp add-from-claude-desktop

Gotchas & Tips

  • Option order matters: Put --transport, --env, --scope, --header BEFORE the server name. After the name, use -- and then your command (for stdio).
  • HTTP is stateless: Each call is independent. No persistent connections. Good for APIs.
  • Stdio needs to stay running: If your local process crashes, Claude can't reach it. Monitor logs.
  • Environment variable expansion: Use ${VAR} or ${VAR:-default} in config. Variables from your shell are captured at registration time.
  • Scope conflicts: If the same server name exists in multiple scopes, the more specific one (project > user > local) wins.
  • Authentication may be required: Some servers (like GitHub) might prompt you to log in via browser. Use /mcp in-session to trigger OAuth flows.

Lead-out

"Now that you know how MCP works, the next four videos show you real integrations: GitHub for code review, Linear for project tracking, Figma for design specs, and Notion for documentation. Each one plugs into Claude Code the same way — with a single claude mcp add command. See you in the next one."


Reference URLs

  • Claude Code documentation: https://github.com/anthropics/claude-code
  • Model Context Protocol spec: https://modelcontextprotocol.io
  • GitHub MCP server: https://api.githubcopilot.com/mcp/
  • MCP Tools ecosystem: https://github.com/topics/mcp-server

Prep Reading

  • Model Context Protocol overview and architecture
  • CLI command reference for claude mcp
  • Understanding transport types (HTTP, SSE, stdio)
  • How authentication and scopes work in Claude Code

Notes for Daniel: This is the foundational video. Keep it concrete and hands-on. The audience needs to feel confident running claude mcp add by the end. Don't get bogged down in theory — show them the command, show them it works, move on. The next four videos build on this, so you can assume they'll remember the mcp add syntax.

Demo tip: Have a working server pre-registered before you start recording (e.g., GitHub). That way you can show claude mcp list with something real in it. It's more credible than starting from zero.

Tone: Encouraging and practical. MCP might sound technical, but the user experience is just one or two commands. Emphasize simplicity.