无耳 Solon Ai MCP,发布工具服务,使用工具服务。效果预览!

solon-ai-mcp 是 solon-ai 的扩展特性。提供 mcp 协议的支持。通过它,可以方便的发布 Tool Service,方便的使用 Tool Service。

引入依赖包

xml 复制代码
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-ai-mcp</artifactId>
    <version>3.1.3-SNAPSHOT</version>
</dependency>

服务端演示(发布工具服务)

引入依赖包后,服务端默认不会启用,需要通过配置启用。

yaml 复制代码
solon.ai.mcp.server:  
  enabled: true            
  sseEndpoint: "/mcp/sse"  

启用 mcp server 后,所有组件的 @FunctionMapping 方法,会自动成为 mcp server 的 tool 服务。

java 复制代码
@Component
public class McpServerTool {
    @FunctionMapping(description = "查询天气预报")
    public String getWeather(@FunctionParam(description = "城市位置") String location) {
        return "晴,14度";
    }
}

public class McpServerApp {
    public static void main(String[] args) {
        Solon.start(McpServerApp.class, args);
    }
}

客户端演示(使用工具服务)

客户端可以使用原生的 modelcontextprotocol 接口,也可以使用 McpClientWrapper (包装简化过)

  • 直接调用
java 复制代码
public void case1(){
    McpClientWrapper mcpClient = new McpClientWrapper("http://localhost:8080", "/mcp/sse");

    String rst = mcpClient.callToolAsText("getWeather", Map.of("location", "杭州"));
}
  • 绑定给模型使用
java 复制代码
public void case2(){
    McpClientWrapper mcpClient = new McpClientWrapper("http://localhost:8080", "/mcp/sse");
    ChatModel chatModel = ChatModel.of("http://127.0.0.1:11434/api/chat")
                .provider("ollama")
                .model("qwen2.5:1.5b")
                .build();

    ChatResponse resp = chatModel.prompt("杭州今天的天气怎么样?")
            .options(options -> {
                //转为函数集合用于绑定
                options.functionAdd(mcpClient.toFunctions());
            })
            .call();
}

项目仓库地址

官网

相关推荐
g32308635 小时前
Langchain mcp 可视化界面
langchain·mcp
收获不止数据库5 小时前
达梦9发布会归来:AI 时代,我们需要一款什么样的数据库?
数据库·人工智能·ai·语言模型·数据分析
xskukuku5 小时前
VSCode中的Codex插件如何调用第三方API
vscode·ai·codex
胖墩会武术6 小时前
Obsidian 与 Obsidian Skills 小白入门
人工智能·ai·obsidian·obsidian skills
实在智能RPA9 小时前
金融行业财务审核自动化工具推荐:2026企业级AI Agent与智能合规选型指南
人工智能·ai·金融·自动化
Java小白中的菜鸟9 小时前
配置你的Claude模型
ai
Agent产品评测局9 小时前
生产排期与MES/ERP系统打通,实操方法详解 —— 2026企业级智能体自动化选型与实战指南
java·运维·人工智能·ai·chatgpt·自动化
Yoyo25年秋招冲冲冲10 小时前
【亲测可用】ubuntu系统下安装Openclaw+配置飞书
linux·ubuntu·ai·飞书·openclaw
ofoxcoding10 小时前
Claude Opus 4.7 API 怎么计费?2026 最新价格拆解与调用实战
ai
灵机一物10 小时前
灵机一物AI原生电商小程序、PC端(已上线)-【无标Anthropic 研究深度解析:AI 对就业市场的实际冲击与高危职业排行题】
人工智能·ai·程序员·职业发展·anthropic·就业市场