MCP Boilerplate

MIT License
1
2

Integrations

  • Allows loading environment variables from a .env file for server configuration, including port, API key, and host settings.

  • Provides development mode with automatic server restarting for a smoother development experience.

  • Enables production deployment with process management capabilities for improved stability and monitoring.

MCP 定型句: モデルコンテキストプロトコルサーバー

このサーバーは、モデルコンテキストプロトコル(MCP)をグローバルなボイラープレートとして実装しています。モデルコンテキストプロトコルを使用して、AIモデルをさまざまなデータソースやツールに接続するための標準化された方法を提供します。

特徴

  • MCP Server-Sent Events (SSE)トランスポートを実装します
  • カスタムMCPサーバーを構築するための堅牢な構造を提供します
  • 適切な型定義を持つサンプルツールが含まれています
  • APIキーによる安全な認証
  • 異なる重大度レベルのログ機能
  • 複数のクライアント接続のセッション管理
  • SIGINTおよびSIGTERMシグナルの正常なシャットダウン処理

ツール

現在、サーバーには次のサンプル ツールが含まれています。

  • calculator :基本的な算術演算(加算、減算、乗算、除算)を実行します

独自のカスタム ツールを追加する方法については、 「ボイラープレートの拡張」セクションを参照してください。

構成

サーバー設定はsrc/config.tsに集約されています。これにより、複数のファイルを変更することなく設定を簡単に調整できます。

// Essential configuration options export const config = { server: { name: "mcp-boilerplate", version: "1.0.0", port: parseInt(process.env.PORT || "4005"), host: process.env.HOST || "localhost", apiKey: process.env.API_KEY || "dev_key", }, sse: { // How often to send keepalive messages (in milliseconds) keepaliveInterval: 30000, // Whether to send ping events in addition to comments usePingEvents: true, // Initial connection message sendConnectedEvent: true, }, tools: { // Number of retries for failed tool executions maxRetries: 3, // Delay between retries (in milliseconds) retryDelay: 1000, // Whether to send notifications about tool execution status sendNotifications: true, }, logging: { // Default log level defaultLevel: "debug", // How often to send log messages (in milliseconds) logMessageInterval: 10000, }, };

SSEタイムアウトのトラブルシューティング

MCP 接続で「Body timeout error」が発生する場合:

  1. keepaliveIntervalを減らして、キープアライブメッセージをより頻繁に送信します(例:15000ms)
  2. 接続の安定性を高めるために、 usePingEventsが有効になっていることを確認してください。
  3. プロキシサーバーを使用している場合は、プロキシのタイムアウトを確認してください。

設定

  1. 依存関係をインストールします:
npm install
  1. 次の変数を含む.envファイルを作成します。
PORT=4005 API_KEY=your_api_key
  1. プロジェクトをビルドします。
npm run build
  1. サーバーを起動します。
npm run start:sse

発達

# Start in development mode with hot reloading npm run start # Start with PM2 for production npm run start:pm2 # Development mode with nodemon npm run dev

APIエンドポイント

  • /health : サーバーの状態とバージョンを返すヘルスチェックエンドポイント
  • /sse : MCP 接続を確立するための SSE エンドポイント (API キーが必要)
  • /messages : クライアント・サーバー間通信のメッセージ処理エンドポイント

MCP構成

MCP をこのサーバーに接続するには、次の構成を追加します。

{ "mcpServers": { "mcp-server": { "url": "http://localhost:4005/sse?API_KEY={{your_api_key_here}}" } } }

定型句の拡張

カスタムツールの追加

MCP サーバーに新しいツールを追加するには、次の手順に従います。

  1. ツールハンドラーを作成します:
    • 新しいツールハンドラーをsrc/tools.tsファイルに追加するか、 src/toolsディレクトリに新しいファイルを作成します。
    • ツールはToolHandlerインターフェースに従う必要があります
  2. ツールを設定します:
    • src/tools.tstoolConfigs配列にツール設定を追加します。
    • ツールの名前、説明、入力スキーマ、ハンドラーを定義します
  3. ツールをエクスポートして登録します:
    • 別のファイルを作成した場合は、ハンドラーをエクスポートしてsrc/tools.tsにインポートします。
    • ツールがtoolConfigs配列に正しく登録されていることを確認してください

例:

// In src/tools.ts (adding directly to the toolConfigs array) { name: "myTool", description: "My tool description", inputSchema: { type: "object" as const, properties: {}, required: [], }, handler: async () => { return createSuccessResult({ result: "Tool result" }); }, }

エラー処理

サーバーは包括的なエラー処理を実装します。

  • すべての操作はtry/catchブロックで囲まれています
  • パラメータと入力の適切な検証
  • デバッグを容易にするための適切なエラーメッセージ
  • 標準化されたエラーおよび成功応答を作成するためのヘルパー関数

セキュリティに関する考慮事項

  • すべての接続に対するAPIキー認証
  • すべてのパラメータの型検証
  • ハードコードされた機密情報はありません
  • 情報漏洩を防ぐための適切なエラー処理
  • セッションベースのトランスポート管理

MCPプロトコルの機能

この定型文は、MCP のコア機能をサポートします。

  • ツール: 適切なパラメータ検証を使用してツールを一覧表示および呼び出します
  • ログ記録: さまざまな重大度レベル (デバッグ、情報、通知、警告、エラー、重大、アラート、緊急)
  • サーバー構成: 名前、バージョン、機能

セッション管理

サーバーは以下を通じてクライアント セッションを管理します。

  • 各クライアント接続に固有のセッションID
  • セッションIDによるアクティブトランスポートの追跡
  • 切断されたセッションの自動クリーンアップ
  • 接続ステータスの追跡

追加リソース

ライセンス

このプロジェクトはMIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

モデル コンテキスト プロトコルを実装し、AI モデルをさまざまなデータ ソースやツールに接続するための標準化された方法を提供するサーバー。

  1. 特徴
    1. ツール
      1. 構成
        1. SSEタイムアウトのトラブルシューティング
      2. 設定
        1. 発達
          1. APIエンドポイント
            1. MCP構成
              1. 定型句の拡張
                1. カスタムツールの追加
              2. エラー処理
                1. セキュリティに関する考慮事項
                  1. MCPプロトコルの機能
                    1. セッション管理
                      1. 追加リソース
                        1. ライセンス

                          Related MCP Servers

                          • A
                            security
                            F
                            license
                            A
                            quality
                            A Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.
                            Last updated -
                            25
                            14
                            • Apple
                            • Linux
                          • -
                            security
                            F
                            license
                            -
                            quality
                            A server that enables AI systems to browse, retrieve content from, and interact with web pages through the Model Context Protocol.
                            Last updated -
                          • A
                            security
                            F
                            license
                            A
                            quality
                            A Model Context Protocol server implementation that provides structured, AI-friendly access to eRegulations data, making it easier for AI models to answer user questions about administrative procedures.
                            Last updated -
                            4
                            28
                            TypeScript
                            • Linux
                            • Apple
                          • -
                            security
                            A
                            license
                            -
                            quality
                            A Model Context Protocol server that provides a standardized interface for AI models to access, query, and modify content in Notion workspaces.
                            Last updated -
                            275
                            2
                            TypeScript
                            MIT License
                            • Apple

                          View all related MCP servers

                          ID: hvby5vclw6