4-AI-业务与MCP协议结合-MCPServer实战
给cursor 配置一个 本地的mcp 工具
·
一、介绍
本章节会开发一个简单的MCP 的服务。目前的步骤是先开发一个简单的MCP 的SSE 模式的server 集成到大模型中。后面会演示stdio 模式。注册到Nacos 中(重点探索模式)、将HTTP 接口配置成MCP 的server。大概会从这几个方面进行演示。
二、Server 代码展示
1、POM 文件
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.79</version>
</dependency>
</dependencies>
2、application.yml
server:
port: 8081
spring:
main:
banner-mode: off
ai:
mcp:
server:
name: my-algorithm-server
version: 0.0.1
stdio: false
3、代码
工具类的开发。
其中 @Tool(description = "根据用户输入的文字查询对应的图片") 这个是描述这个工具是做什么的。
@ToolParam(description = "对图片的描述") 这个是告诉大模型我需要的入参是什么。此处尽可能的凸显出工具的作用。防止大模型迷糊。
比如班里有两个人都叫张三,一个是女同学,一个是男同学。老师让你找一下张三。光这一个条件的话,很容易找错。但是如果说你帮我找一下张三,性别是男。这时候咱们就知道我应该去找到谁。
同样大模型也一样。
在设计的时候 public String getImageDescribe 方法的名称要保证全局唯一。
@Service
public class AlgorithmService {
@Tool(description = "获取算法结果")
public String getAlgorithmResult(@ToolParam(description = "图片地址") String imageUrl,
@ToolParam(description = "算法编码") String algorithmCode) {
return "算法识别异常了";
}
}
三、演示
经过上面的步骤我们就能开发一个MCP 的Server 了。
下面我通过Cursor 和 咱们工程演示一下。
1、cursor
第一步打开配置

第二步配置
{
"my-system-server":{
"url":"http://localhost:8083"
}
}
}
一定要注意必须是绿灯

第三步使用

下一篇会对接到大模型因为这块还涉及clinet 的改造。篇幅比较长截断一下。
更多推荐


所有评论(0)