Quarkus Model Context Protocol (MCP) Server

Quarkus Model Context Protocol (MCP) Server

site icon
2025.04.17 83
JavaLLM 集成工具扩展资源管理开发效率
Quarkus Model Context Protocol (MCP) Server 是一个基于 Quarkus 的扩展,旨在简化开发者实现 MCP 服务器功能的过程。MCP 是一个开放协议,用于实现 LLM 应用程序与外部数据源和工具的无缝集成。该扩展提供了声明式和编程式 API,使开发者能够轻松地添加提示、资源和工具等功能。
View on GitHub

Overview

基本能力

产品定位

Quarkus MCP Server 是一个用于实现 Model Context Protocol (MCP) 的服务器扩展,专注于简化 LLM 应用程序与外部数据源和工具的集成。

核心功能

  1. 声明式和编程式 API:通过注解和 CDI 容器快速定义服务器功能。
  2. 工具集成:支持自定义工具(如字符串处理、代码辅助等)。
  3. 资源管理:支持从文件系统或其他数据源加载资源。
  4. 提示功能:支持定义提示消息,用于与 LLM 交互。

适用场景

  1. LLM 应用开发:为 LLM 应用程序提供后端支持,集成外部工具和数据源。
  2. 代码辅助工具:实现代码生成或辅助功能。
  3. 数据处理:集成自定义数据处理工具。

工具列表

  1. toLowerCase:将字符串转换为小写。
  2. codeAssist:提供代码辅助功能,根据语言生成代码建议。
  3. alpha:从文件系统加载资源。

常见问题解答

  1. 如何选择传输协议? 支持 HTTP/SSE 和 STDIO 两种传输协议,通过依赖项选择。
  2. 如何定义工具? 使用 @Tool 注解标记方法,并添加描述。
  3. 如何加载资源? 使用 @Resource 注解标记方法,指定资源 URI。

使用教程

使用依赖

  1. pom.xml 中添加以下依赖(以 SSE 传输为例):
<dependency>
    <groupId>io.quarkiverse.mcp</groupId>
    <artifactId>quarkus-mcp-server-sse</artifactId>
    <version>${project-version}</version>
</dependency>

安装教程

  1. 定义 CDI Bean 并添加工具、提示或资源方法(示例见上文)。
  2. 运行 Quarkus 应用程序:
./mvnw quarkus:dev

调试方式

  1. 启动应用程序后,访问 /q/dev 页面查看 Quarkus 开发模式控制台。
  2. 使用日志输出检查工具和资源的注册情况。
  3. 通过客户端(如 LangChain4j)测试工具和提示功能。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。