コラム Claude Code入門 更新:

Claude CodeとMCPを連携させる方法!外部ツールとAIをつなぐ設定術

Claude CodeとMCPを連携させる方法!外部ツールとAIをつなぐ設定術
目次 (24項目)
  1. 1. はじめに
  2. 2. 目次
  3. 3. 1. MCPとは何か
  4. 基本定義
  5. MCPがなかった場合との違い
  6. 4. 2. MCPでできること・できないこと
  7. できること
  8. できないこと・注意点
  9. 5. 3. MCPサーバーの設定方法
  10. 設定ファイルの場所
  11. 基本的な設定例
  12. 設定後の確認
  13. 6. 4. 代表的なMCPサーバーの一覧
  14. Anthropic公式MCPサーバー
  15. コミュニティ製MCPサーバー(代表例)
  16. 7. 5. WordPressサイト運営で使えるMCP活用例
  17. 活用例① Slackへの作業完了通知
  18. 活用例② Google Driveの仕様書を参照して実装
  19. 活用例③ GitHubのIssueを参照して修正
  20. 活用例④ データベースの情報を参照
  21. 8. 6. 独自MCPサーバーの作り方(概要)
  22. 実装の基本構造(TypeScript)
  23. 9. 7. まとめ
  24. 10. よくある質問(FAQ)

はじめに

「Claude Codeからそのまま社内のSlackに通知を飛ばしたい」

「Jiraのチケットを参照しながらコードを書いてほしい」

「Google Driveにある仕様書をClaude Codeに読ませたい」

これらを実現するのがMCP(Model Context Protocol)です。MCPを使うことで、Claude Codeは外部のツール・データソースとリアルタイムに連携できるようになります。

前回の第7回:Git連携でコード管理の自動化を学んだ方は、この記事でさらに外部ツールとの連携を拡張しましょう。


目次

  1. MCPとは何か
  2. MCPでできること・できないこと
  3. MCPサーバーの設定方法
  4. 代表的なMCPサーバーの一覧
  5. WordPressサイト運営で使えるMCP活用例
  6. 独自MCPサーバーの作り方(概要)
  7. まとめ

1. MCPとは何か

基本定義

MCP(Model Context Protocol) とは、AIツールと外部データソース・ツールをつなぐためのオープン標準プロトコルです。Anthropicが提唱し、業界全体で採用が広がっています。

MCPを使うことで、Claude Codeは以下のような外部リソースに対して読み書きができるようになります。

  • ファイルシステム(ローカルのドキュメント、Google Drive)
  • データベース(MySQL、PostgreSQL)
  • 外部サービス(Slack、Jira、GitHub、Notion)
  • Web(リアルタイムの検索・情報取得)

MCPがなかった場合との違い

作業 MCPなし MCPあり
仕様書の参照 内容をコピペしてClaude Codeに渡す Google Driveから直接読み込む
タスク管理 Jiraを別画面で確認 Jiraのチケットを自動参照
通知 手動でSlackに投稿 Claude Codeから直接Slack通知
データ参照 SQLをコピペ データベースに直接クエリ

2. MCPでできること・できないこと

できること

  • 外部ツールのデータをリアルタイムに読み込む
  • 外部サービスに書き込む(Slack投稿、Jiraチケット更新など)
  • ローカルファイルシステムへのアクセスを拡張する
  • カスタムツールを独自実装してClaude Codeに追加する

できないこと・注意点

  • 認証情報(APIキー)が必要なサービスは設定が必要
  • MCPサーバー自体は別プロセスとして起動が必要
  • すべての外部サービスにMCPサーバーがあるわけではない

3. MCPサーバーの設定方法

MCPサーバーの設定は ~/.claude/settings.json または プロジェクトの .claude/settings.json に記述します。

設定ファイルの場所

適用範囲 ファイルの場所
全プロジェクト共通 ~/.claude/settings.json
特定のプロジェクトのみ プロジェクトルート/.claude/settings.json

基本的な設定例

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token-here",
        "SLACK_TEAM_ID": "T0123456789"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Documents"
      ]
    }
  }
}

設定後の確認

claude
> /mcp

/mcp コマンドで接続中のMCPサーバー一覧と状態を確認できます。


4. 代表的なMCPサーバーの一覧

Anthropicおよびコミュニティが提供する主要なMCPサーバーを紹介します。

Anthropic公式MCPサーバー

MCPサーバー 機能 パッケージ名
Filesystem ローカルファイルシステムへのアクセス @modelcontextprotocol/server-filesystem
GitHub リポジトリ・Issue・PRの操作 @modelcontextprotocol/server-github
Slack チャンネルの読み書き・通知 @modelcontextprotocol/server-slack
Google Drive Googleドキュメント・スプレッドシートの参照 @modelcontextprotocol/server-gdrive
Postgres PostgreSQLへのクエリ実行 @modelcontextprotocol/server-postgres

