Skip to content
X

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


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.

MCP ServerWhat it can do
GitHubRead Issues/PRs, add comments, manage repositories
SlackSend messages, read channels and threads
NotionSearch, create, and update pages and databases
Google DriveSearch, read, and create files
PostgreSQLRun SQL queries, inspect schemas
PuppeteerBrowser automation, screenshots, scraping

MCP servers are configured in your project’s .claude/settings.json.

your-project/
├── .claude/
│   └── settings.json   ← MCP configuration file
└── CLAUDE.md
{
  "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.

{
  "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.

Here are examples of what you can do once MCP is configured.

> 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.

> Please check the last 10 messages in the #dev-general channel.
> Please search Notion for pages related to "API design."

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.


If you want to learn by doing, check out the tutorial.

Hands-on tutorial for this level →

Level 3: Builder — Automate Repetition with Custom Skills