Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

オープンソースのセルフホステッドMCPサーバーを構築する方法

@apidog

@apidog

Updated on 4月 2, 2025

こんにちは、開発者の皆さん!自分自身のAIコマンドセンターを持つことを夢見たことはありますか?異なるAIモデルとアプリケーション間の相互作用をオーケストレーションしながら、すべてのデータを安全に、そして自分の管理下に置く場所です。さて、このアーティクルでは、guMCPGumloopの統一モデルコンテキストプロトコルを使用して、自分自身のセルフホスティングされたMCPサーバーを構築する方法を探求していきます。

MCPとは一体何でしょうか?それはAIのための普遍的な言語のようなものです。これは異なるAIモデルやアプリケーションがコミュニケーションを取り、情報を共有するための標準化された方法です。これにより、異なるAIモデルがタスクの異なる部分を処理し、すべてがシームレスに連携する複雑なワークフローを構築できます。そして、guMCPは自分自身のMCPサーバーを構築するための非常に簡単な方法を提供します。

💡
始める前に、簡単なヒントがあります:Apidog を無料で入手してください!これは、開発者がMCPを簡素化し、AIモデル(特にLLM)のテストを行い、APIテストを効率化するための強力なツールです。今日無料で試してみてください
We’re thrilled to share that MCP support is coming soon to Apidog! 🚀

Apidog MCP Server lets you feed API docs directly to Agentic AI, supercharging your vibe coding experience! Whether you're using Cursor, Cline, or Windsurf - it'll make your dev process faster and smoother.… pic.twitter.com/ew8U38mU0KMarch 19, 2025

button

最初は少し daunting に聞こえるかもしれませんが、信じてください、思ったよりも簡単です。管理可能なステップに分解していくので、たとえあなたが経験豊富なDevOpsの専門家でなくても、ついていけるでしょう。さあ、始めましょう!

Gumloopの統一モデルコンテキストプロトコル(guMCP)とは何ですか?

guMCPは、あなた自身のセルフホスティングされたMCPサーバーを簡単に構築&展開できるように設計されたオープンソースのモデルコンテキストプロトコルの実装です。AIモデルとアプリケーションを接続するための柔軟なフレームワークを提供し、強力なAI駆動のワークフローを作成できるようになります。

gumcp display image

なぜセルフホストするのか?セルフホスティングは、データとインフラに対する完全なコントロールを提供し、プライバシーに敏感なアプリケーションや、特定の要件を満たすためにMCPサーバーをカスタマイズする必要がある状況に最適です。さらに、素晴らしい学びの機会でもあります!

なぜ自分自身のMCPサーバーを構築するのか?

さて、あなたは「なぜ自分自身のMCPサーバーを構築する必要があるのか?同じことをするクラウドベースのソリューションがあるのでは?」と疑問に思うかもしれません。それは正当な質問です!ここにセルフホスティングがゲームチェンジャーになる理由があります:

  1. データのプライバシーとセキュリティ:これは大きなポイントです。セルフホスティングを行うと、データはあなたのサーバー上に留まります。あなたの敏感な情報を保護するために第三者に依存することはなく、個人データや財務情報、特許アルゴリズムを扱うプロジェクトにとっては重要です。
  2. カスタマイズとコントロール:クラウドベースのソリューションにはしばしば制限があります。セルフホスティングにより、あなたの正確なニーズに合わせてMCPサーバーを調整できます。カスタム機能を追加したり、特定のAPIと統合したり、パフォーマンスを微調整して特定のワークフローの最適化を図ることができます。
  3. コスト効果:使用パターンによっては、セルフホスティングはクラウドプロバイダーに依存するよりもコスト効果が高い場合があります。特に既存のインフラと専門知識がある場合には。
  4. 学習と実験:自分自身のMCPサーバーを構築することは、AIインフラ、ネットワーキング、サーバー管理について学ぶ素晴らしい方法です。これはあなたのスキルセットを拡張し、これらのシステムの仕組みを深く理解する素晴らしい機会です。

guMCPの前提条件

インストールプロセスに入る前に、必要なものがすべて揃っているか確認しましょう。心配しないでください、長いリストではありません!

  • Python 3.11: このプロジェクトはPython 3.11以上が必要です。最新バージョンは公式Pythonウェブサイトからダウンロードできます。
download python
  • Git: Gitはリポジトリのクローン作成に使用されます。Gitがインストールされていない場合は、公式Gitウェブサイトからダウンロードできます。
download git
  • Windowsユーザーの方へ: bash互換のシェルを推奨します。これはGit Bash(Windows用Gitに含まれています)やWindows Subsystem for Linux(WSL)である可能性があります。これにより、このチュートリアルのコマンドに従いやすくなります。

guMCPインストールガイド

さあ、ショーを始めましょう!以下の手順に注意深く従ってください。そうすれば、あなたのguMCPサーバーはすぐに稼働します。

