Quarkus Model Context Protocol (MCP) Server

Quarkus Model Context Protocol (MCP) Server

此扩展使开发者能够轻松实现MCP服务器功能。

版本

Model Context Protocol (MCP) 是一个开放协议,能够使LLM应用程序与外部数据源和工具无缝集成。

快速开始

1. 添加依赖

<dependency>
    <groupId>io.quarkiverse.mcp</groupId>
    <!-- 使用HTTP/SSE传输 -->
    <artifactId>quarkus-mcp-server-sse</artifactId>
    <version>${project-version}</version>
</dependency>

2. 实现服务器功能

使用注解添加MCP功能(提示、资源和工具):

import jakarta.inject.Inject;
import io.quarkiverse.mcp.server.*;

public class ServerFeatures {
    
    @Inject
    CodeService codeService;

    // 将字符串转换为小写的工具
    @Tool(description = "将字符串值转换为小写")
    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")
    BlobResourceContents alpha(RequestUri uri) throws IOException {
        return BlobResourceContents.create(uri.value(), Files.readAllBytes(Paths.ALPHA));
    }
}

3. 启动应用

运行您的Quarkus应用程序,MCP服务器将自动生效。

注意事项

  • LangChain4j 提供MCP客户端功能
  • 若需使用STDIO传输,请将依赖改为 quarkus-mcp-server-stdio

文档

完整文档请访问 Quarkus MCP Server 文档


欢迎贡献!该项目遵循 all-contributors 规范。