Quarkus MCP服务器

](https://central.sonatype.com/artifact/io.quarkiverse.mcp/quarkus-mcp-server-parent)
此Quarkus扩展提供了声明性和编程性API,使开发人员能够轻松实现 主控程序\[^1\]服务器功能。
\[^1\]: _"模型上下文协议 (MCP)是一种开放协议,可实现LLM应用程序与外部数据源和工具之间的无缝集成。"_
\[!注意\]\ 这 LangChain4j 该项目提供了MCP客户端功能,既可以作为一个低级编程API,也可以作为集成到AI的应用程序中的全面集成。
开始使用
步骤#1
将以下依赖项添加到POM文件中:
io.quarkiverse.mcp
quarkus-mcp-server-http
${quarkus-mcp-server-version}
\[!注意\]\ 这种依赖关系包括传统的“HTTP/SSE”和“Streamable HTTP”传输。使用 quarkus-mcp-server-stdio artifactId,如果您想使用STDIO传输。另请参见 运输 更多信息,请参阅文档中的部分。步骤#2
添加由表示的服务器功能(提示、资源和工具) _带注释的业务方法_ CDI豆。
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 💻 🚧
Georgios Andrianakis 💻
Max Rydahl Andersen 💡
Rostislav Svoboda 💻
George Gastaldi 🚇
Jan Martiska 📖
Ioannis Canellos 💻
Sergey Beryozkin 💡
Konstantin Pavlov ⚠️ 🚇
Martijn van Duijnhoven 💻 ⚠️ 📖
Pierre Beitz 💻 ⚠️
Matthieu Recouly 📖
Willem Jan Glerum 🚇
Sascha Steffen 💻 ⚠️
Clement Escoffier 📖
Rolfe Dlugy-Hegwer 📖 💻
Bruno Baptista 📖 💻
该项目遵循 所有贡献者 规范。欢迎任何形式的贡献!
