一、介绍

本章节会开发一个简单的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 的改造。篇幅比较长截断一下。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