mcp_server_generator について
mcp_server_generatorは、検証済みスキーマからTypeScript、Python、JavaのMCPサーバーコードを生成する開発者向けオープンソースライブラリです。ツール、リソース、プロンプト、トランスポートを備えたモジュール構成を出力します。
主な機能
- 01TypeScript、Python、Javaのサーバー生成
- 02ツール、リソース、プロンプト、トランスポートの作成
- 03モジュール化されたコードベースの出力
- 04SDK準拠のディレクトリ構成
- 05Claude Desktopとの連携
活用シーン
- 01検証済みスキーマからのMCPサーバー作成
- 02コマンドライン実行向けサーバーコードの生成
- 03Claude Desktop連携用サーバーの準備
MCP 対応
MCPクライアントにツール、リソース、プロンプトを提供するMCPサーバーコードを生成します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp_server_generator
はじめに
mcp_server_generatorは、検証済みのスキーマを使用して、Node.js、Python、またはJavaの完全なMCPサーバーのコードベースを自動生成するために設計されたオープンソースライブラリです。生成されるサーバーには、CLIでの実行やClaude Desktopとの連携にすぐに使えるモジュール式ファイルが含まれます。このツールを使うことで、ジェネレーターが定型コードの生成とベストプラクティスへの準拠を担い、開発者はアプリケーションロジックに専念できます。
機能
- 複数言語のサポート:TypeScript(Node.js)、Python、Javaの出力をサポートします。
- ツールの作成:サーバーに必要なツール、リソース、プロンプト、トランスポートを生成します。
- モジュール式のコードベース:簡単に参照・拡張できる、構造化されたモジュール式のコードベースを出力します。
- すぐに実行できるサーバー:最小限の設定で使える、完全に機能するサーバーを提供します。
- Claude Desktopとの互換性:生成される構成がClaude Desktopとの連携に対応していることを保証します。
- SDK準拠のディレクトリ構成:ディレクトリ構成に関するSDK準拠のベストプラクティスに従います。
インストール手順
Node.js(TypeScript)
TypeScriptプロジェクトにmcp_server_generatorをインストールするには、npmを使用します。
npm install mcp_server_generator --save-dev
Python
Pythonプロジェクトでは、pipを使用してライブラリをインストールできます。
pip install mcp-server-generator
Java
Mavenを使用している場合は、Javaプロジェクトのpom.xmlに次の依存関係を追加します。
<dependency>
<groupId>com.github.yourusername</groupId>
<artifactId>mcp_server_generator</artifactId>
<version>1.0.0</version>
</dependency>
カスタムMavenサーバーでホストされている場合は、pom.xmlに正しいリポジトリが設定されていることを確認してください。
使用例
Node.js(TypeScript)
import { generateServer } from 'mcp_server_generator';
const schema = {
// Your validated schema here
};
generateServer(schema, 'node', './output')
.then(() => console.log('Server generated successfully!'))
.catch(err => console.error('Error generating server:', err));
Python
from mcp_server_generator import generate_server
schema = {
# Your validated schema here
}
generate_server(schema, 'python', './output')
print("Server generated successfully!")
Java
import com.github.yourusername.mcp_server_generator.McpServerGenerator;
public class Main {
public static void main(String[] args) {
try {
Map<String, Object> schema = new HashMap<>();
// Populate your validated schema here
McpServerGenerator.generateServer(schema, "java", "./output");
System.out.println("Server generated successfully!");
} catch (Exception e) {
System.err.println("Error generating server: " + e.getMessage());
}
}
}
APIドキュメント
generateServer関数
Node.js/TypeScript
generateServer(schema: object, language: 'node' | 'python' | 'java', outputDir: string): Promise<void>
schema:サーバーの生成に使用する検証済みのスキーマです。language:対象のプログラミング言語(node、python、またはjava)です。outputDir:生成されたファイルを配置するディレクトリです。
Python
generate_server(schema: dict, language: str, output_dir: str) -> None
schema:検証済みのスキーマを表す辞書です。language:対象のプログラミング言語(node、python、またはjava)です。output_dir:生成されたファイルを配置するディレクトリを指定する文字列です。
Java
public static void generateServer(Map<String, Object> schema, String language, String outputDir) throws Exception
schema:検証済みのスキーマを含むマップです。language:対象のプログラミング言語(node、python、またはjava)です。outputDir:生成されたファイルを配置するディレクトリです。
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。
ぜひこのライブラリに貢献して、より良いものにしてください!
⚠️ 開発状況
このライブラリは現在、開発初期段階です。次の問題により、一部のテストが失敗する場合があります。
これらの問題の修正への貢献を歓迎します。解決策をお持ちの場合は、プルリクエストを送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。