Claude Codeは単体でもコード生成やファイル操作が可能ですが、MCP(Model Context Protocol)を使うことで、GitHub、Slack、データベース、Notionなどの外部ツールを直接操作できるようになります。 ブラウザを開いてコピー&ペーストする作業が、ターミナル上のコマンド1つで完結します。

MCPとは何か

MCP(Model Context Protocol)は、AIモデルと外部ツールを接続するためのオープンプロトコルです。 Anthropicが2024年に策定し、2025年12月にLinux FoundationのAgentic AI Foundationに寄贈されました。

SDKの月間ダウンロード数は9,700万以上、本番稼働しているMCPサーバーは10,000以上、統合済みのAIクライアントは数百に達しています。 OpenAI、AWS、Google、Microsoft、Blockなど主要テクノロジー企業がMCPを支持しており、事実上の業界標準になりつつあります。

MCPは「クライアント-サーバー」モデルで動作します。 Claude CodeがMCPクライアントとして各MCPサーバーと通信し、MCPサーバーが外部サービスのAPIを「ツール」として抽象化してClaude Codeに提供します。

Claude Code(MCPクライアント)
    ↕ JSON-RPC over stdio/SSE
MCP Server(GitHub, Slack, PostgreSQL...)
    ↕ 各サービスのAPI
外部サービス

MCPのセットアップ手順

MCPの設定は~/.claude/claude_desktop_config.jsonに記述します。 以下は、GitHub・Slack・PostgreSQLの3サーバーを同時に設定する例です。

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
      }
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx"
      }
    },
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://user:password@localhost:5432/mydb"
      ]
    }
  }
}

各MCPサーバーはnpxで実行されるNode.jsパッケージです。 envフィールドにAPIトークンを設定し、サーバーが外部サービスにアクセスできるようにします。

設定後、Claude Codeを再起動してMCPサーバーの接続を確認します。 プロジェクトごとに異なるMCP設定が必要な場合は、.claude/mcp.jsonをプロジェクトルートに配置します。グローバル設定とプロジェクト設定は自動的にマージされます。

主要MCPサーバーの活用法

MCPサーバーは用途別に提供されています。 ここでは一人会社やスモールチームで特に有用な4つを紹介します。

GitHub MCP。 リポジトリ操作、Issue管理、PR作成をClaude Codeから直接実行します。日次のIssueトリアージに特に有用で、朝の作業開始時に新規Issueの確認・ラベル付け・優先度設定をまとめて行えます。

# PR作成の例
claude "現在のブランチの変更内容をもとに、
GitHubにPRを作成して。タイトルと説明は変更内容から自動生成して"

Slack MCP。 メッセージの送受信、チャンネル操作を実行します。外部パートナーやクライアントへの定型的な返信やステータス報告を自動生成できます。

# 進捗報告の例
claude "Slackの#dev-updatesチャンネルに、
今日の開発進捗をまとめて投稿して。
GitHubの直近のコミットログを参照して。"

PostgreSQL MCP。 データベースへのクエリ実行とスキーマ確認を行います。管理画面を開かずにデータ分析や運用タスクを実行できます。

# データ分析の例
claude "過去30日間の新規ユーザー数を日別に集計して、
増減のトレンドを分析して"

Notion MCP。 ページの作成・検索・更新を実行します。プロジェクト管理データベースへのタスク追加などに使えます。

実践ワークフロー:MCPで業務を自動化する

複数のMCPサーバーを組み合わせることで、複数ツールにまたがる業務を1コマンドで実行できます。 以下は朝の業務開始ルーティンの例です。

claude "以下の朝のルーティンを実行して:
1. GitHubで未対応のIssueを確認
2. Slackの未読メッセージから対応が必要なものを抽出
3. PostgreSQLで昨日の売上データを集計
4. 上記の結果をまとめてSlackの#daily-reportに投稿"

この1コマンドで、従来30分かかっていた朝の確認作業が数分で完了します。

同様の構成で、コンテンツ公開パイプラインも自動化できます。

claude "以下のコンテンツ公開フローを実行して:
1. src/content/blog/の最新記事を読み込む
2. フロントマターの整合性をチェック
3. 記事のメタデータをPostgreSQLのcontentsテーブルに記録
4. GitHubにcommitしてPRを作成
5. Slackの#contentチャンネルにレビュー依頼を投稿"

