Solon v3.3.0

mcp - 支持的三种内容服务

</> markdown

MCP 协议,包括上面讲到的 Tool 服务外,共支持三种内容服务。

内容描述
Tool工具
Prompt提示语
Resouce资源

1、完整的 Mcp Server 展示(使用注解模式)

@McpServerEndpoint(sseEndpoint = "/mcp/sse")
public class McpServerTool {

    @ToolMapping(description = "查询天气预报")
    public String getWeather(@Param(description = "城市位置") String location, Context ctx) {
        System.out.println("------------: sessionId: " + ctx.sessionId());

        //ctx.realIp(); //ctx 可用于小范围鉴权

        return "晴,14度";
    }

    @ResourceMapping(uri = "config://app-version", description = "获取应用版本号", mimeType = "text/config")
    public String getAppVersion() {
        return "v3.2.0";
    }


    @PromptMapping(description = "生成关于某个主题的提问")
    public Collection<ChatMessage> askQuestion(@Param(description = "主题") String topic) {
        return Arrays.asList(
                ChatMessage.ofUser("请解释一下'" + topic + "'的概念?")
        );
    }
}

没有 @Param 注解的参数,不会转给大模型处理。

2、客户端对应的接口示意

McpClientProvider:callToolAsText
McpClientProvider:getTools

McpClientProvider:readResourceAsText
McpClientProvider:getResources

McpClientProvider:getPromptAsMessages
McpClientProvider:getPrompts

具体,参考后面的资料