模型上下文协议服务器

基于Spring Boot和Spring AI构建的MCP服务器,提供可扩展的MCP工具功能,适用于LLM代理、IDE和助手等MCP兼容客户端。

  • by navneetprabhakar
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 navneetprabhakar/mcp-server

使用说明

mcp服务器

使用Spring Boot和Spring AI构建的模型上下文协议(MCP)服务器。

mcp-server 将实用程序函数作为MCP工具公开,任何兼容MCP的客户端(LLM代理、IDE、助手)都可以发现和调用这些工具。它目前提供了一个时间实用工具,并且其结构使得可以通过单个注释添加其他工具。

特征

  • 通过Spring AI的WebVC流传输的MCP服务器
  • fetch_current_time MCP工具返回格式化的时间、时区和纪元毫秒
  • REST端点(/v1/time/current-time)用于独立于MCP测试底层服务
  • 可扩展服务层——对任何方法进行注释 @McpTool 发布新工具
  • Java 21、Spring Boot 3.5.10、龙目岛

技术栈

  • Java 21
  • 弹簧靴3.5.10 (spring-boot-starter-web)
  • 春季AI 1.1.2 (spring-ai-starter-mcp-server-webmvc)
  • 龙目
  • 梅文 (包括包装)

入门指南

先决条件

  • Java 21+
  • Maven 3.9+(或使用捆绑的 ./mvnw 包装)

构建

./mvnw clean install

跑

./mvnw spring-boot:run

或者运行打包的JAR:

java -jar target/mcp-server-0.0.1-SNAPSHOT.jar

服务器在端口上启动 8081 默认情况下。

配置

设置已生效 src/main/resources/application.yaml:

关键字 描述 值
spring.ai.mcp.server.name MCP服务器名称 mcp-server
spring.ai.mcp.server.version 服务器版本 1.0.0
spring.ai.mcp.server.type 服务器模式 sync
spring.ai.mcp.server.protocol 传输协议 streamable
spring.ai.mcp.server.enabled 切换MCP服务器 true
server.port HTTP端口 8081

MCP工具

工具 说明
fetch_current_time 返回当前时间、时区、格式模式和纪元毫秒。

REST API

方法 路径 描述
GET /v1/time/current-time 时间服务的测试端点(MCP客户端不使用)。
curl http://localhost:8081/v1/time/current-time
{
  "currentTime": "2026-02-03 12:34:56",
  "timeZone": "America/New_York",
  "format": "yyyy-MM-dd HH:mm:ss",
  "currentTimeMillis": 1738596896000
}

项目结构

src/main/java/com/navneet/mcp_server/
├── McpServerApplication.java          # Spring Boot entry point
├── controller/TimeController.java     # REST test endpoint
├── models/TimeUtilResponse.java       # Time response model
└── service/
    ├── TimeUtilService.java           # Service interface
    └── impl/TimeUtilServiceImpl.java  # @McpTool implementation

许可证

根据GNU通用公共许可证v3.0许可——请参阅 许可证.