カスタマーサポート対応(未回答質問の取得 → FAQ検索 → 回答ドラフト生成)も同様のパターンで構築できます。

MCPの導入実績とROI

Zuploの調査(2025年)では、MCPユーザーの実態が以下のように報告されています。

利用拡大の見込み: 72%のMCPユーザーが、今後12か月でMCPの利用を増やすと回答しています。

同時稼働数: 70%のユーザーが、2〜7個のMCPサーバーを同時に稼働させています。

主要なROI: 49%のユーザーが、開発者の生産性向上をMCPの主要なROIとして挙げています。

あるブログプラットフォームの事例では、MCP-ネイティブアーキテクチャへの移行により、新規ツール連携のデプロイ時間が3日から11分に短縮されました。

MCPのセキュリティ上の注意点

MCPサーバーは外部サービスへのアクセス権を持つため、セキュリティの設計が必要です。

トークンの管理。 APIトークンは環境変数経由で渡し、設定ファイルにハードコードしないことを推奨します。設定ファイルをバージョン管理に含める場合は、${GITHUB_TOKEN}のように環境変数参照にします。

最小権限の原則。 GitHub Personal Access Tokenは必要最小限のスコープで発行します。リポジトリの読み取りだけが必要な場合、repo:readのみを付与します。Slack Bot Tokenも同様に、必要なチャンネルと操作に限定します。

本番データベースへのアクセス制限。 PostgreSQL MCPサーバーを本番データベースに接続する場合、読み取り専用ユーザーを使用します。

CREATE USER mcp_readonly WITH PASSWORD 'secure_password';
GRANT CONNECT ON DATABASE mydb TO mcp_readonly;
GRANT USAGE ON SCHEMA public TO mcp_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_readonly;

MCPの課題と適用範囲

MCPは急速に普及していますが、課題も指摘されています。 Perplexity CTOのDenis Yaratsは2026年3月に、一部の本番システムでMCPからの撤退を発表しました。 理由はプロトコルのオーバーヘッドです。高頻度のAPI呼び出しが必要なシステムでは、MCPのJSON-RPCレイヤーが追加のレイテンシとなる場合があります。

一方で、一人会社やスモールチームの業務自動化という文脈では、このオーバーヘッドは実用上問題にならないレベルです。

MCPの適用に向いているケース:

MCPの適用に向いていないケース:

MCPサーバーの自作

既存のMCPサーバーでカバーされないツールがある場合、自作も可能です。 MCPのSDKはTypeScript、Python、Java、Kotlinなど複数の言語で提供されています。

// 最小構成のMCPサーバー(TypeScript)
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server(
  { name: "my-custom-server", version: "1.0.0" },
  { capabilities: { tools: {} } }
);

server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "get_weather",
    description: "指定都市の天気を取得",
    inputSchema: {
      type: "object",
      properties: { city: { type: "string" } },
      required: ["city"]
    }
  }]
}));

server.setRequestHandler("tools/call", async (request) => {
  const city = request.params.arguments.city;
  return { content: [{ type: "text", text: `${city}の天気: 晴れ 28℃` }] };
});

const transport = new StdioServerTransport();
await server.connect(transport);

ツール名・入力スキーマ・処理ロジックを定義するだけで、Claude Codeから呼び出せるカスタムサーバーを構築できます。

まとめ

MCPは、Claude Codeを単なるコード生成ツールから、業務全体を統合する自動化基盤に拡張します。 月間9,700万以上のSDKダウンロード数と10,000以上の本番サーバーが示すように、エコシステムは実用段階に入っています。

一人会社の文脈では、GitHub・Slack・PostgreSQL・Notionの4つのMCPサーバーを設定するだけで、日常業務の大半をClaude Codeから統合的に操作できるようになります。

セキュリティ面では、最小権限の原則と環境変数によるトークン管理を徹底することが重要です。 Perplexity CTOが指摘するオーバーヘッドの問題は、高頻度処理を伴わない業務自動化の範囲では実用上の障壁にはなりません。

参考文献