Model Context Protocol(MCP)でAIエージェントを拡張する実践ガイド:Claude・ChatGPT対応

当ページのリンクには広告が含まれています。
IT女子 アラ美
🚀 AIエージェントの拡張で差をつけたいなら今すぐ動きなさい!
MCPでClaude・ChatGPTにカスタム機能を追加して開発効率を最大化
24万社が導入!法人向けレンタルサーバー【XServerビジネス】
この記事の結論
Model Context Protocol(MCP)を使えば、AIエージェントに独自機能を追加し自社APIやデータベースと連携できます。本記事ではPython SDKによるサーバー構築から主要AIツールでの設定まで実践的に解説します。

お疲れ様です!IT業界で働くアライグマです!

先日、ある開発チームでClaude Desktopを使ったコードレビュー支援ツールを作ろうとした際、「GitHubのPR情報を直接読み込めたら便利なのに」という話になりました。以前は、PRの内容をコピー&ペーストでClaude Desktopに貼り付けていたため、複数のPRをレビューする際に非常に手間がかかっていました。調べてみると、Model Context Protocol(MCP)を使えば、AIエージェントに独自の機能を追加できることが分かりました。

「AIエージェントにカスタム機能を追加したいが、どこから手をつければいいか分からない」「Claude DesktopやChatGPTで自社のデータベースやAPIを使いたい」「MCPの仕様は理解したが、実装例が少なくて困っている」——こうした悩みを抱えている開発者は多いのではないでしょうか。

実際のプロダクト開発現場でも、MCPの登場によってAIエージェントの拡張性が飛躍的に向上したことを実感しています。本記事では、MCPを使ってAIエージェントにカスタム機能を追加する実践的な手順を、サーバー構築から実用例まで解説します。

目次

Model Context Protocol(MCP)とは何か

IT女子 アラ美
💡 まだAIツールを素のまま使ってるの?もったいないわ!
MCPで外部システム連携すれば開発効率が劇的に向上する
いつでもどこでもクラウド上PCにアクセス!仮想デスクトップサービス【XServer クラウドPC】

Model Context Protocol(MCP)は、AIエージェントと外部システムを接続するための標準プロトコルです。Anthropicが2024年11月に発表し、Claude Desktop、ChatGPT Desktop、Cursor、VS Codeなど、主要なAIツールが対応を進めています。

MCPの最大の特徴は、「サーバー」という概念でAIエージェントの機能を拡張できる点です。例えば、GitHubサーバーを作れば、AIがPR情報を読み込んでコードレビューを支援できます。データベースサーバーを作れば、AIが自然言語でSQLクエリを生成してデータを取得できます。

従来、AIエージェントに独自機能を追加するには、各ツールごとに異なるプラグイン形式を学ぶ必要がありました。MCPはこれを標準化し、一度作ったサーバーを複数のAIツールで使い回せるようにしました。Anthropic Skillsで始めるAIエージェント開発:Tool Useとの違いと実装パターンでも触れていますが、AIエージェントの拡張性は今後のプロダクト開発において重要な要素になります。

MCPサーバーの3つの機能

MCPサーバーは、主に以下の3つの機能を提供します。

Resources(リソース)はファイルやデータベースレコードなど、AIが読み込めるデータを提供します。Tools(ツール)はAIが実行できる関数を提供し、例えばGitHubにIssueを作成したり、Slackにメッセージを送信したりできます。Prompts(プロンプト)は定型的なプロンプトテンプレートを提供します。

LLMアプリケーション開発において、外部システム連携は非常に重要です。MCPはこの連携を標準化し、開発者の負担を大幅に軽減します。

IT女子 アラ美
規格が統一されるのはありがたいわね。ツールごとに作り直す手間がなくなるのは大きいわ。

ITアライグマ
はい、一度作ったサーバーを複数のAIツールで使い回せるのが最大のメリットですよ。

MCPサーバーの基本構造と実装パターン

標準入出力を使った通信の仕組み

MCPサーバーを実装する前に、基本構造を理解しておくことが重要です。MCPサーバーは、標準入出力(stdio)を使ってAIクライアントと通信する仕組みになっています。これにより、Pythonで書いたサーバーをClaude DesktopやCursorから呼び出せます。

公式のPython SDKであるmcpパッケージを使うと、サーバー実装が大幅に簡略化されます。以下は、最小限のMCPサーバーの構造です。

