mcpField
M
mcp-transport-prototype

mcp-transport-prototype

ローカル
github.com/Amishk599開発ツール079 週間前に更新

mcp-transport-prototype について

mcp-transport-prototypeは、stdioとSSEのトランスポートを使った独自MCPサーバーの構築を学ぶためのプロトタイプです。プロセス経由とHTTP経由の通信方式を試す開発者向けです。

主な機能

  1. 01独自MCPサーバーのプロトタイプ
  2. 02stdioトランスポート
  3. 03SSEトランスポート
  4. 04クライアントテストスクリプト

活用シーン

  1. 01MCPトランスポート方式の学習
  2. 02SSE経由でのMCPサーバーのテスト

MCP 対応

stdioとSSEでアクセスできるMCPサーバーの実装例を示します。付属のmcp_client.pyスクリプトでSSEモードをテストできます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

mcp-transport-prototype

stdio および SSE トランスポート経由でアクセスできるカスタム MCP サーバーの構築方法を理解するためのプロトタイプ実装です。ここでは、SSE トランスポートと stdio トランスポートについて理解することを目的としています。

SSE トランスポート

**Server-Sent Events(SSE)**は、HTTP 経由でサーバーからクライアントへリアルタイムの更新をプッシュする、シンプルで効率的な方法です。

  • WebSocket と異なり、SSE は一方向です。サーバーからクライアントへデータをストリーミングできますが、その逆はできません。
  • 標準の HTTP 上で動作し、ライブ更新、通知、ストリーミング応答などの用途に適しています。

stdio と異なり、SSE では MCP サーバーを独立した HTTP サービスとして実行します。そのため、ネットワーク経由でサーバーからストリーミングされた更新を受け取る必要があるウェブダッシュボードやブラウザーベースのアプリなどのユースケースに適しています。

Stdio トランスポート

Stdio(標準入出力の略)は、プログラムがターミナルや接続されたプロセスとの間でデータを読み書きして通信する従来の方法です。

  • stdin(標準入力):入力データを受け取ります。通常はキーボード、ファイル、または別のプログラムから受け取ります。
  • stdout(標準出力):出力データを送信します。通常はターミナルに表示するか、別のプログラムにパイプで渡します。

SSE と比べると、stdio ベースの MCP サーバーはプロセス内のツールに近い感覚で使えます。コマンドラインツール、LLM エージェント、バックグラウンドスクリプトなどから MCP サーバーをサブプロセスとして起動し、ネットワークを使わずに構造化データを効率よく送受信する用途に最適です。

動作を確認する

mcp_client.py は、MCP サーバーを SSE モードでテストするための簡単なスクリプトです。

# Run in Terminal 1
uv run main.py

# Run in Terminal 2
uv run mcp_client.py

コメント

MCP は初めてですか?

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

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