Dummy MCP Server について
Dummy MCP Serverは、n8nワークフロー向けの小規模なFastMCPサーバーです。SSEで通信し、`dummy`と`echo`のツールを提供します。`echo`はメッセージを繰り返すストリーミング例です。
主な機能
- 01SSE通信
- 02`dummy`メッセージツール
- 03`echo`ストリーミングツール
- 04Docker Composeによるデプロイ
活用シーン
- 01n8nのMCP Clientノードとの接続
- 02`dummy`によるメッセージ処理のテスト
- 03`echo`によるストリーミング応答のデモ
MCP 対応
`/sse`のSSEエンドポイントを通じて、MCPクライアントに`dummy`と`echo`のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dummy MCP Server
このプロジェクトは、FastMCP フレームワークを使用して構築されたシンプルな MCP(Meta-agent Communication Protocol)サーバーです。サーバーは SSE(Server-Sent Events)を介して通信し、echo ツールと dummy ツールを提供します。
主な技術スタック
- FastAPI:Web フレームワーク(FastMCP の基盤)
- Uvicorn:ASGI サーバー(FastAPI アプリケーションを実行)
- FastMCP:MCP サーバー構築用のフレームワーク(バージョン 1.0.0)
- Docker & Docker Compose:コンテナ化とサービス管理
- Python:主な開発言語
プロジェクト構成
.dummy_mcp_server/
├── app/
│ ├── __init__.py
│ ├── main.py # FastAPI 애플리케이션 및 MCP 서버 설정, 도구 등록
│ └── tools/
│ ├── __init__.py
│ ├── dummy.py # 'dummy' 도구 구현
│ └── echo.py # 'echo' 도구 구현
├── docker-compose.yml # Docker Compose 설정 파일
├── README.md # 이 파일
└── requirements.txt # Python 의존성 목록`
設定と実行
要件
- Docker
- Docker Compose
ローカルでの実行(Docker Compose を使用)
-
リポジトリのクローン(すでにローカルにある場合は省略)
-
Docker イメージのビルドとコンテナの実行: プロジェクトのルートディレクトリで、次のコマンドを実行します。このコマンドは、必要に応じてイメージをビルドし、バックグラウンドでコンテナを起動します。
docker-compose up --build -dサーバーは Docker コンテナ内の
0.0.0.0:8002で実行され、docker-compose.ymlの設定に応じて、ホストマシンのhttp://localhost:8002(または Docker ホスト IP の 8002 ポート)に公開されます。 -
ログの確認:\
docker-compose logs -f dummy_mcp_server -
サーバーの停止:\
docker-compose down
n8n 連携ガイド
dummy-mcp-server を n8n ワークフローと連携するには、次の手順に従ってください。
-
Docker ネットワーク:
dummy-mcp-serverコンテナと n8n コンテナが、同じ Docker ネットワーク環境で実行されている必要があります。これにより、相互に通信できます。- 現在の
docker-compose.ymlはdummy-mcp-serverサービスを作成します。個別のネットワークを指定しない場合、Docker Compose が作成するデフォルトネットワークに接続されます。n8n コンテナもこのネットワークに接続されているか、または両方のコンテナが共有する外部ネットワーク(例:nginx-n8n-net)に接続されている必要があります。 - n8n と
dummy-mcp-serverが同じdocker-compose.ymlファイル内でサービスとして定義されている場合、Docker Compose によって自動的に同じネットワークに配置されるため、サービス名(コンテナ名)で互いを見つけることができます。
-
n8n MCP Client ノードの設定:
- n8n ワークフローに「MCP Client」ノードを追加します。
- SSE Endpoint:次の URL を入力します。
http://dummy-mcp-server:8002/ssedummy-mcp-server:docker-compose.ymlで定義されているサービス名です。Docker 内部 DNS は、この名前をdummy-mcp-serverコンテナの IP に解決します。(n8n が Docker の外部で実行され、dummy-mcp-serverのみが Docker で実行されている場合は、localhostまたは Docker ホストの IP を使用してください:http://localhost:8002/sse)8002:dummy-mcp-serverがリッスンするポートです。/sse:FastMCPライブラリが SSE ストリームに使用するデフォルトのパスです。
- Authentication:現在、
dummy-mcp-serverは認証を使用しないため、「None」に設定します。 - Tools to Include:「All」に設定するか、必要に応じて特定のツールのみを選択できます。
Python の依存関係(requirements.txt)
以下は主な依存関係の一覧です(全一覧は requirements.txt ファイルを参照してください):
fastmcp==1.0.0
httpx>=0.27.0
uvicorn
numpy
fastapi==0.109.2
# python-dotenv (주석 처리됨)
# ... 기타 mcp 및 fastapi 의존성
提供されるツール
サーバーは app/main.py に次の 2 つのツールを登録して提供します。
-
dummyツール- ソースファイル:
app/tools/dummy.py - 説明:入力された文字列のメッセージをコンソールに出力し、成功状態とともに受信したメッセージを返すシンプルな同期ツールです。
- 入力パラメーター:
message(str):ダミーツールが受け取る文字列です。
- 戻り値:
{\"status\": \"success\", \"tool_message\": \"Dummy tool received: [입력된 메시지]\"}
- ソースファイル:
-
echoツール- ソースファイル:
app/tools/echo.py - 説明:SSE ストリーミング機能を実演するサンプルツールです。入力されたメッセージを 3 回繰り返し、各メッセージの間に 1 秒の遅延を入れて、SSE ストリームとして返します。
- 入力パラメーター:
message(str):エコーする文字列です。
- 戻り値:ストリーミング応答の後に
{\"status\": \"Echo stream completed\"}を返します。
- ソースファイル:
MCP サーバー情報
- 名前:Dummy MCP Server
- 説明:FastMCP 1.0.0 with SSE, echo tool, and dummy tool.
- ホスト:
0.0.0.0(Docker コンテナ内) - ポート:
8002(Docker の外部と内部で同じポートをマッピング) - 通信方式:SSE(Server-Sent Events)— デフォルトのエンドポイント
/sseを使用します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。