from mcp.server import Server
from mcp.server.stdio import stdio_server

app = Server("my-server")

@app.list_resources()
async def list_resources():
    return [Resource(uri="file://data.json", name="Data")]

@app.list_tools()
async def list_tools():
    return [Tool(name="search", description="Search data")]

if __name__ == "__main__":
    stdio_server(app)

この構造を理解すれば、Resources、Tools、Promptsの3つの機能を自由に組み合わせて、AIエージェントに必要な機能を追加できます。CursorとOllamaで構築するローカルRAG環境:プライベートドキュメントを活用したAIコーディング支援でも触れていますが、AIツールへのカスタムデータ連携は開発効率を大きく向上させます。

実装パターンとしては、単一機能型(1つのAPIやデータソースに特化)と統合型(複数のデータソースを統合)の2つがあります。初めて実装する場合は、単一機能型から始めることをおすすめします。通常のアーキテクチャ設計と同様、小さく始めて段階的に拡張することが重要です。

IT女子 アラ美
標準入出力を使うなら、言語はPython以外でもいいの?選択肢が広がるわね。

ITアライグマ
はい、標準入出力が扱えればどの言語でもOKですが、現状はPythonかTypeScriptのSDKが充実しています。

実装例:GitHub PR情報を取得するMCPサーバー

環境構築とパッケージインストール

ここでは、実際にGitHub PR情報を取得するMCPサーバーを実装します。このサーバーを使えば、AIがPRのタイトル、説明、変更ファイル一覧などを読み込んで、コードレビューのサポートができます。

まず、必要なパッケージをインストールします。

pip install mcp PyGithub

サーバー実装とResource定義

次に、MCPサーバーを実装します。以下のコードは、GitHub APIを使ってPR情報を取得し、Resourceとして提供する例です。

from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp.types import Resource, TextContent
from github import Github
import os

app = Server("github-pr-server")
gh = Github(os.getenv("GITHUB_TOKEN"))

@app.list_resources()
async def list_resources():
    repo = gh.get_repo("owner/repo")
    prs = repo.get_pulls(state="open")
    return [
        Resource(
            uri=f"github://pr/{pr.number}",
            name=f"PR #{pr.number}: {pr.title}",
            mimeType="text/plain"
        )
        for pr in prs[:10]
    ]

@app.read_resource()
async def read_resource(uri: str):
    pr_number = int(uri.split("/")[-1])
    repo = gh.get_repo("owner/repo")
    pr = repo.get_pull(pr_number)

    content = f"""Title: {pr.title}
Description: {pr.body}
Files changed: {pr.changed_files}
Commits: {pr.commits}
"""
    return TextContent(text=content)

if __name__ == "__main__":
    stdio_server(app)

