mcpField
S
Spring MCP Bridge

Spring MCP Bridge

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

Spring MCP Bridge について

Spring MCP BridgeはSpring BootプロジェクトのRESTエンドポイントを解析し、既存APIへリクエストを転送するPython/FastAPIのMCPサーバーを生成します。元のプロジェクトを変更せずにJava APIをMCPクライアントへ公開したい開発者向けです。

主な機能

  1. 01RESTコントローラーとエンドポイントの解析
  2. 02パラメーター、モデル、戻り値の抽出
  3. 03Java型からJSON Schemaへの変換
  4. 04Python/FastAPIサーバーの生成
  5. 05Javadocからツール説明を作成
  6. 06READMEと利用手順の生成

活用シーン

  1. 01既存のSpring Boot API向けMCPサーバーの生成
  2. 02APIエンドポイントをMCPクライアントから呼び出す
  3. 03既存のJavadocを使ったツール説明の作成

MCP 対応

生成されたサーバーはMCP呼び出しをSpring RESTリクエストに対応付け、Spring Bootアプリケーションへ転送します。互換クライアント向けにMCPスキーマを提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Spring MCP Bridge

License Python Spring

Spring MCP Bridgeは、Spring Boot アプリケーションの REST エンドポイントを MCP(Message Conversation Protocol)サーバーに自動変換するツールです。Claude、Cursor などの AI アシスタントや、その他の MCP 互換ツールが API と直接やり取りできるようにします。

*現在、認証には対応していません。Spring Boot API で認証が必要な場合は、適切なヘッダーやトークンを含めるようにハンドラーコードを変更する必要があります。

📖 概要

既存の API を AI アシスタントと連携するには、通常、手作業でのコーディングや複雑な設定が必要です。Spring MCP Bridge は、Spring Boot プロジェクトを自動的にスキャンし、そのまますぐに使える MCP サーバーを生成することで、この複雑さを解消します。

✨ 機能
  • 自動スキャン:すべての REST エンドポイント(@RestController、@GetMapping など)を検出します
  • 設定不要:既存の Spring Boot コードを変更する必要はありません
  • モデルの保持:リクエストモデルとレスポンスモデルを MCP ツールとして維持します
  • Javadoc の抽出:既存のドキュメントを使用して MCP ツールの説明を充実させます
  • 完全なドキュメント:README と明確な使用手順を生成します

🚀 インストール

# Clone the repository
git clone https://github.com/brunosantos/spring-mcp-bridge.git

# Enter the directory
cd spring-mcp-bridge

🛠️ 使用方法

  1. Spring Boot プロジェクトをスキャンします:
python spring_boot_mcp_converter.py --project /path/to/spring-project --output ./mcp_server --name MyAPI
  1. 生成された MCP サーバーを実行します:
cd mcp_server
pip install -r requirements.txt
python main.py
  1. MCP クライアントで接続します:
    • MCP クライアント(Claude、Cursor など)が http://localhost:8000 を使用するように設定します
    • MCP スキーマは http://localhost:8000/.well-known/mcp-schema.json で利用できます

📋 引数

引数説明デフォルト値
--projectSpring Boot プロジェクトのパス(必須)
--output出力ディレクトリ./mcp_server
--nameアプリケーション名SpringAPI
--debugデバッグログを有効にするFalse

💻 例

python spring_mcp_bridge.py --project ~/projects/my-spring-api --output ./mcp_server --name MyAPI

このツールは次の処理を行います:

  1. Spring Boot プロジェクトをスキャンして REST コントローラーを検出します
  2. モデルの型、パラメーター、戻り値の型を識別します
  3. Python/FastAPI で完全に機能する MCP サーバーを生成します
  4. すべてのエンドポイントを記述した、互換性のある MCP スキーマを作成します

🔄 動作の仕組み

  1. スキャン:Java ソースコードを解析し、REST エンドポイントからメタデータを抽出します
  2. 変換:MCP との互換性を保つため、Java の型を JSON Schema の型に変換します
  3. 生成:MCP 呼び出しを Spring REST 呼び出しにマッピングする FastAPI アプリケーションを作成します
  4. 転送:MCP クライアントから Spring Boot アプリケーションへリクエストをルーティングします

🔍 対応している Spring Boot の機能

  • REST コントローラー(@RestController、@Controller)
  • HTTP メソッド(@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping)
  • リクエストパラメーター(@RequestParam)
  • パス変数(@PathVariable)
  • リクエストボディ(@RequestBody)
  • Java のモデルと DTO

⚙️ 設定

生成された MCP サーバーは、main.py ファイルを編集して設定できます:

# The Spring Boot base URL - modify this to match your target API
SPRING_BASE_URL = "http://localhost:8080"

🧪 テスト

MCP サーバーをテストするには:

  1. Spring Boot アプリケーションが実行中であることを確認します
  2. MCP サーバーを起動します
  3. http://localhost:8000/docs にアクセスして FastAPI ドキュメントを確認します
  4. http://localhost:8000/.well-known/mcp-schema.json で MCP スキーマを確認します
  5. Claude などの MCP クライアントで接続します

🤝 貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

📄 ライセンス

このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。

👨‍💻 作者

Bruno Santos

🙏 謝辞

  • FastAPI-MCP と、拡大を続ける MCP 互換ツールのエコシステムに着想を得ています
  • Spring Boot と FastAPI のコミュニティに感謝します

コメント

MCP は初めてですか?

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

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