首页 文章 精选 留言 我的

精选列表

搜索[sql server],共10000篇文章
优秀的个人博客,低调大师

🔥 把 Java WebApi 快速转为 Mcp-Server(使用 Solon AI MCP)

solon-ai-mcp,提供了各种 mcp 相关能力,支持 java8, java11, java17, java21, java24 。是 solon-ai 项目的重要组成部分,也可以嵌入到 springboot2, springboot3, jfinal, vert.x 等项目中使用。 依赖包: <dependency> <groupId>org.noear</groupId> <artifactId>solon-ai-mcp</artifactId> <version>最新版</version> </dependency> 1、看一个简单的 web 控制器 此控制器有两个方法:get_weather,获取天气;get_rainfall,获取降雨量。后面基于它进行快速改造演示。 @Mapping("/web/api") @Controller public class McpServerTool { @Mapping("get_weather") public String get_weather(String location) { return "晴,14度"; } @Mapping("get_rainfall") public String get_rainfall(String location) { return "555毫米"; } } 2、改造方案1:复用 mvc 注解,并添加@McpServerEndpoint注解 在 mvc 注解基础上,给方法和参数添加描述信息description信息(只适合 solon-web 项目,它的注解带有description属性)。再添加@McpServerEndpoint注解 @McpServerEndpoint(sseEndpoint = "/mcp/sse") @Mapping("/web/api") @Controller public class McpServerTool { @Mapping(path="get_weather", description = "查询天气预报") public String get_weather(@Param(description = "城市位置") String location) { return "晴,14度"; } @Mapping(path="get_rainfall", description = "查询城市降雨量") public String get_rainfall(@Param(description = "城市位置") String location) { return "555毫米"; } } 这个方案的提醒说明: @Mapping(通用注解)相当于 ai 的@ToolMapping(专用注解) @Param(通用注解)相当于 ai 的@ToolParam(专用注解) 必须申明description属性(否则会异常提示) 3、改造方案2:在控制器上,添加完整的 Mcp 相关注解 这个方案也适合 springboot2-web、sprngboot3-web、spring-mvc 或 jfinal 等项目,原控制器的代码不用动(原来有没有注解,不影响)。就像添加 swagger 注解那样,添加 mcp 相关注解即可。 注解简单说明(?表示可选属性): 注解 描述 @ToolMapping(name?, description, returnDirect?, resultConverter?) 工具映射 @ToolParam(name?, description, required?) 工具的参数申明 改造后的代码: @McpServerEndpoint(sseEndpoint = "/mcp/sse") @Mapping("/web/api") @RestController public class McpServerTool { @ToolMapping(description = "查询天气预报") @GetMapping("get_weather") public String get_weather(@ToolParam(description = "城市位置") String location) { return "晴,14度"; } @ToolMapping(description = "查询城市降雨量") @GetMapping("get_rainfall") public String get_rainfall(@ToolParam(description = "城市位置") String location) { return "555毫米"; } } 4、也可以转为本地的大模型工具提供者使用(ToolProvider) 上两个方案去掉@McpServerEndpoint注解,就不会发布为 MCP 服务端点。使用 MethodToolProvider 加载它,就能成为本地的工具提供者。 MethodToolProvider toolProvider = new MethodToolProvider(new McpServerTool()); var chatModel = ChatModel.of(...) .defaultToolsAdd(toolProvider) //添加默认工具 .build(); chatModel.prompt("杭州今天的天气怎么样?") .call(); 5、附代码仓库 solon-ai(源码) https://gitee.com/opensolon/solon-ai https://gitcode.com/opensolon/solon-ai https://github.com/opensolon/solon-ai solon-ai-mcp-embedded-examples(嵌入示例) https://gitee.com/opensolon/solon-ai-mcp-embedded-examples https://gitcode.com/opensolon/solon-ai-mcp-embedded-examples https://github.com/opensolon/solon-ai-mcp-embedded-examples

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册