remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides a module for NestJS to create an MCP (Model Context Protocol) server with Server-Sent Events (SSE) transport, allowing services to be exposed as tools that clients can discover and execute.
Enables sending continuous progress updates from tools to clients, allowing for tracking of long-running operations with percentage completion indicators.
Integrates Zod schema validation for tool requests, enabling type-safe parameter validation for tools exposed through the MCP server.
NestJS MCP サーバーモジュール
**モデル コンテキスト プロトコル (MCP)**を使用して、NestJS アプリケーションから AI 用のツール、リソース、プロンプトを簡単に公開できる NestJS モジュールです。
@rekog/mcp-nest
、MCP サーバーのセットアップに伴う複雑な作業を処理します。NestJS で馴染みのある方法でツール、リソース、プロンプトを定義し、依存性注入の力を最大限に活用して既存のサービスを利用できます。
特徴
- 🚀 HTTP+SSE とストリーミング可能な HTTP トランスポート
- 🔍 自動
tool
、resource
、prompt
検出と登録 - 💯 Zodベースのリクエスト検証
- 📊 進捗通知
- 🔒 ガードベースの認証
- ⏱️ 長時間の接続を維持するための自動 SSE ping
インストール
クイックスタート
1. モジュールのインポート
2. ツールとリソースを定義する
完了です!
APIエンドポイント
GET /sse
: SSE 接続エンドポイント (構成されている場合はガードによって保護されます)POST /messages
: ツール実行エンドポイント (設定によりガードで保護されます)
ヒント
グローバル プレフィックス付きのモジュールを使用することもできますが、次のようにしてそれらのエンドポイントを除外することをお勧めします。
認証
標準の NestJS Guards を使用して MCP エンドポイントを保護できます。
1. ガードを作成する
CanActivate
インターフェースを実装します。ガードはリクエストの検証(JWTやAPIキーのチェックなど)を処理し、必要に応じてユーザー情報をリクエストオブジェクトに添付する必要があります。
特別なことは何もありません。詳細については、NestJS のドキュメントを確認してください。
2. ガードをつける
McpModule.forRoot
設定にガードを渡してください。ガードは/sse
と/messages
両方のエンドポイントに適用されます。
以上です!残りはNestJS Guardsと同じです。
SSE Pingサービス
このモジュールには、ブラウザ/クライアントのタイムアウトを防ぐことで、SSE接続の長時間維持を可能にするSSE pingサービスが含まれています。これは、MCPサーバーをリモートで利用するIDEなどのクライアントにとって特に便利です。
構成
モジュールをインポートするときに、SSE ping の動作を設定できます。
This server cannot be installed
Server-Sent Events トランスポートを備えた MCP サーバーとしてサービスを公開し、クライアントによるツールの検出と実行を容易にする NestJS モジュール。