boot-mcp について
boot-mcpは、MCPアプリケーションを開発するTypeScript開発者向けのスターターテンプレートです。リソース、ツール、プロンプト、Roots、トランスポート、実験的なSamplingのサーバー例を含み、STDIOとHTTP/SSEに対応します。
主な機能
- 01STDIOとHTTP/SSEの例
- 02テキストとバイナリーのリソース
- 03ツールとプロンプトの例
- 04Roots管理とURI検証
- 05実験的なSamplingの例
活用シーン
- 01TypeScript製MCPサーバープロジェクトの開始
- 02STDIOとHTTP/SSEの実装を参照
- 03リソースとツールを備えたサーバーの構築
- 04Samplingとエージェントワークフローの検討
MCP 対応
リソース、ツール、プロンプト、Roots、Samplingを扱うMCPサーバー実装例を提供し、STDIOとHTTP/SSEのトランスポートを備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
boot-mcp
TypeScript で Model Context Protocol(MCP)アプリケーションを構築するための、包括的なスターターテンプレートです。
MCP とは?
Model Context Protocol(MCP)を使うと、LLM アプリケーションにデータと機能を安全かつ標準化された方法で公開するサーバーを構築できます。LLM とのやり取りに特化して設計された Web API のようなものと考えてください。MCP サーバーでは、次のことができます。
- リソース を通じてデータを公開する(GET エンドポイントのようなもので、LLM のコンテキストに情報を読み込むために使用されます)
- ツール を通じて機能を提供する(POST エンドポイントのようなもので、コードを実行したり、それ以外の副作用を発生させたりするために使用されます)
- プロンプト を通じてインタラクションパターンを定義する(LLM とのやり取りに使える再利用可能なテンプレートです)
- ルート を使って境界を設定する(サーバーの運用範囲を定義します)
- サンプリング によってエージェントの動作を可能にする(サーバーが LLM に補完をリクエストできるようにします)
- トランスポート を介して接続を確立する(クライアントとサーバー間の通信メカニズムです)
インストール
# npm
npm install
# pnpm
pnpm install
# yarn
yarn install
クイックスタート
このテンプレートには、異なるトランスポートを使用する MCP サーバーのサンプルが含まれています。
- Stdio トランスポート(コマンドラインツールや直接的な連携向け)
- SSE トランスポートを使う HTTP(リモートサーバー向け)
サンプルサーバーの実行
# Start the stdio server
pnpm start:basic
# Start the HTTP server
pnpm start:http
プロジェクト構成
boot-mcp/
├── src/
│ ├── index.ts # Main entry point
│ ├── server/ # MCP server implementations
│ │ ├── basic.ts # Basic server with common functionality
│ │ └── http.ts # HTTP with SSE transport server
│ ├── resources/ # Resource implementations
│ │ └── index.ts # Common resource types and utilities
│ ├── tools/ # Tool implementations
│ │ └── index.ts # Various tools organized by category
│ ├── prompts/ # Prompt implementations
│ │ └── index.ts # Common prompt templates and workflows
│ ├── roots/ # Root management
│ │ └── index.ts # Root definition and utilities
│ ├── transports/ # Transport implementations
│ │ └── index.ts # Stdio and HTTP/SSE transports
│ └── sampling/ # Sampling utilities (experimental)
│ └── index.ts # LLM sampling capabilities
├── examples/ # Example usage
│ ├── basic-server.ts # Basic stdio server example
│ └── http-server.ts # HTTP server example
└── test/ # Tests
機能
リソース
- テキストとバイナリのリソースをサポート
- パラメーターを使った動的なリソーステンプレート
- 標準的なリソースタイプ(ファイル、システム情報など)
- リソースコンテンツのヘルパー
ツール
- システム操作ツール(コマンドの実行、ファイルの読み取りなど)
- データ処理ツール(JSON の解析、CSV の分析など)
- ユーティリティツール(乱数生成、文字列変換など)
- 電卓および基本的なツール
プロンプト
- シンプルなあいさつとテキスト処理のプロンプト
- 言語検出機能付きのコードレビュー用プロンプト
- 複数ステップのデバッグワークフロー
- リソースベースのプロンプトテンプレート
ルート
- ファイルシステムのルート管理
- URI の検証とフィルタリング
- 標準的なルートテンプレート
トランスポート
- ターミナルアプリケーション向けの Stdio トランスポート
- Web アプリケーション向けの HTTP/SSE トランスポート
- 統一された設定インターフェース
サンプリング(実験的)
- テキスト補完リクエスト
- 会話ベースのサンプリング
- モデルの優先設定
- エージェントのワークフロー例
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。