mcpField
Q
Quarkus Model Context Protocol (MCP) Server

Quarkus Model Context Protocol (MCP) Server

ローカル
docs.quarkiverse.io開発ツール2031 日前に更新

Quarkus Model Context Protocol (MCP) Server について

Quarkus アプリで MCP サーバーを構築する開発者向けの拡張機能です。宣言型とプログラム型の API でサーバー機能を定義できます。

主な機能

  1. 01宣言型とプログラム型の API
  2. 02CDI の注釈付きビジネスメソッド
  3. 03HTTP/SSE と Streamable HTTP のトランスポート
  4. 04STDIO トランスポートの選択肢

活用シーン

  1. 01Quarkus アプリへの MCP 機能の追加
  2. 02プロンプト、リソース、ツールの定義
  3. 03HTTP または STDIO でのサービス提供

MCP 対応

Quarkus アプリで MCP サーバー機能を実装できます。アプリはプロンプト、リソース、ツールを MCP クライアントに公開できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Quarkus MCP Server

All Contributors

Version

この Quarkus エクステンションは、開発者が MCP1 サーバーの機能を簡単に実装できるようにする、宣言型およびプログラム型の API を提供します。

メモ


LangChain4j プロジェクトは、低レベルのプログラム型 API として、または AI を活用したアプリケーションへのフル機能の統合として、MCP クライアント機能を提供します。

はじめに

ステップ #1

次の依存関係を POM ファイルに追加します。

<dependency>
    <groupId>io.quarkiverse.mcp</groupId>
    <artifactId>quarkus-mcp-server-http</artifactId>
    <version>${quarkus-mcp-server-version}</version>
</dependency>

メモ


この依存関係には、従来の「HTTP/SSE」トランスポートと「Streamable HTTP」トランスポートの両方が含まれます。代わりに STDIO トランスポートを使用する場合は、quarkus-mcp-server-stdio artifactId を使用してください。詳細については、ドキュメントのトランスポートのセクションもご覧ください。

ステップ #2

CDI Bean の_アノテーション付きビジネスメソッド_として、サーバー機能(プロンプト、リソース、ツール)を追加します。

import jakarta.inject.Inject;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

import io.quarkiverse.mcp.server.BlobResourceContents;
import io.quarkiverse.mcp.server.Prompt;
import io.quarkiverse.mcp.server.PromptArg;
import io.quarkiverse.mcp.server.PromptMessage;
import io.quarkiverse.mcp.server.Resource;
import io.quarkiverse.mcp.server.TextContent;
import io.quarkiverse.mcp.server.Tool;

// This class is automatically registered as a @Singleton CDI bean
public class MyFeatures {

    @Inject
    CodeService codeService;

    @Tool(description = "Converts the string value to lower case")
    String toLowerCase(String value) {
        return value.toLowerCase();
    }

    @Prompt(name = "code_assist")
    PromptMessage codeAssist(@PromptArg(name = "lang") String language) {
        return PromptMessage.withUserRole(new TextContent(codeService.assist(language)));
    }

    @Resource(uri = "file:///project/alpha.txt")
    byte[] alpha() throws IOException{
        return Files.readAllBytes(Path.of("alpha.txt"));
    }

}
ステップ #3

Quarkus アプリを実行して、楽しみましょう!

ドキュメント

ドキュメント全文は https://quarkiverse.github.io/quarkiverse-docs/quarkus-mcp-server/dev/index.html でご覧いただけます。

コントリビューター ✨

次の素晴らしい方々に感謝します(絵文字キー):

Martin Kouba
Martin Kouba

💻 🚧
Georgios Andrianakis
Georgios Andrianakis

💻
Max Rydahl Andersen
Max Rydahl Andersen

💡
Rostislav Svoboda
Rostislav Svoboda

💻
George Gastaldi
George Gastaldi

🚇
Jan Martiska
Jan Martiska

📖
Ioannis Canellos
Ioannis Canellos

💻
Sergey Beryozkin
Sergey Beryozkin

💡
Konstantin Pavlov
Konstantin Pavlov

⚠️ 🚇
Martijn van Duijnhoven
Martijn van Duijnhoven

💻 ⚠️ 📖
Pierre Beitz
Pierre Beitz

💻 ⚠️
Matthieu Recouly
Matthieu Recouly

📖
Willem Jan Glerum
Willem Jan Glerum

🚇
Sascha Steffen
Sascha Steffen

💻 ⚠️
Clement Escoffier
Clement Escoffier

📖
Rolfe Dlugy-Hegwer
Rolfe Dlugy-Hegwer

📖 💻
Bruno Baptista
Bruno Baptista

📖 💻
Moayad Alyaghshi
Moayad Alyaghshi

🐛 💻
David Kornel
David Kornel

🐛 💻
Ian Stewart
Ian Stewart

🐛 💻
Eric Hare
Eric Hare

🐛 💻
Nagi KaTou
Nagi KaTou

🐛 💻
Matej Novotny
Matej Novotny

🐛 ⚠️ 💻

このプロジェクトは、all-contributors の仕様に準拠しています。あらゆる種類の貢献を歓迎します!

Footnotes

  1. 「Model Context Protocol(MCP)は、LLM アプリケーションと外部データソースやツールをシームレスに統合するオープンプロトコルです。」 ↩

コメント

MCP は初めてですか?

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

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