Hello World MCP Server について
MCP を学習・テストする開発者向けの TypeScript 製 MCP サーバーのサンプルです。リソース、プロンプト、ツールと SSE・STDIO トランスポートを実演します。
主な機能
- 01SSE・STDIO トランスポート
- 02静的・動的リソース
- 03サンプルプロンプト
- 04エコー・デバッグツール
活用シーン
- 01MCP サーバーの基本構造の学習
- 02MCP Inspector でのリソース閲覧とツール呼び出し
MCP 対応
MCP クライアントに静的・動的リソース、プロンプト、エコーツール、デバッグツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Hello World MCP Server
TypeScript で構築された、シンプルな Model Context Protocol(MCP)サーバーの実装です。このサーバーでは、リソース、プロンプト、ツールなどの基本的な MCP 機能を紹介します。
機能
- SSE および STDIO トランスポートをサポート
- 静的および動的リソースの処理
- プロンプトの実装例
- メッセージをエコーするツールの例
- サーバーの内部情報を調べるデバッグツール
はじめに
前提条件
- Node.js(v16 以降)
- npm または yarn
インストール
npm install
ビルド
npm run build
サーバーの実行
HTTP/SSE トランスポート(ウェブブラウザー)
npm run start:http
次のエンドポイントを備えたサーバーが http://localhost:3000 で起動します。
- SSE エンドポイント:
/sse - メッセージエンドポイント:
/messages
STDIO トランスポート(コマンドライン)
npm run start
コマンドラインとの統合向けに、サーバーを stdio モードで実行します。
サーバーのテスト
cURL を使ったテスト
-
HTTP サーバーを起動します。
npm run start:http -
ターミナルウィンドウで、SSE エンドポイントに接続します。
curl -N http://localhost:3000/sse次のような応答が表示されます。
event: endpoint data: /messages?sessionId=YOUR_SESSION_ID -
別のターミナルウィンドウで、echo ツールを呼び出すリクエストを送信します。
curl -X POST \ "http://localhost:3000/messages?sessionId=YOUR_SESSION_ID" \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/invoke", "params": { "name": "echo", "parameters": { "message": "Testing the MCP server!" } } }' -
SSE を実行しているターミナルウィンドウに応答が表示されます。
event: message data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"Hello Testing the MCP server!"}]}} -
デバッグツールを試して、利用可能なサーバーメソッドを確認します。
curl -X POST \ "http://localhost:3000/messages?sessionId=YOUR_SESSION_ID" \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/invoke", "params": { "name": "debug", "parameters": {} } }'
MCP Inspector を使ったテスト
視覚的なインターフェースを使うには、MCP Inspector ツールを利用できます。
- MCP Inspector で http://localhost:3000/sse に接続します
- 利用可能なリソースとツールを確認します
- ツールを対話形式で呼び出します


サーバー API
リソース
hello://world- 静的な hello world リソースgreeting://{name}- 名前パラメーターを使った動的なあいさつ
ツール
echo- 「Hello」を先頭に付けてメッセージをエコーしますdebug- 利用可能なすべてのツールとメソッドを一覧表示します
プロンプト
helpful-assistant- 基本的なお役立ちアシスタント向けプロンプト
トラブルシューティング
- 「Headers already sent」エラーが発生する場合は、ヘッダーを手動で設定していないことを確認してください
- 適切なメッセージルーティングには、セッション ID の処理が不可欠です
- デバッグ情報はサーバーコンソールで確認してください
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。