このチュートリアルでは、単純な[モデル・コンテキスト・プロトコル](https://www.ibm.com/jp-ja/think/topics/model-context-protocol)(MCP)サーバーを構築し、IBMチュートリアルを検索するための単一ツールを公開します。「fastmcp」フレームワークとリクエスト・ライブラリーを使用して、スクリプトはリモートURLからチュートリアルのJSONインデックスをダウンロードします。次に、ユーザーの照会に一致するものを検索し、しっかりと書式設定された成果リストを返します。また、ネットワークの問題、不正なJSON、予期しない問題に対するエラー処理が追加されているため、堅牢で初心者向けのツールとなっています。最後に、MCPサーバーを実行し、Cursorのようなクライアントに接続してテストできるようにします。
Enterpriseとスタートアップの開発者も同様に、生成[人工知能](https://www.ibm.com/jp-ja/think/topics/artificial-intelligence)(AI)駆動型ソリューションの開発が増えています。ソリューションをより有用なものにするには、最新の情報とコンテキストが必要です。機械学習[モデル](https://www.ibm.com/jp-ja/think/topics/ai-model)はツールや、[アプリケーション・プログラミング・インターフェイス](https://www.ibm.com/jp-ja/think/topics/api)(API)、[ソフトウェア開発キット](https://www.ibm.com/jp-ja/think/topics/api-vs-sdk)(SDK)とフロントエンド・システムと連携する必要があります。
MCPは、AIモデルとシステムの間でコンテキストを処理する方法を標準化します。これは、[大規模言語モデル](https://www.ibm.com/jp-ja/think/topics/large-language-models)と外部データ・ソースやツールとの連携を簡素化します。一般的なアナロジーは、MCPをLLMのUSB-Cポートと考えることです。モデルがモデルのトレーニングの一部ではなかった機能やデータにアクセスできるため、LLMの有用性がさらに高まります。この機能は、[AIエージェント](https://www.ibm.com/jp-ja/think/topics/ai-agent)を構築する場合に特に役立ちます。
MCPはAnthropic社によって開発されたもので、OpenAI、Google DeepMindをはじめとする主要なAIプロバイダーと、業種・業務で採用されています。AIモデルが外部データ、参考情報(プロンプト・テンプレートなど)、ツールにアクセスして使用するための安全で標準化された方法を提供します。
さらに、[統合開発環境](https://www.ibm.com/jp-ja/think/topics/integrated-development-environment)(IDE)(CursorやVisual Studio Codeなど)もMCPを採用しており、AIアシスタントがMCPサーバーにアクセスできるようになっているため、コンテキストに関連した、開発者にとって使いやすいものになっています。オープン・スタンダードとして構築されたMCPは、生成AIが持つ確率的な世界と、今日に存在する組織が利用するほとんどのエンタープライズ・システムが持つ決定論的な世界の間の橋渡しとして機能します。MCPは、[検索拡張生成](https://www.ibm.com/jp-ja/think/topics/retrieval-augmented-Generation)(RAG)、[tool calling](https://www.ibm.com/jp-ja/think/topics/tool-calling)、そしてAIエージェントなどに出現し始めている他の設計パターンと同様に、コンテキスト情報をLLMに提供します。
他のソリューションと比較して、MCPを使用することの利点には次のようなものがあります。
- 規模:MCPサーバーは、一度定義してホストし、多くのAIシステムで使用できます。この容量により、複数の生成AIシステムの同じソースデータ、参考情報、AIツールへのアクセスを定義する必要性が制限されます。
- データ取得:データ取得ではクエリーの前の前処理とベクトル化が必要なRAGとは異なり、MCPは動的であり、情報ソースからの変動と更新をリアルタイムで行うことができます。
- 複雑性:ここで示すように、MCPはセットアップとAIアプリケーションへの組み込みが非常に簡単です。構成ファイルを簡単に使用することで、MCPサーバーを環境間で移植可能にすることができます。
- プラットフォームに依存しない:Python、typeScript、またはその他の言語を使用してMCPサーバーを構築できるという事実だけでなく、特定のLLMソリューションにも結合されていません。
- クライアント/サーバー・モデルによるデバッグ:MCPクライアントはMCPサーバーにリクエストを送信し、MCPサーバーはAPI、データベース、ローカル・ファイルなど、さまざまな外部システムやソースから必要なデータを取得します。この構造化されたアプローチにより、AIモデルが一貫性のある関連性の高いコンテキストを確実に受け取ることができるようになり、より正確で信頼性の高いアウトプットが得られます。MCPはJSON-RPCを使用してメッセージをエンコードし、2つの転送メカニズム、stdio、ストリーミング可能なHTTPをサポートします。以前のプロトコルのバージョンでは、サーバー送信イベント(SSE)を使用するHTTPもサポートしていました
企業が必要とする最新の情報を常に把握することは困難な場合があります。MCPは、コンテキストを構築し、契約の実行時に契約の新しい情報や、レガシー情報がデジタル化されているが必ずしも消化下にならない既存の情報などを組み込むのに役立ちます。この情報は内部および外部の両方を含む可能性がありますが、コンテキストを追加することで、有用になるためにLLMを再トレーニングするという時間のかかる必要性を回避できます。
多くのリモートMCPサーバーが利用可能で、github.comには多数の参照実装があります。
このステップバイステップガイドは、server.pyとともにGitHubリポジトリにあります。MCPサーバーの作成時に参照するスクリプト。このチュートリアルでは、次のことができる基本的なカスタムMCPサーバーの構築について説明します。
このチュートリアルの作成を容易にするために、構築するサーバーが認証を必要とせずにチュートリアルのコンテンツを簡単に利用できるメカニズムを作成しました。
- Python 3.11以降がコンピューターにインストールされていること (ターミナルで python3 --version を実行して確認します)。
- 組み込みのvenvモジュールが利用可能(ほとんどのシステムにはPythonが付属しています。一部のLinuxディストリビューションでは、suto apt install python3-venvで個別にインストールする必要がある場合があります)。
- コマンド・ライン・ターミナル(CLI):
- macOSまたはLinux:ターミナルアプリを使用します (これらの環境はUnixのようなものです)。
- Windows:PowerShellまたはコマンド・プロンプトを使用します。ただし、小さな構文の違いは次のステップで説明します。
- 選択したテキストエディターまたはIDE
新しいディレクトリを作成し、そこにcdする
ディレクトリーに存在することを確認する
注:Windowsでは、
仮想環境を作成したら、次のコマンドを使用して仮想環境をアクティブ化する必要があります。
一度アクティブ化すると、シェルには次のような表示がされます
ここで、Pythonパッケージをインストールする必要があります。
次のコマンドを使用して
このステップが完了したら、以下のコマンドを実行して、fastMCPが正しくインストールされていることを確認できます。
以下のようなアウトプットが表示された場合は、仮想環境にfastMCPがインストールされています。
FastMCP version: 2.10.1
MCP version: 1.10.1
Python version: 3.11.13
Platform: macOS-15.5-arm64-arm-64bit
FastMCP root path: /opt/homebrew/lib/python3.11/site-packages
では、FastMCPがインストールされているため、MCPサーバーを作成しましょう
ディレクトリに新しいファイルを作成し、名前を付けます
そのファイルを開いたら、以下のコード・スニペットをコピー&ペーストしてください。
前のコードを確認し、主要な部分が何をしているかを説明しましょう。
このスクリプトは、HTTP経由でデータをダウンロードするために使用されるMCPサーバーとリクエストを作成するためのフレームワークを提供するFastMCPをインポートすることから始まります。定数などの
次に、MCPサーバー・インスタンスを作成します。
本
検索では大文字と小文字が区別されません。クエリは小文字に変換され、各チュートリアルのタイトルとURLも一致するために小文字にされます。チュートリアルにタイトルまたはURLのいずれかに検索語が含まれている場合、関連する成果のリストに追加されます。
検索に一致するチュートリアルがない場合、この関数は何も見つからなかったことを示すわかりやすいメッセージを返します。一致する場合、この関数は各チュートリアルのタイトル、URL、日付、および(可能な場合は作成者)を示す、書式設定された番号付きリストを構築します。書式設定では、タイトルにマークダウンスタイルの太字が使用されるため、それをサポートするクライアントではタイトルが目立つようになります。最終的な書式設定されたテキストは、1つの文字列として返されます。
この関数には、対象となる例外処理が含まれます。
一般
各エラーは、プログラムを停止するのではなく、呼び出し元に説明的なメッセージを返します。
下部には、
サーバーを構築したら、使用する前にIDEでサーバーを有効にする必要があります。プロトコルとのさまざまなレベルの統合でMCPをサポートするクライアントは多くあります。公式MCPウェブサイトでは、サンプル・クライアントの完全なリストが提供されています。
Cursorがインストールされている場合は、次の手順に従って、Cursor内にMCPサーバーを追加できます。
Cursor設定を開き、[ツールと統合]に移動します。新しいMCPサーバーを選択し、Cursorが新しいタブで開くmcp.jsonファイルに貼り付けてください。<YOUR PATH>を現在のディレクトリーに置き換えてください。ターミナルでpwdを実行して、フルパスを取得できます。CursorとMCPの詳細については、Cursorのドキュメントを参照してください。
{
"mcpServers": {
"tutorials": {
"command": "fastmcp",
"args": ["run <YOUR PATH>/ibmtutorialmcpserver/server.py"],
"env": {
}
}
}
}
"servers": {
"IBM Tutorials": {
"type": "stdio",
"command": "fastmcp",
"args": [
"run",
"<YOUR PATH>/ibmtutorialmcpserver/server.py"
]
},
},
MCPサーバーを有効にしたので、server.pyで作成されたツールを使用できるようにサーバーを稼働させましょう。VS Codeを使用している場合は、これらのドキュメントを確認してください。
IDEチャットで「IBMの時系列チュートリアルとは何ですか」と質問します。以下は、受信したアウトプットを受信したことを示していますが、応答は使用したモデルやIDEによって異なる場合があります。
アウトプット:
Here are some IBM time series tutorials:
Time series forecasting with Lag-Llama (zero-shot learning)
Tutorial link
Predict overnight low temperatures using the Lag-Llama model in a zero-shot learning scenario.
Using the watsonx.ai Time Series Forecasting API to predict energy demand
Tutorial link
Predict energy demand with the watsonx.ai Time Series Forecasting API.
Authors: Aleksandra Kłeczek and Meredith Syed
Let me know if you want details or help with a specific tutorial.
成功です。エージェントは
このチュートリアルでは、好みのMCPクライアントを使用してすべてのチュートリアルを検索するためのMCPサーバーの構築方法を学びました。あなたは、チュートリアルのリモートJSONインデックスを取得し、検索語に基づいて成果をフィルタリングし、読み取り可能な形式で返す単一の検索ツールを備えたMCPサーバーを作成しました。Fastmcpを使用してツールを登録・実行し、データの取得リクエストやネットワーク、解析、予期せぬ問題に対するエラー処理が含まれています。実行すると、MCPクライアントがサーバーに接続して、すべてのチュートリアルをライブでクエリできるようになります。
生成AIを使用してワークフローとプロセスを自動化する強力なAIアシスタントとエージェントを構築、デプロイ、管理しましょう。
信頼できるAIソリューションでビジネスの未来を構築します。
IBMコンサルティングAIサービスは、企業がAIをトランスフォーメーションに活用する方法を再考するのに役立ちます。