コミュニティ製MCPサーバー(代表例)

ツール 機能
Jira チケットの読み込み・更新
Notion ページの読み書き
Linear タスク管理
Figma デザインデータの参照

最新のMCPサーバー一覧は claude.com/partners/mcp で確認できます。


5. WordPressサイト運営で使えるMCP活用例

活用例① Slackへの作業完了通知

> functions.phpの修正が完了したら、
  Slackの#devチャンネルに完了報告を投稿して

Slack MCPが設定されていれば、Claude Codeが直接Slackに投稿します。

活用例② Google Driveの仕様書を参照して実装

> Google Driveにある「お問い合わせフォーム改善仕様書」を読んで、
  その仕様に従ってContact Form 7の設定を変更してください

Google Drive MCPが設定されていれば、ドキュメントを直接読み込んで実装できます。

活用例③ GitHubのIssueを参照して修正

> GitHubのIssue #42の内容を確認して、
  報告されているバグを修正してください

GitHub MCPが設定されていれば、Issueの詳細を直接参照できます。

活用例④ データベースの情報を参照

> wp_postsテーブルで公開済みの記事数と、
  直近30日で公開された記事のタイトル一覧を教えて

Postgres/MySQL MCPが設定されていれば、データベースへの直接クエリが可能です。


6. 独自MCPサーバーの作り方(概要)

社内独自のシステムや、既存のMCPサーバーがないサービスに連携したい場合は、独自のMCPサーバーを実装できます。

実装の基本構造(TypeScript)

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

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

// ツールの定義
server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: "get_wordpress_posts",
    description: "WordPressの記事一覧を取得する",
    inputSchema: {
      type: "object",
      properties: {
        status: { type: "string", description: "記事のステータス" }
      }
    }
  }]
}));

// ツールの実装
server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "get_wordpress_posts") {
    // WordPress APIからデータ取得
    const posts = await fetchWordPressPosts(request.params.arguments);
    return { content: [{ type: "text", text: JSON.stringify(posts) }] };
  }
});

Agent SDKの詳細は code.claude.com/docs/en/agent-sdk/overview を参照してください。


7. まとめ

MCPとは:

  • AIツールと外部データソース・ツールをつなぐオープン標準プロトコル
  • Slack・Jira・Google Drive・GitHub・データベースなどと連携できる

設定方法:

  • ~/.claude/settings.json または .claude/settings.json に記述
  • /mcp コマンドで接続状態を確認できる

WordPressサイト運営での活用シーン:

  • 作業完了をSlackに自動通知
  • Google Driveの仕様書を参照して実装
  • GitHubのIssueを直接参照してバグ修正
  • データベースへの直接クエリ

次回の第9回:セキュリティ・パーミッション設定では、Claude Codeを安全に使うためのパーミッション設定と注意点を解説します。


よくある質問(FAQ)

Q. MCPサーバーの設定は難しいですか?

A. 公式のMCPサーバーはnpxコマンドで簡単に起動できます。APIキーの取得と設定ファイルへの記述が主な作業です。JSONの編集が必要ですが、Claude Codeに「MCPの設定ファイルを書いて」と頼むこともできます。

Q. MCPはセキュリティ的に安全ですか?

A. MCPサーバーにはAPIキーなどの認証情報が必要です。設定ファイルにAPIキーを直接書く場合は、ファイルのパーミッション管理と.gitignoreへの追加を忘れずに行ってください。


この記事はClaude Code入門シリーズ(全10回)の第8回です。← 第7回:Git連携第9回:セキュリティ設定 →

ご質問はお問い合わせページからお気軽にどうぞ。

著者:R-LLM 開発者

フォロー

Webエンジニアとして10年以上のキャリアがあり、現在はWordPressとLLM(大規模言語モデル)の連携、および生成AIを活用した課題解決のための開発に日々取り組んでいます。

私の信条は、クライアントに寄り添った伴走支援と、最後まで責任を持ってやり遂げる「遂行力」です。これまでの膨大なトライ&エラーの蓄積により、自身の領域内であれば不具合も迅速に解決できる現場の知見を積み上げてきました。

このブログでは、一人のエンジニアとして私自身がAI技術に抱いている純粋な興味をベースに、日々の探求プロセスを発信しています。

生成AILLMをどのように実務に組み込み、価値へ繋げていくか。自身の検証結果だけでなく、実務者としての視点に基づいた「考察や推察」も含めて共有することで、同じように試行錯誤を続ける方々と知見を繋げていければと考えています。

関連記事

SHARE Xでシェア
← 前の投稿
投稿一覧に戻る
次の投稿 →