返回市场
MCP服务器示例

MCP服务器示例

作者:liqingdong3 星标更新:2025-03-27

项目介绍

MCP服务演示项目文档

项目简介

这是一个基于Spring Boot 3.4.4的MCP(模型控制协议)服务示例项目,集成Spring AI工具链实现智能服务功能。该项目包括基本数值运算、天气查询等服务的实现模板。

核心功能

数字服务(NumberService

  • 奇偶数判断
  • 质数检测(已实现)
  • 扩展建议:可以添加质因数分解、斐波那契数列计算等功能

天气服务(WeatherService

  • 天气数据接口(当前使用随机数伪代码。实际实现需要与第三方API集成,可参考)OpenWeatherMap API

MCP工具支持

  • 通过@Tool注解暴露服务作为标准化工具
  • 通过@ToolParam注解定义服务参数

项目结构

src
|-- main
|  |-- java
|  |  `-- cn
|  |    `-- liqingdong
|  |      `-- mcp
|  |        `-- server
|  |          |-- McpApplication.java
|  |          `-- service
|  |            |-- NumberService.java
|  |            `-- WeatherService.java
|  `-- resources
|    `-- application.yml
`-- test
  `-- java
    `-- cn
      `-- liqingdong
        `-- mcp
          `-- server
            |-- McpApplicationTest.java
            `-- SSEMcpTest.java
            `-- STDIOMcpTest.java

快速开始

环境需求

  • JDK 17
  • Maven 3.8+
  • IDE(推荐IntelliJ IDEA)

运行步骤

1. 克隆仓库

git clone https://github.com/liqingdong/mcp-server-demo.git

2. 构建项目

mvn clean install

3. 使用服务

3.1 使用STDIO模式
3.1.1 配置启动命令
java -jar -Dspring.ai.mcp.server.stdio=true target/mcp-server-demo-0.0.1-SNAPSHOT.jar
3.1.2 使用支持MCP工具的客户端进行测试,如Cherry Studio
3.2 使用SSE模式
3.2.1 配置启动命令(默认访问地址是:http://localhost:8081/sse)
java -jar target/mcp-server-demo-0.0.1-SNAPSHOT.jar

核心测试类别

测试类名称测试内容
McpApplicationTest应用程序上下文加载验证
SSEMcpTest/StdioMcpTest不同协议下的MCP服务测试

开发规范

  1. 编码风格遵循官方Spring编码标准
  2. 工具注解所有服务方法需使用@Tool注解,并且参数需求使用@ToolParam注解
  3. 测试覆盖率核心功能需要达到80%以上的单元测试覆盖率

贡献指南

  1. 分叉仓库 → 创建特性分支
  2. 实现新功能/修复问题
  3. 添加相应的单元测试
  4. main分支提交Pull Request

项目状态

Java Spring Boot Maven MCP junit