【5分で完了】Claude Code × MCPで業務を自動化する方法|GitHub・Slack連携の設定手順を解説
Claude Code × MCPで業務を自動化できること
MCP(Model Context Protocol)は、Anthropicが2024年11月に発表したオープン標準プロトコルです。AIを外部ツールやデータソースへ標準化された方法で接続する仕組みで、「AIのためのUSB-C」とも称されます。USBが機器の接続方法を統一したように、MCPはAIとあらゆるツールの接続方法を統一します。
2026年2月時点で公開MCPサーバーは3,000以上。GitHub・Slack・Sentry・Figma・Notion・PostgreSQL・Stripeなど、主要ビジネスツールはほぼ対応済みです。設定はコマンド1行・1分以内で完了するケースが多く、導入ハードルは驚くほど低くなっています。
本記事では、以下の3つのユースケースを実際に動かしながら解説します。各MCPサーバーの登録コマンド自体は最短1分で完了します(Slackは事前にBot Tokenの取得が必要です)。記事全体の読了目安は約15分です。
- GitHub自動化:IssueやPRの内容を読み取り、実装からPR作成までを自動化
- Slack連携:バグ報告チャンネルの自動トリアージと関係者への通知フロー構築
- DB自然言語クエリ:PostgreSQLに日本語で問い合わせ、集計・分析をAIに委任
前提条件・準備するもの
必要な環境
作業を始める前に、以下の環境が整っていることを確認してください。
- Claude Code(最新版)がインストール済み
- Node.js 18以上(
node -vで確認) - GitHub・Slack・PostgreSQLそれぞれのAPIキーまたはOAuth認証情報
- ターミナルの基本操作ができること
Claude Codeが未インストールの場合は、npm install -g @anthropic-ai/claude-code でインストールできます。インストール後、claude --version でバージョンを確認しておきましょう。
本記事で使うMCPサーバー一覧
今回使用する3つのMCPサーバーと、それぞれの役割を整理しておきます。
- GitHub MCP:リポジトリ操作、Issue・PR管理、コードレビューをClaude Codeから直接実行
- Slack MCP:チャンネルの読み書き、メッセージ送信、Socket Modeによるリアルタイム受信
- PostgreSQL MCP:自然言語でのSQL生成・実行、テーブル定義の自動参照
ステップ1:GitHub MCPを繋いでIssue→PR作成を自動化する
GitHub MCPの設定コマンド
以下の1行をターミナルに貼り付けるだけで、GitHub MCPの追加が完了します。
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
--transport http はHTTP経由でMCPサーバーと通信するオプションです。GitHub公式サーバーはHTTPエンドポイントを提供しているためこのオプションが必要ですが、ステップ2・3で使うSlackやPostgreSQLはローカルプロセス起動型(stdioトランスポート)のため省略できます。登録後はclaude mcp listでサーバー一覧にgithubが表示されていることを確認してください。
認証手順(/mcpコマンドでOAuth)
Claude Codeのセッション内で /mcp と入力すると、登録済みMCPサーバーの一覧と認証状態が表示されます。GitHub MCPを選択すると、ブラウザが開いてOAuth認証画面に遷移します。
- 表示されたURLをブラウザで開く(自動で開かない場合は手動でコピペ)
- GitHubアカウントでログインし、アクセスを許可
- ターミナルに「Authenticated」と表示されれば完了
トークンは~/.claude.jsonに安全に保存され、次回以降の認証は不要です。
実際に動かしてみる
認証が完了したら、Claude Codeに自然言語で指示を出してみましょう。
「GitHub Issue #142のバグを修正してPRを作成して。該当リポジトリはmyorg/my-appです」
Claude Codeはこの指示を受けて、GitHub MCPを通じてIssueの内容を取得し、コードを分析して修正案を生成。ブランチを作成してコミットし、PR本文にも変更内容の説明を自動記載してくれます。手作業で30分かかっていた作業が、指示1行で完了するイメージです。
確認・動作チェック方法
PRが作成されたら、以下の点を確認しましょう。
- ブランチ名が命名規則に沿っているか(例:
fix/issue-142-xxx) - PR本文に変更の意図と影響範囲が記載されているか
- テストが自動追加されているか(リポジトリのテスト構成による)
ステップ2:Slack MCPを繋いでバグ報告を自動トリアージする
Slack MCPの設定コマンド
Slack MCPの追加も1行で完了します。ただし事前にSlack Bot Tokenの取得が必要です。api.slack.com/apps でアプリを作成し、「OAuth & Permissions」からBot Tokenを発行してください(所要時間:約5〜10分)。
claude mcp add slack --env SLACK_BOT_TOKEN=xoxb-your-token-here
環境変数をコマンドに直接埋め込みたくない場合は、.envファイルにSLACK_BOT_TOKENを記載してからclaude mcp add slackを実行する方法も使えます。
#bug-reportsチャンネル監視→通知フローの構築
Slack MCPを使うと、チャンネルの読み取りからメッセージ送信まで一気通貫で自動化できます。以下は実際の業務フロー例です。
- 監視:
#bug-reportsチャンネルの未対応メッセージをSlack MCP経由で取得 - 分析:Claude Codeがエラーメッセージ・再現手順・影響範囲を分析して優先度を判定
- 実装:GitHub MCPと連携し、対応するIssueを自動作成(優先度ラベル付き)
- 通知:
#eng-notificationsチャンネルに「Issue #XXXを作成しました」と投稿
このフローを一度構築してしまえば、深夜のバグ報告にも翌朝出社前にIssueが切られた状態になります。トリアージにかかっていた時間を大幅に削減できます。
ステップ3:複数MCPを組み合わせてマルチツール自動化を実現する
PostgreSQL MCPの設定手順
DBへの自然言語クエリを実現するには、PostgreSQL MCPを追加します。接続文字列を環境変数に設定してから以下のコマンドを実行してください。
claude mcp add postgres --env POSTGRES_CONNECTION_STRING=postgresql://user:password@host:5432/dbname
追加後は claude mcp list で postgres が一覧に表示されていることを確認します。Claude Codeに「売上テーブルから先月の上位10件を出して」と日本語で指示するだけで、SQLの生成・実行・結果の整形までを自動で行います。
user/project/localスコープの使い分け
MCPサーバーには3つのスコープがあり、用途によって使い分けます。
- userスコープ(
~/.claude.json):個人のAPIキーを使うサーバー。GitHub・Slackなど個人認証が必要なものに使用 - projectスコープ(
.mcp.jsonをgit管理):チーム全員が使うサーバー。共有APIキーを使うDB接続やSentryなどに使用 - localスコープ:作業ディレクトリ限定。一時的な検証や個人の実験に使用
迷ったら「秘密情報を含むかどうか」で判断するのがシンプルです。個人のトークンはuserスコープ、チーム共通の設定はprojectスコープに置くのが鉄則です。
.mcp.jsonでチーム全体に設定を共有する方法
プロジェクトルートに.mcp.jsonを置くと、リポジトリをcloneしたチームメンバー全員が同じMCP設定を使えます。
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "${POSTGRES_URL}"
}
},
"sentry": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sentry"],
"env": {
"SENTRY_AUTH_TOKEN": "${SENTRY_TOKEN}"
}
}
}
}
環境変数は${VAR_NAME}形式で参照でき、実際の値は各自の.envファイルに記載します。.mcp.jsonはgitにコミットし、.envは.gitignoreに追加するのが基本パターンです。
MCP Tool Search機能でコンテキスト消費を抑える
複数のMCPサーバーを同時に使うと、利用可能なツール定義がコンテキストを圧迫します。そこで役立つのがMCP Tool Search機能です。
export ENABLE_TOOL_SEARCH=true
このコマンドはシェルのセッションで一時的に有効化する方法です。永続的に設定する場合は ~/.bashrc(または ~/.zshrc)に同じ行を追記してください。この設定を有効にすると、Claude Codeが実際に必要なツールのみを動的にロードするようになります。コンテキスト消費を最大95%削減できるとされており、10個以上のMCPサーバーを並列で使う場合は必須の設定です。
よくある失敗とトラブルシューティング
MCPが突然応答しなくなった場合
MCPサーバーが途中で応答しなくなる問題は、長時間セッションやネットワーク切断後によく発生します。まずは以下の手順でリセットを試みてください。
- Claude Codeのセッションを終了して再起動
claude mcp listでサーバーの状態を確認- 問題のあるサーバーを
claude mcp remove <name>で削除し、再度addコマンドで登録 - それでも解消しない場合は
~/.claude.jsonの該当エントリを直接削除して再登録
環境変数・PATHが通らないときの対処
MCPサーバーが「コマンドが見つからない」エラーを返す場合、Claude Codeが参照するPATHと通常のターミナルのPATHが異なることが原因のケースが多いです。
.mcp.jsonのenvセクションに"PATH": "/usr/local/bin:/usr/bin:/bin"を明示的に追加- Node.js製サーバーは
npx -yで実行すると、バージョン不一致の問題を回避しやすい - コマンド名が変わっている場合(例:
mcp-server-github→@modelcontextprotocol/server-github)は、パッケージ名を最新ドキュメントで確認
セキュリティ:信頼できないMCPサーバーを使ってはいけない理由
MCPサーバーはClaude Codeに強力な権限を与えます。未検証のコミュニティ製MCPサーバーは、プロンプトインジェクション攻撃のリスクがあります。悪意ある応答を返すことでClaude Codeに意図しない操作をさせる手法で、2026年の重大なセキュリティ課題として認識されています。
以下の原則を守ってください。
- 公式または著名OSSプロジェクトが提供するMCPサーバーのみを使用
- ソースコードが公開されており、コミュニティのレビューを受けているものを選ぶ
- 本番環境の認証情報を渡すMCPサーバーは特に慎重に選定する
- エンタープライズ用途では
managed-mcp.jsonによる組織単位の集中管理を検討する
まとめと次のステップ
本記事で構築した自動化フローを振り返ると、業務フローは次のように変わります。
- Before:GitHubのIssueを手動で確認→コードを読んで修正→PRを手書きで作成(約30〜60分)
- After:Claude Codeに1行指示→PR完成まで自動(約3〜5分)
- Before:Slackのバグ報告を朝まとめて確認→手動でIssueを起票(見落としリスクあり)
- After:報告が来た瞬間に自動トリアージ→Issueが自動作成・通知(見落としゼロ)
GitHub Actions(Claude Code Action)と組み合わせることで、開発時間をさらに50〜70%短縮できるという報告もあります。AIエージェントとして自律的に動くClaude Codeと複数MCPを組み合わせれば、業務効率化の恩恵はCI/CDパイプライン全体へと広がります。次のステップとして、CI/CDパイプラインへのClaude Code組み込みを検討してみてください。
今回扱わなかったMCPサーバーの中でも、特に試す価値があるものを挙げておきます。
- Sentry MCP:エラー検知から修正PRまでを自動化。本番障害対応の時間を大幅に短縮できる
- Figma MCP:デザインデータを直接読み込んでコンポーネントを自動生成。デザイナーとエンジニアの橋渡しに
- Notion MCP:仕様書やドキュメントを参照しながらコードを書く。ドキュメントとコードの乖離を防ぐ
まず今日、GitHub MCPの設定コマンド1行を試してみてください。最初の自動化が動いた瞬間、MCPの可能性を体感できるはずです。
