awesome-copilot/instructions/quarkus-mcp-server-sse.instructions_ja.md

1.8 KiB
Raw Blame History

applyTo description
* QuarkusとHTTP SSE転送を使用したMCPサーバーの開発標準と指針

Quarkus MCPサーバー

Java 21、Quarkus、HTTP SSE転送を使用してMCPサーバーを構築する。

スタック

  • Quarkus FrameworkでのJava 21
  • MCPサーバー拡張mcp-server-sse
  • 依存性注入のためのCDI
  • MCPエンドポイントhttp://localhost:8080/mcp/sse

クイックスタート

quarkus create app --no-code -x rest-client-jackson,qute,mcp-server-sse your-domain-mcp-server

構造

  • 標準的なJava命名規則を使用するPascalCaseクラス、camelCaseメソッド
  • パッケージで整理:modelrepositoryservicemcp
  • 不変データモデルにはRecordタイプを使用する
  • 不変データの状態管理はリポジトリレイヤーで管理する必要がある
  • パブリックメソッドにJavadocを追加する

MCPツール

  • @ApplicationScoped CDI Beanのパブリックメソッドである必要がある
  • @Tool(name="tool_name", description="明確な説明")を使用する
  • nullを返してはならない - 代わりにエラーメッセージを返す
  • 常にパラメータを検証し、エラーを適切に処理する

アーキテクチャ

  • 関心の分離MCPツール → サービス層 → リポジトリ
  • 依存性注入には@Injectを使用する
  • データ操作をスレッドセーフにする
  • ヌルポインタ例外を避けるためOptional<T>を使用する

一般的な問題

  • MCPツールにビジネスロジックを置かないサービス層を使用する
  • ツールから例外を投げない(エラー文字列を返す)
  • 入力パラメータの検証を忘れない
  • エッジケースnull、空の入力でテストする