mcpField
M
MCP Server Template (

MCP Server Template (

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

MCP Server Template ( について

MCP Server Template(`create-mcp-server`)は、MCPサーバーを開発する人向けにTypeScriptプロジェクトのひな形を作成します。プロジェクトのファイルとメタデータを初期化し、ツール、サービス、設定、型を整理した構成を用意します。

主な機能

  1. 01npxによるプロジェクト作成
  2. 02プロジェクト情報の対話入力
  3. 03テンプレートファイルと設定のコピー
  4. 04プロジェクトメタデータの更新
  5. 05ツールとサービスの構成整理

活用シーン

  1. 01新しいMCPサーバープロジェクトの開始
  2. 02ツールとサービスのモジュール設定
  3. 03開発中のサーバーのビルドと実行

MCP 対応

ツール定義と登録を含む、MCPサーバー構築用のひな形を提供します。生成されたプロジェクトには開発用コマンドと、本番向けのビルド・起動コマンドがあります。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"custom-mcp-template": {
"command": "npx",
"args": [
"-y",
"create-mcp-server"
]
}
}
}
起動コマンドnpx -y create-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmcreate-mcp-server

ツール

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

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

詳細

MCP サーバーテンプレート(create-mcp-server)

このテンプレートを使うと、推奨されるプラクティスに基づいて、新しい Model Context Protocol(MCP)サーバープロジェクトをすばやく作成できます。

使用方法(新しいサーバーの作成)

my-new-mcp-server という名前の新しい MCP サーバープロジェクトを作成するには、npx を使って次のコマンドを実行します。

npx create-mcp-server my-new-mcp-server

(注:このパッケージを npm に公開していない場合は、まずこのテンプレートディレクトリで npm link を実行してから、create-mcp-server my-new-mcp-server を使う必要がある場合があります。)

これにより、次の処理が行われます。

  1. my-new-mcp-server という名前の新しいディレクトリを作成します。
  2. プロジェクトの詳細(名前、説明)を入力するよう求められます。
  3. テンプレートファイル(src、docs、設定ファイルなど)を新しいディレクトリにコピーします。
  4. プロジェクトの詳細に合わせて package.json を更新します。

初期化後は、ターミナルに表示される手順に従ってください。

cd my-new-mcp-server
npm install
# Review configuration in src/config/ConfigurationManager.ts
# Add your tools in src/tools/
# Add your services in src/services/
npm run dev  # Start the development server

このテンプレートの開発(上級者向け)

このセクションでは、mcp-server-template 自体 の構造と開発プロセスについて説明します。このテンプレートを使って独自のサーバーを作成するだけの場合、通常はこのセクションを読む必要はありません。

プロジェクト構成
  • /src:すべてのソースコードが含まれます。
    • /config:設定管理(ConfigurationManager)。
    • /services:中核となるビジネスロジックのクラス。
    • /tools:MCP ツールの定義とアダプター(*Tool.ts、*Params.ts)。
    • /types:TypeScript のインターフェースと Zod スキーマ。
    • /utils:共有ユーティリティ関数(ログ記録、エラー処理など)。
    • initialize.ts:サーバーインスタンスの作成とツールの登録。
    • server.ts:アプリケーションのメインエントリーポイント。
  • /dist:コンパイル済み JavaScript の出力先(pm run build によって生成)。
  • package.json:プロジェクトのメタデータと依存関係。
  • sconfig.json:TypeScript コンパイラーのオプション。
  • .eslintrc.json:ESLint の設定。
  • .prettierrc.json:Prettier の設定。
  • .gitignore:Git の除外ルール。

はじめに

  1. 依存関係をインストールする: ash npm install
  2. Husky を設定する(必要な場合、初回のみ): ash npx husky install
  3. 開発モードで実行する:(自動再読み込みに s-node と odemon を使用します) ash npm run dev
  4. 本番用にビルドする: ash npm run build
  5. 本番ビルドを実行する: ash npm start

新しいツール(yourTool)の追加

  1. 型を定義する: インターフェース(例:YourServiceConfig、YourServiceData)を含む src/types/yourServiceTypes.ts を作成します。src/types/index.ts からエクスポートします。
  2. サービスを実装する: 中核となるロジッククラスを含む src/services/YourService.ts を作成します。src/services/index.ts からエクスポートします。
  3. ツールのパラメーターを定義する: TOOL_NAME、TOOL_DESCRIPTION、TOOL_PARAMS(詳細な .describe() 呼び出しを使った Zod スキーマ)を含む src/tools/yourToolParams.ts を作成します。
  4. ツールの登録処理を実装する: src/tools/yourTool.ts を作成します。サービスとパラメーターをインポートします。サービスをインスタンス化し、入力を検証してサービスを呼び出し、出力を整形し、エラーを処理(McpError にマッピング)する非同期ハンドラーを指定して server.tool() を呼び出す関数を作成します。
  5. ツールを登録する: src/tools/index.ts から登録関数をインポートし、 egisterTools 関数内で呼び出します。
  6. 設定を追加する: 必要に応じて src/config/ConfigurationManager.ts を更新し、新しいサービスの設定型、デフォルト値、ゲッター、更新関数を追加します。
  7. ユーティリティを追加する: 必要に応じて src/utils/ にヘルパー関数を追加し、エクスポートします。
  8. テストを作成する: src/services/ にサービスロジックの単体テストを追加し、必要に応じて src/tools/ にツールアダプターの統合テストを追加します。

リントとフォーマット

  • リント: pm run lint
  • フォーマット: pm run format

コミット時に、Husky と lint-staged によってコードのリントとフォーマットが自動的に実行されます。

コメント

MCP は初めてですか?

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

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