MCP Create Server について
MCP Create Serverは、TypeScriptのサーバーコードを使ってMCPサーバーを動的に作成・管理するサービスです。サーバーを子プロセスとして起動し、MCPクライアントからツールを実行してライフサイクルを管理できます。
主な機能
- 01テンプレートからサーバーを作成
- 02子サーバーのツールを実行
- 03実行中のサーバーを一覧表示
- 04サーバーコードを更新・再起動
- 05不要なサーバーを削除
活用シーン
- 01TypeScriptのMCPサーバーを動的に作成
- 02管理対象サーバーのツールを実行
- 03管理対象サーバーを再起動または削除
MCP 対応
自らMCPサーバーとして動作し、ほかのMCPサーバーを子プロセスとして管理します。MCPクライアントからサーバーの作成、ツール一覧の取得、ツール実行、削除を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Create Server
Model Context Protocol(MCP)サーバーを動的に作成、実行、管理するサービスです。このサービス自体が MCP サーバーとして機能し、ほかの MCP サーバーを子プロセスとして起動・管理することで、柔軟な MCP エコシステムを実現します。
主な機能
- MCP サーバーのコードを動的に作成・実行
- TypeScript のみをサポート(JavaScript と Python のサポートは今後のリリースで予定)
- 子 MCP サーバー上でのツール実行
- サーバーコードの更新と再起動
- 不要なサーバーの削除
インストール
注:このサービスの実行には Docker の使用を推奨します
Docker を使用したインストール(推奨)
# Build Docker image
docker build -t mcp-create .
# Run Docker container
docker run -it --rm mcp-create
手動インストール(TypeScript のみ)
# Clone repository
git clone https://github.com/tesla0225/mcp-create.git
cd mcp-create
# Install dependencies
npm install
# Build
npm run build
# Run
npm start
Claude Desktop との連携
Claude Desktop の設定ファイル(claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"mcp-create": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp-create"]
}
}
}
利用可能なツール
| ツール名 | 説明 | 入力パラメーター | 出力 |
|---|---|---|---|
| create-server-from-template | テンプレートから MCP サーバーを作成 | language: string | { serverId: string, message: string } |
| execute-tool | サーバー上でツールを実行 | serverId: string toolName: string args: object | ツールの実行結果 |
| get-server-tools | サーバーのツール一覧を取得 | serverId: string | { tools: ToolDefinition[] } |
| delete-server | サーバーを削除 | serverId: string | { success: boolean, message: string } |
| list-servers | 実行中のサーバー一覧を取得 | なし | { servers: string[] } |
使用例
新しいサーバーの作成
{
"name": "create-server-from-template",
"arguments": {
"language": "typescript"
}
}
ツールの実行
{
"name": "execute-tool",
"arguments": {
"serverId": "ba7c9a4f-6ba8-4cad-8ec8-a41a08c19fac",
"toolName": "echo",
"args": {
"message": "Hello, dynamic MCP server!"
}
}
}
技術仕様
- Node.js 18 以降
- TypeScript(必須)
- 依存関係:
- @modelcontextprotocol/sdk:MCP クライアント/サーバーの実装
- child_process(Node.js 組み込み):子プロセスの管理
- fs/promises(Node.js 組み込み):ファイル操作
- uuid:一意のサーバー ID の生成
セキュリティに関する考慮事項
- コード実行の制限: 任意のコードを実行するため、サンドボックス化を検討してください
- リソースの制限: メモリ、CPU 使用率、ファイル数などに上限を設定してください
- プロセスの監視: ゾンビプロセスや暴走プロセスを監視し、強制終了してください
- パスの検証: ディレクトリトラバーサル攻撃を防ぐため、ファイルパスを適切に検証してください
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。