关于 Quarkus Model Context Protocol (MCP) Server
面向 Quarkus 开发者的 MCP 服务扩展,提供声明式和编程式 API,可在 Quarkus 应用中定义服务器功能。
主要功能
- 01声明式与编程式 API
- 02使用 CDI 注解业务方法
- 03HTTP/SSE 与 Streamable HTTP 传输
- 04可选 STDIO 传输
适用场景
- 01为 Quarkus 应用添加 MCP 功能
- 02定义提示词、资源和工具
- 03通过 HTTP 或 STDIO 提供服务
MCP 相关
该扩展支持在 Quarkus 应用中实现 MCP 服务功能。应用可向 MCP 客户端公开提示词、资源和工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Quarkus MCP Server
此 Quarkus 扩展提供声明式和编程式 API,使开发者能够轻松实现 MCP1 服务功能。
说明
LangChain4j 项目提供 MCP 客户端功能,既可以通过底层编程式 API 使用,也可以全面集成到 AI 应用中。
开始使用
第 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-stdioartifactId。有关详细信息,请参阅文档中的传输部分。
第 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。
贡献者 ✨
感谢这些优秀的贡献者(表情符号说明):
本项目遵循 all-contributors 规范。欢迎以任何形式参与贡献!
Footnotes
-
"Model Context Protocol(MCP)是一种开放协议,可在大模型应用与外部数据源和工具之间实现无缝集成。" ↩
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。