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 serversclaude mcp get <name>— view details of one serverclaude mcp remove <name>— unregister a server- In-session:
/mcpcommand 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.jsonin 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
- Open terminal, show current MCP setup:
claude mcp list - Add a test HTTP server:
claude mcp add --transport http test-server https://example.com/mcp/ - Verify it was added:
claude mcp listagain - Show the config file:
cat ~/.claude.json(highlight the mcpServers block) - Start Claude Code in that directory:
claude code - In Claude Code, type
/mcpto show in-session MCP status - Remove the test server:
claude mcp remove test-server - Verify removal:
claude mcp listfinal 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,--headerBEFORE 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
/mcpin-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.