使用说明
Spring AI MCP项目
该存储库包含两个Spring Boot项目,演示了使用Spring AI实现模型控制协议(MCP)服务器和客户端。这些项目基于Spring AI的示例项目,并已修改为使用OpenAI的API协同工作。
项目起源
这两个项目都源于Spring AI的官方示例:
- MCP服务器基于Spring AI
starter-default-server例子 - MCP客户端基于Spring AI的
starter-default-client例子
原始示例已被改编为:
- 在客户端-服务器架构中协同工作
- 使用OpenAI的API进行自然语言处理
- 实施自定义工具(DateTool)以演示MCP功能
- 配置客户端和服务器之间的正确通信
项目概述
1.MCP服务器(spring-ai-mcp-server)
MCP服务器是一个Spring Boot应用程序,它实现了模型控制协议,为AI模型交互提供了工具和端点。它充当处理工具执行和模型响应的后端服务。
主要特点:
- 工具执行框架
- 用于MCP交互的RESTful API端点
- 与Spring AI集成进行模型管理
- 示例工具实现(DateTool)
2.MCP客户端(spring-ai-mcp-client)
MCP客户端是一个Spring Boot应用程序,演示如何与MCP服务器交互。它提供了一个用户界面,并处理与MCP服务器的通信。
主要特点:
- 与ChatGPT集成以进行自然语言处理
- 服务器通信的MCP客户端配置
- 用于客户端交互的RESTful API端点
- 客户端-服务器通信的示例实现
入门指南
先决条件
- Java 17或更高版本
- 梅文
- OpenAI API密钥(用于ChatGPT集成)
配置
- MCP服务器配置(
spring-ai-mcp-server/src/main/resources/application.properties):
server.port=8080
spring.ai.openai.api-key=your-openai-api-key
- MCP客户端配置(
spring-ai-mcp-client/src/main/resources/application.properties):
server.port=8081
spring.ai.openai.api-key=your-openai-api-key
spring.ai.mcp.server.url=http://localhost:8080
运行应用程序
- 启动MCP服务器:
cd spring-ai-mcp-server
mvn spring-boot:run
- 启动MCP客户端:
cd spring-ai-mcp-client
mvn spring-boot:run
API终点
MCP服务器端点
POST /mcp/chat:MCP交互的主要终点POST /mcp/tools:工具执行的端点
MCP客户端端点
POST /chat:客户端聊天交互的端点POST /mcp/chat:MCP特定交互的终点
项目结构
MCP服务器
spring-ai-mcp-server/
├── src/main/java/com/example/springaimcp/
│ ├── controller/
│ │ └── McpController.java
│ ├── tool/
│ │ └── DateTool.java
│ └── SpringAiMcpApplication.java
└── src/main/resources/
└── application.properties
MCP客户端
spring-ai-mcp-client/
├── src/main/java/com/example/springaimcpclient/
│ ├── controller/
│ │ └── ChatController.java
│ ├── config/
│ │ └── McpConfig.java
│ └── SpringAiMcpClientApplication.java
└── src/main/resources/
└── application.properties
依赖项
这两个项目都使用Spring Boot和Spring AI,并具有以下关键依赖关系:
spring-boot-starter-webspring-ai-openai-spring-boot-starterspring-ai-mcp-spring-boot-starter
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