ステップ1: guMCPリポジトリをクローンする

まず、guMCPコードをあなたのコンピュータに取得する必要があります。ターミナルを開く(またはWindowsの場合はGit Bashを使用)し、次のコマンドを実行します:

git clone https://github.com/gumloop/guMCP.git
cd guMCP

これにより、guMCPリポジトリがGitHubからダウンロードされ、現在のディレクトリがguMCPフォルダに変更されます。

git clone gumcp project files

ステップ2: guMCP用の仮想環境を設定する

仮想環境は、あなたのPythonプロジェクト用のサンドボックスのようなものです。これはプロジェクトの依存関係をシステムのPythonインストールから隔離し、衝突を防ぎ、プロジェクトが正しく機能することを保証します。これはPython開発のベストプラクティスです。

仮想環境を作成するには、次のコマンドを実行します:

python -m venv venv

このコマンドは、venvというフォルダに新しい仮想環境を作成します。次に、仮想環境をアクティブにする必要があります。アクティベートコマンドはオペレーティングシステムによって異なります:

Unix/macOSの場合:

source venv/bin/activate

Windows(コマンドプロンプト)の場合:

venv\Scripts\activate

Windows(PowerShell)の場合:

.\venv\Scripts\Activate.ps1

Windows(Git Bash)の場合:

source venv/Scripts/activate

コマンドプロンプトの先頭に(venv)が表示されると、仮想環境がアクティブになっていることがわかります。これにより、隔離された環境内で作業していることを示します。

verify virtual env confiiguration

ステップ3: guMCP依存関係をインストールする

仮想環境がアクティブになったので、プロジェクトの依存関係をインストールできます。これらはguMCPが正しく機能するために必要なライブラリとパッケージです。

コア依存関係をインストールするには、次のコマンドを実行します:

pip install -r requirements.txt

このコマンドはpip(Pythonパッケージインストーラー)を使用してrequirements.txtファイルを読み込み、リストされているすべてのパッケージをインストールします。

guMCPプロジェクトに貢献する予定がある場合(それは素晴らしいことです!)、開発依存関係もインストールする必要があります:

pip install -r requirements-dev.txt

これらの依存関係は、テスト、リント、および他の開発関連のタスクに使用されます。

ステップ4: guMCPの環境変数を設定する

環境変数は、アプリケーションがアクセスする必要がある設定情報(APIキー、データベース資格情報、その他のセンシティブな情報など)を保存するために使用されます。これにより、コードがクリーンになり、秘密をアプリケーションに直接ハードコーディングすることを避けられます。

guMCPは、環境変数を管理するために.envファイルを使用します。ローカル環境ファイルを作成するには、次のコマンドを実行します:

cp .env.example .env

このコマンドは、.env.exampleファイルを新しいファイル.envにコピーします。.env.exampleファイルには、guMCPが必要とする環境変数のテンプレートが含まれています。

次に、お気に入りのテキストエディタ(VS Codeなど)で.envファイルを開き、必要に応じて値を更新する必要があります。

# Open and edit with vs code
code .env

# Open and edit in cursor
cursor .env
open .env file in cursor

.envファイルには以下の設定情報が含まれています:

  • サービス統合のためのAPIキー: OpenAIなどのサードパーティサービスと統合する予定がある場合、対応するAPIキーを.envファイルに提供する必要があります。
  • 認証設定: MCPサーバーへのアクセスを制御するための認証設定を構成できます。これには、サーバーと対話したいクライアントのためのユーザー名、パスワード、またはAPIキーを設定することが含まれる可能性があります。
  • サーバー構成オプション: .envファイルには、リッスンするポート番号、ホスト名、他のサーバー固有のパラメータなどの設定が含まれている場合があります。
  • 開発環境設定: 一部の設定は開発環境に特有のものかもしれません。デバッグフラグなどが含まれます。
.env file structure

環境に正しい値で.envファイルを慎重に確認して更新してください。.envファイルをバージョン管理にコミットしないでください! このファイルには公開すべきでないセンシティブな情報が含まれています。

guMCPの使用

ここまでインストールして構成したので、使い方を見てみましょう! guMCPは、SSE(サーバー送信イベント)サーバーとStdioサーバーの2種類の主要なサーバーをサポートしています。それぞれを探ってみましょう。

guMCP SSEサーバーを実行する

SSEサーバーは、サーバーからクライアントにデータをストリーミングする簡単で効率的な方法を提供します。guMCPのコンテキストでは、これはリアルタイムの更新や通知に使用されることがよくあります。

guMCPは、ローカルでSSE開発サーバーを開始する便利なスクリプトを提供します。このサーバーは、単一のURLの下にすべての利用可能なサーバーをホストします。SSE開発サーバーを開始するには、次のコマンドを実行します:

./start_sse_dev_server.sh

このスクリプトは、サーバーを起動し、URLをコンソールに印刷します。デフォルトでは、サーバーはポート8000で動作します。したがって、URLは以下のようになります:http://localhost:8000/simple-tools-server/local

