mcp - 发布 Tool 服务,使用 Tool 服务
在 solon-web 项目里添加依赖:
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-ai-mcp</artifactId>
</dependency>
1、服务端示例(发布工具服务)
很简单,添加个 @McpServerEndpoint
注解类就好。并使用 @ToolMapping
申明工具映射。
@McpServerEndpoint(sseEndpoint = "/mcp/sse")
public class McpServerTool {
//
// 建议开启编译参数:-parameters (否则,要再配置参数的 name)
//
@ToolMapping(description = "查询天气预报")
public String getWeather(@ToolParam(description = "城市位置") String location) {
return "晴,14度";
}
}
public class McpServerApp {
public static void main(String[] args) {
Solon.start(McpServerApp.class, args);
}
}
3、客户端示例(使用工具服务)
使用 McpClientToolProvider 可以快速使用工具服务。(也可以使用第三方的工具,或平台)
- 直接调用
public void case1() {
McpClientToolProvider clientToolProvider = McpClientToolProvider.builder()
.apiUrl("http://localhost:8080/mcp/sse")
.build();
String rst = clientToolProvider.callToolAsText("getWeather", Map.of("location", "杭州"));
}
4、MCP 之于 AI 应用开发
- 以前调用第三方接口,我们需要先封装成本地的 Tool 规范,再给 ChatModel。
- 现在,第三方接口直接提供 Tool RPC(通过 MCP 协议)。可以直接整合给 ChatModel 用了。
- 再进一步的话,能过“配置”就可以使用第三方的 Tool 服务