このサーバーをClaude Desktopから使うには、設定ファイル(macOSの場合は~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加します。

{
  "mcpServers": {
    "github-pr": {
      "command": "python",
      "args": ["/path/to/github_pr_server.py"],
      "env": {
        "GITHUB_TOKEN": "your_token_here"
      }
    }
  }
}

Claude Desktopを再起動すると、AIがGitHub PR情報を読み込めるようになります。GitHub Copilot Custom Agentsで.mdファイルから独自エージェントを作る実践ガイドでも触れていますが、AIツールのカスタマイズは開発ワークフローの効率化に直結します。

実装時のポイントは、エラーハンドリングとレート制限への対応です。GitHub APIにはレート制限があるため、キャッシュを活用するか、リクエスト頻度を制御する必要があります。適切なエラーハンドリングを行うことで、信頼性の高いエージェントを構築できます。

IT女子 アラ美
APIのレート制限って意外とすぐ引っかかるのよね。キャッシュの実装もセットでやらないと。

ITアライグマ
はい、キャッシュと合わせて実装しておくと安定したサーバーになりますよ。

主要AIツールでのMCP対応状況と設定方法

各AIツールの設定ファイル

MCPサーバーを実装したら、実際にAIツールから使えるように設定します。ここでは、主要なAIツールでのMCP対応状況と設定方法を解説します。

Claude Desktopは、MCPの発表元であるAnthropicが提供するツールで、最も充実したMCP対応を提供しています。設定ファイルは~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または%APPDATA%\Claude\claude_desktop_config.json(Windows)に配置します。

Cursorは、.cursor/mcp.jsonに設定を記述します。Claude Desktopと同じJSON形式で、複数のMCPサーバーを登録できます。CursorでローカルLLMを使う完全ガイド:Ollama連携からカスタムモデル設定まででも触れていますが、Cursorのカスタマイズ性は非常に高く、開発ワークフローに合わせた柔軟な設定が可能です。

ChatGPT Desktopも、最近MCPサポートを追加しました。設定方法はClaude Desktopと類似していますが、一部の機能に制限があります。

以下のグラフは、主要AIツールのMCP対応状況を示したものです。Claude Desktopが最も充実していますが、他のツールも急速に対応を進めています。

セキュリティとアクセス制御

実運用では、セキュリティとアクセス制御に注意が必要です。MCPサーバーは標準入出力を通じてAIツールと通信するため、機密情報を扱う場合は環境変数での認証情報管理や、アクセス権限の適切な設定が重要です。外部システム連携時の認証・認可は慎重に設計しましょう。

MCP対応状況

IT女子 アラ美
設定ファイルへのトークン直書きは絶対NGよ。セキュリティ意識は妥協しちゃダメ。

ITアライグマ
はい、環境変数を使って安全に管理するのが鉄則です。本番環境では特に注意してください。

実装後の効果検証(ケーススタディ)

IT女子 アラ美
💡 AI実装スキルで市場価値を上げたいなら学びなさい!
実践的なPython×AIスキルを体系的に習得してキャリアアップを実現
資格と仕事に強い!個人レッスンのプログラミングスクール【Winスクール】

中村さん(仮名・30歳・バックエンドエンジニア)のチームでの導入事例を紹介します。

状況(Before)

中村さんのチームでは、Claude Desktopを使ったコードレビュー支援を行っていましたが、PRの内容を手動でコピー&ペーストしていました。1件のPRレビューに約15分かかり、1日10件以上のPRが発生する状況で、レビュー作業だけで約2.5時間を費やしていました。
当時は「PRの内容をいちいち手作業でAIに渡すのが非効率で、レビューが追いつかない」という課題に直面していました

行動(Action)

本記事で紹介したGitHub PR情報取得MCPサーバーを構築し、Claude DesktopからPR情報を直接読み込めるようにしました。さらに、コードの変更差分とテスト結果も自動取得するToolを追加し、レビュー時に必要な情報をワンクリックで取得できる仕組みを整えました。

結果(After)

MCPサーバー導入後、1件あたりのPRレビュー時間が約15分から約6分に短縮され、約60%の時間削減を達成しました。チーム全体でのレビュー品質も向上し、見落としによるバグの混入が月平均5件から1件に減少しました。中村さんはこの取り組みが評価され、社内のAI活用推進リーダーに抜擢されました。

IT女子 アラ美
レビュー時間が60%削減ってすごいじゃない。手作業のコピペが一番のムダだったのね。

ITアライグマ
はい、MCPで自動化できる部分を見極めて効率化するのが重要ですよ。

トラブルシューティングとベストプラクティス

よくあるトラブルと解決方法

MCP実装でよく遭遇するトラブルと解決方法を紹介します。

サーバーが認識されない場合、まず設定ファイルのJSON形式が正しいか確認します。カンマの位置やクォートの種類(ダブルクォート必須)を確認し、JSONバリデーターでチェックすると良いでしょう。また、Pythonスクリプトのパスが絶対パスになっているか、実行権限があるかも確認します。

レスポンスが遅い場合、APIリクエストのキャッシュを実装することで改善できます。例えば、GitHub PR情報は頻繁に変わらないため、5分程度のキャッシュを設けることで、レスポンス速度が大幅に向上します。

エラーハンドリングとログ出力

エラーハンドリングは、MCPサーバーの安定性に直結します。外部APIの呼び出しが失敗した場合でも、AIツールにエラー情報を適切に返すことで、ユーザー体験が向上します。Pydantic v2のバリデーション設計:型安全なAPIとLLMアプリケーションの実装パターンでも触れていますが、型安全な実装はエラーの早期発見に繋がります。

ベストプラクティスとしては、ログ出力の充実が重要です。MCPサーバーは標準入出力を使うため、デバッグ情報はファイルに出力する必要があります。適切なログ出力は、問題解決の時間を大幅に短縮します。

IT女子 アラ美
標準入出力を使うからデバッグはファイル出力にしないとダメなのね。地味だけど大事だわ。

ITアライグマ
はい、ログ設計をしっかりやっておくとトラブル時の対応速度が全然違いますよ。

よくある質問(FAQ)

Q. MCPサーバーは本番環境で使っても問題ありませんか?

MCPサーバー自体は標準入出力を使ったローカル通信のため、ネットワーク経由の攻撃リスクは低いです。ただし、外部APIの認証情報は環境変数で管理し、アクセス権限を最小限に設定することが重要です。本番環境では、ログ出力の充実とエラーハンドリングの強化を推奨します。

Q. MCPを学ぶとキャリアにどんなメリットがありますか?

AIエージェントの拡張スキルは、今後のエンジニア市場で高く評価される分野です。MCPの実装経験があれば、AI活用推進やアーキテクト職へのキャリアパスが広がります。ハイクラスエンジニア転職エージェント3社比較で紹介しているエージェントに相談すると、AI関連ポジションの求人を紹介してもらいやすくなります。

Q. Python以外の言語でもMCPサーバーを実装できますか?

はい、標準入出力が扱えればどの言語でも実装可能です。ただし、現状は公式のPython SDK(mcpパッケージ)とTypeScript SDKが最も充実しています。Go言語やRust用のサードパーティSDKも開発が進んでいるため、今後の選択肢は広がっていく見込みです。

IT女子 アラ美
AIエージェント拡張のスキルって、これからどんどん需要が増えそうよね。

ITアライグマ
はい、MCPはAI活用の標準プロトコルになりつつあるので、早めに習得しておくと有利ですよ。

おすすめ学習リソース・サービス

MCPサーバーの実装やAIエージェント開発のスキルを体系的に学びたい方には、以下のサービスがおすすめです。Python×AI実装の基礎から応用まで、実践的なカリキュラムで効率よく習得できます。

サーバー環境の選定や本番運用時のインフラ構成については、エンジニア向けXServer用途別比較ガイドも参考になります。

本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。

比較項目 Winスクール Aidemy Premium
目的・ゴール 資格取得・スキルアップ初心者〜社会人向け エンジニア転身・E資格Python/AI開発
難易度 初心者◎個人レッスン形式 中級者〜コード記述あり
補助金・給付金 最大70%還元教育訓練給付金対象 最大70%還元教育訓練給付金対象
おすすめ度 S幅広くITスキルを学ぶなら AAIエンジニアになるなら
公式サイト 詳細を見る
IT女子 アラ美
AIスキルを身につけたいけど、どのスクールを選べばいいかわからないです…
ITアライグマ
現場で即・ITスキルを身につけたいならWinスクールがおすすめです!個人レッスン形式で初心者でも取り組みやすいですよ。

まとめ

Model Context Protocol(MCP)を使えば、AIエージェントに独自の機能を追加し、自社のデータベースやAPIと連携させることができます。本記事では、MCPの基本概念から、実際のGitHub PR情報取得サーバーの実装、主要AIツールでの設定方法、トラブルシューティングまでを解説しました。

短期的には、まず公式のPython SDKを使って簡単なResourceサーバーを実装し、Claude DesktopやCursorから動作確認することをおすすめします。1つのデータソースに特化した単一機能型サーバーから始めることで、MCPの仕組みを理解できます。

中長期的には、複数のデータソースを統合した統合型サーバーや、Toolsを活用した双方向連携(AIからSlackにメッセージを送信するなど)を実装することで、AIエージェントの活用範囲が大きく広がります。

MCPは、AIエージェントの拡張性を標準化する重要なプロトコルです。一度作ったサーバーを複数のAIツールで使い回せるため、開発コストを抑えながら、チーム全体の開発効率を向上させることができます。

まずは、自分のプロジェクトで最も頻繁にアクセスするデータソース(GitHub、Notion、社内データベースなど)を1つ選び、MCPサーバーを実装してみましょう。

IT女子 アラ美
まずは使い慣れたGitHubの連携からやってみるわ!小さく始めるのが大事よね。

ITアライグマ
はい、小さな成功体験を積み重ねていくのがコツです。まずは1つのサーバーから始めましょう。

厳しめIT女子 アラ美による解説ショート動画はこちら

作者が開発したサービス「DevPick」

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次