Level 2: Integrator — Connect Tools with MCP
The next step after getting Claude to understand your project with CLAUDE.md is to let Claude actually use external tools. By configuring MCP (Model Context Protocol), Claude can read GitHub Issues directly, send Slack messages, and more.
Target audience: Anyone who has already created a CLAUDE.md and wants to integrate Claude Code with tools like GitHub, Slack, or Notion.
Estimated learning time: Read 20min + Practice 30min
What Is MCP (Model Context Protocol)?
Section titled “What Is MCP (Model Context Protocol)?”MCP (Model Context Protocol) is a standard protocol that allows Claude to communicate with external tools and services. Think of it like USB-C — once the standard is established, you can connect a wide variety of tools using the same interface.
Claude Code
↕ MCP (common protocol)
┌──────────────────────────────────────┐
│ GitHub │ Slack │ Notion │ DB │
└──────────────────────────────────────┘Without MCP, Claude can only interact with the filesystem and execute code. By configuring MCP, it can retrieve information from and operate on external services.
Common MCP Servers
Section titled “Common MCP Servers”| MCP Server | What it can do |
|---|---|
| GitHub | Read Issues/PRs, add comments, manage repositories |
| Slack | Send messages, read channels and threads |
| Notion | Search, create, and update pages and databases |
| Google Drive | Search, read, and create files |
| PostgreSQL | Run SQL queries, inspect schemas |
| Puppeteer | Browser automation, screenshots, scraping |
How to Add to settings.json
Section titled “How to Add to settings.json”MCP servers are configured in your project’s .claude/settings.json.
your-project/
├── .claude/
│ └── settings.json ← MCP configuration file
└── CLAUDE.mdGitHub MCP Configuration Example
Section titled “GitHub MCP Configuration Example”{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}Get your GitHub Personal Access Token at github.com/settings/tokens. The repo scope is required.
Adding Slack MCP
Section titled “Adding Slack MCP”{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
},
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token-here",
"SLACK_TEAM_ID": "T0XXXXXXXXX"
}
}
}
}After creating or updating settings.json, restart Claude Code to enable the tools.
Trying It Out (General Examples)
Section titled “Trying It Out (General Examples)”Here are examples of what you can do once MCP is configured.
Read a GitHub Issue and Implement from It
Section titled “Read a GitHub Issue and Implement from It”> Please read GitHub Issue #12 and organize the requirements.Claude reads the issue body, comments, and labels and organizes the content.
> Based on the requirements in Issue #12, please add a GET /users/{id} endpoint to src/routes/users.py.It then implements directly based on the issue content.
Fetch Slack Messages
Section titled “Fetch Slack Messages”> Please check the last 10 messages in the #dev-general channel.Search Notion Documents
Section titled “Search Notion Documents”> Please search Notion for pages related to "API design."The Limits of Level 2
Section titled “The Limits of Level 2”MCP integration is powerful, but at this stage you still need to manually instruct Claude every time.
- Each time a new Issue appears, you type “read Issue #X and implement it”
- You enter the same type of request over and over
Eliminating this repetition is what Level 3 custom commands are for.
Hands-On Tutorial
Section titled “Hands-On Tutorial”If you want to learn by doing, check out the tutorial.
Hands-on tutorial for this level →