running gumcp sse servers

リモートMCPテストクライアントの使用

guMCPは、SSEサーバーに接続する軽量のMCPクライアントも提供します。このクライアントは、サーバーをテストしたり、対話したりするのに便利です。クライアントを使用するには、次のコマンドを実行します:

python tests/clients/RemoteMCPTestClient.py --endpoint=http://localhost:8000/simple-tools-server/local

http://localhost:8000/simple-tools-server/localを、実際のSSEサーバーのURLに置き換えてください。

gumcp remote mcp test client

このコマンドはMCPクライアントを起動し、指定されたSSEサーバーに接続します。次に、クライアントを使用してサーバーにコマンドを送信し、応答を受け取ることができます。

gumcp query and response

guMCP Stdioサーバーを実行する

Stdioサーバーは、標準入力および出力ストリームを通じてクライアントと通信します。これはサーバー通信のより伝統的なアプローチであり、コマンドラインツールやアプリケーションに頻繁に使われます。

Stdioサーバーを開始するには、次のコマンドを実行します:

python src/servers/local.py --server=simple-tools-server

simple-tools-serverを実行したいサーバーの名前に置き換えてください。

guMCPローカルMCPテストクライアントの使用

guMCPは、Stdioサーバーを開始し接続するための軽量のMCPクライアントを提供します。クライアントを使用するには、次のコマンドを実行します:

python tests/clients/LocalMCPTestClient.py --server=simple-tools-server

simple-tools-serverを実行したいサーバーの名前に置き換えてください。

このコマンドはMCPクライアントを起動し、指定されたStdioサーバーに接続します。次に、クライアントを使用してサーバーにコマンドを送信し、応答を受け取ることができます。

guMCPサーバー構成の理解

--serverフラグは、あなたのMCPサーバーがどのツールや機能を公開するかを選択するための鍵です。これは、AIコマンドセンターにどのモジュールをロードするかを選んでいるようなものです。提供された例では、simple-tools-serverが使用されており、テストやデモ用の基本的なツールセットを提供している可能性があります。ただし、guMCPはモジュラー設計になっているため、特定の機能を含むサーバー構成を作成したり、拡張したりできます。

src/serversディレクトリを掘り下げると、さまざまなサーバー構成を定義するPythonファイルを見つけることができます。これらのファイルは、どのツールが利用可能で、どのようにMCPを通じて公開されているか、そしてそれらが必要とする特定の依存関係を指定します。これらのファイルを調べることで、サーバーをカスタマイズし、自分自身のAI駆動のツールを統合する方法を理解できます。

gumcp source folder

guMCPツールキットの拡張:自分自身のMCPツールの作成

guMCPの本当の力は、自分自身のカスタムツールで拡張できる能力にあります。特定のAIモデルを使用してテキストを要約するツールや、特定のAPIと対話するツールを作成すると想像してください。guMCPはこれを驚くほど簡単にします。

カスタムツールを作成するプロセスを完全に深掘りすることは、この入門ガイドの範囲を超えますが、プロセスの味見を以下に示します:

  1. ツールを定義する: ツールの機能を概説することから始めます。必要な入力は何ですか?それが生成する出力は何ですか?
  2. ロジックを実装する: 望ましいタスクを実行するPythonコードを書くことです。これには、AIモデルのAPIを呼び出したり、データを処理したり、外部サービスと対話したりすることが含まれるかもしれません。
  3. guMCPと統合する: guMCPのAPIを使用して、ツールを登録し、MCPを介してアクセス可能にします。これには、ツールの名前、入力パラメータ、出力形式を定義する必要があります。
  4. サーバーを構成する: 新しいツールを含めるために、サーバー構成ファイルを修正します。これにより、MCPサーバーはあなたのツールをロードしてクライアントに公開します。

自分自身のツールを作成することで、guMCPを特定のニーズに合わせて調整し、実際の課題を解決する強力なAI駆動のワークフローを構築できます。

結論:AIオーケストレーションへのあなたの旅が始まります

おめでとうございます!あなたはguMCPを使って自分自身のセルフホスティングされたMCPサーバーを成功裏に構築しました。これは、プロジェクトにおけるAIのフルポテンシャルを解き放つための重要なステップです。

忘れないでください、これはほんの始まりです。guMCPのドキュメントを探索したり、異なるサーバー構成を実験したり、あなた自身のカスタムツールを作成したりしてください。可能性は無限です。

あなたのMCPサーバーをセルフホストすることで、データに対する完全なコントロールを得て、ワークフローをカスタマイズし、AIインフラに関する貴重な経験を得ることができます。AIの風景が進化し続ける中で、MCPとセルフホスティングのしっかりした基盤を持つことは貴重な資産となるでしょう。さあ、前に進んであなたのAIの夢をオーケストレーションしましょう!