mcpField
M
MCP Server

MCP Server

ローカル
github.com/zack-dev-cm開発ツール03 週間前に更新

MCP Server について

モックツール、プラグイン、任意で使える Gradio プレイグラウンドを備えた、開発者向けの最小構成の MCP リファレンスサーバーです。ローカルまたは Google Colab で動作し、OpenAI のチャットと画像認識プラグインの例を含みます。

主な機能

  1. 01モック MCP ツール
  2. 02任意で使える Gradio プレイグラウンド
  3. 03プラグインによるツール拡張
  4. 04OpenAI のチャット・画像認識例
  5. 05ローカルと Colab での起動

活用シーン

  1. 01MCP サーバーの動作確認
  2. 02ビジュアル画面でのツール試用
  3. 03モデルプラグインによるサーバー拡張

MCP 対応

統一された `/mcp` エンドポイントで MCP を実装し、POST の JSON-RPC と GET の Server-Sent Events に対応します。MCP クライアントからツールを呼び出し、リソースにアクセスできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP サーバー

いくつかのモックツールと、オプションの Gradio プレイグラウンドを備えた、Model Context Protocol(MCP)の最小限のリファレンス実装です。

Colab で開く

使用方法

サーバーをローカルで実行します。

python server.py

dev.env ファイルを作成し、OpenAI API キーを追加します。

OPENAI_API_KEY=your-openai-key

Google Colab またはその他のノートブック内では、ヘルパーを使用します。

from colab_adapter import launch_in_colab
launch_in_colab()

API はデフォルトでポート 8000 で提供され、Gradio UI は GRADIO_SERVER_PORT または 7860 から始まる最初の空きポートを使用します。

Google Colab で実行する

Colab で MCP_colab.ipynb を開くか、上のバッジをクリックしてセルを実行します。

空のノートブックから始める場合は、次のコマンドを実行してサーバーをセットアップし、起動します。

!git clone https://github.com/zack-dev-cm/mcp_server.git
%cd /content/mcp_server
!pip install fastapi uvicorn[standard] gradio==4.* pydantic python-dotenv \
            httpx openai pydantic-settings
from colab_adapter import launch_in_colab
launch_in_colab()

これで、別のセルから API にクエリを送信できます。

import requests, time
time.sleep(2)
print(requests.get("http://localhost:8000/v1/resources").json())

サーバーの出力に Gradio インターフェースの公開 URL が表示されるので、デモを視覚的に試すことができます。

LLM/VLM プラグインの例

プラグインを使うと、サーバーに新しいツールを追加できます。付属の openai_chat および openai_vision プラグインは、OpenAI モデルの呼び出し方法を示しています。環境に OPENAI_API_KEY を設定して、サーバーを起動します。

ローカルで実行する場合は、まず必要なパッケージをインストールします。

pip install openai httpx pydantic-settings
python server.py

Dockerfile は openai を自動的にインストールします。API または Gradio UI を介して、openai.chat または openai.vision ツールを呼び出します。

Streamable HTTP エンドポイント

ChatGPT コネクターは、統一された /mcp ルートを使ってサーバーに直接接続できます。 標準の JSON 応答を受け取るには、POST /mcp で JSON-RPC リクエストを送信します。クライアントが Server-Sent Events に対応している場合は、代わりに GET /mcp を実行して接続を開いたままにし、更新をストリーミングできます。

ChatGPT コネクターがサーバーのベース URL を参照し、ストリーミングなしとストリーミングの両方のやり取りに /mcp エンドポイントを使用するよう設定します。

ユーザーデータ API

認証済みのセッションでは、ユーザー固有の JSON ペイロードを保存・管理できます。 まずセッション ID をリクエストし、それをベアラートークンとして渡します。

# create a session and grab the token
TOKEN=$(curl -s -X POST http://localhost:8000/v1/initialize \
  -H 'Content-Type: application/json' \
  -d '{"id":1,"jsonrpc":"2.0","method":"initialize","params":{}}' \
  | jq -r '.result.sessionId')

# store data
curl -X POST http://localhost:8000/api/user/data \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"foo":"bar"}'

# fetch it back
curl -H "Authorization: Bearer $TOKEN" http://localhost:8000/api/user/data

# remove it
curl -X DELETE -H "Authorization: Bearer $TOKEN" \
  http://localhost:8000/api/user/data

Cloud Run へのデプロイ

付属の Dockerfile を使って、Google Cloud Run にサーバーをデプロイできます。

# build and push the container
gcloud builds submit --tag gcr.io/PROJECT_ID/mcp-server

# deploy the image to Cloud Run
gcloud run deploy mcp-server \
  --image gcr.io/PROJECT_ID/mcp-server \
  --region REGION \
  --allow-unauthenticated

Cloud Run は環境変数 PORT を自動的に設定し、サーバーはこれを使って同じエンドポイントで API と Gradio UI の両方を公開します。

テストの実行

テストスイートでは、ELEVENLABS_MCP_SECRET と OPENAI_API_KEY の両方が設定されている必要があります。dev.env をコピーして読み込んでから、pytest を実行します。

cp dev.env .env
set -a && source .env && set +a
pytest

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。