MCP项目-Spring Boot和Python集成
一个全面的模型上下文协议(MCP)实现,具有Spring Boot客户端、Python服务器和Angular前端。该系统展示了基于人工智能的聊天功能,并集成了股票信息、公司数据、文件系统操作和员工管理的工具。
作者:塔杰丁·布勒姆(SDIA大师)
目录
引言
该项目采用多层架构实现了模型上下文协议(MCP):
- Spring Boot MCP客户端:处理AI聊天请求和工具集成
- Python MCP服务器:提供各种工具和服务
- 角形前端:用于用户交互的现代聊天界面
- Spring Boot MCP服务器:其他企业服务
该系统通过工具使用、内存管理和实时聊天功能演示了人工智能推理。
特性
🤖 AI聊天界面
- 与AI助手互动聊天
- 实时思维过程可视化
- 记忆感知对话
- 工具集成以增强功能
🛠️ 可用工具
- 股票信息:实时股票数据检索
- 公司数据:企业信息查找
- 文件系统操作:文件管理功能
- 员工信息:人力资源数据管理
💻 技术特性
- RESTful API架构
- CORS启用的跨源请求
- 跨会话的内存持久性
- 现代响应式UI设计
- 错误处理和验证
🎨 前端功能
- 基于Angular的现代聊天界面
- 思考与反应分离
- 快速入门建议问题
- 加载动画和过渡
- 移动响应式设计
建筑
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Angular │ │ Spring Boot │ │ Python MCP │
│ Frontend │◄──►│ MCP Client │◄──►│ Server │
│ (Port 4200) │ │ (Port 8066) │ │ (Port 8899) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Spring Boot │
│ MCP Server │
│ (Port 8080) │
└─────────────────┘安装
先决条件
- Java 17 或以后
- Node.js 18 或以后
- Python 3.8 或以后
- 梅文 (或使用附带的包装)
- Angular命令行界面 (
npm install -g @angular/cli) - 没有 (用于AI模型服务)-从安装 去.ai
克隆存储库
git clone https://github.com/scorpionTaj/mcp-project-spring-python.git
cd mcp-project-spring-python快速入门指南
要快速演示,请按顺序执行以下步骤:
1.设置Ollama(AI模型)
# Install and start Ollama
ollama serve
# In a new terminal, pull the required model
ollama pull qwen32.启动Python MCP服务器
cd mcp-server-python
# Activate the existing virtual environment
.venv\Scripts\activate # On Windows
# source .venv/bin/activate # On macOS/Linux
# Install dependencies if needed
pip install -r requirements.txt
python server.py3.启动Spring Boot MCP客户端
cd mcp-client
./mvnw spring-boot:run4.启动Spring Boot MCP服务器(可选)
cd mcp-server
./mvnw spring-boot:run5.启动Angular前端
cd mcp-frontend
npm install
ng serve验证
所有服务运行后,您应该看到:
- ✅ Python MCP服务器:
http://localhost:8899 - ✅ Spring Boot MCP客户端:
http://localhost:8066 - ✅ 角前端:
http://localhost:4200 - ✅ Olama人工智能模型:
http://localhost:10000
用法
访问应用程序
- 前端接口: http://localhost:4200
- 后端API: http://localhost:8066
- Swagger用户界面: http://localhost:8066/swagger-ui.html(如果可用)
基本聊天流程
- 打开前端http://localhost:4200
- 使用建议的问题或键入自己的问题
- 观察AI的思维过程和反应
- 探索各种工具和功能
查询示例
"Hello, how are you?"-基本问候语"What companies do you know about?"-公司信息"Tell me about Apple stock"-股票信息"List all employees"-员工数据"What files are available?"-文件系统操作
使用的技术
后端
- 弹簧靴3.x -主要框架
- 春季AI -AI集成
- Spring数据JPA -数据库操作
- H2数据库 -内存数据库
- 梅文 -构建工具
- Java 17+ -程序设计语言
前端
- 角度20.x -前端框架
- TypeScript -类型安全的JavaScript
- RxJS -响应式编程
- CSS3 -现代风格
- HTML5 -标记
Python服务器
- Python 3.x -程序设计语言
- 固定API/瓶子 -Web框架(假定)
- MCP-SDK -模型上下文协议
项目结构
mcp-project-spring-python/
├── mcp-client/ # Spring Boot MCP Client
│ ├── src/main/java/
│ │ └── ma/tajeddine/mcpclient/
│ │ ├── agents/ # AI agents
│ │ └── controllers/ # REST controllers
│ ├── src/main/resources/
│ │ ├── application.properties
│ │ └── mcp-servers.json
│ └── pom.xml
├── mcp-server/ # Spring Boot MCP Server
│ ├── src/main/java/
│ └── pom.xml
├── mcp-server-python/ # Python MCP Server
│ ├── server.py
│ ├── main.py
│ └── pyproject.toml
├── mcp-frontend/ # Angular Frontend
│ ├── src/app/
│ │ ├── app.component.ts
│ │ ├── app.component.html
│ │ └── app.component.css
│ ├── package.json
│ └── angular.json
├── Screenshots/ # Project screenshots
└── README.md开发设置
配置文件
应用程序属性(Spring Boot)
- 端口: 8066
- MCP服务器URL: http://localhost:8899
- 数据库:内存中的H2
- AI模型:Qwen3途经Ollama
角度配置
- 开发港口: 4200
- API基本URL: http://localhost:8066
- CORS:促进发展
环境变量
# Optional: Set API keys if using external services
export CLAUDE_API_KEY=your_api_key_here
export OLLAMA_BASE_URL=http://localhost:10000API终点
主聊天端点
- 获取
/chat?query={message}-向AI发送聊天消息
工具端点(通过MCP服务器)
- 股票信息工具
- 公司数据检索
- 文件系统操作
- 员工管理
配置
关键配置文件
mcp-servers.json
MCP服务器连接的配置文件:
{
"servers": {
"server1": {
"url": "http://localhost:8899",
"sse-endpoint": "/sse"
}
}
}application.properties
关键配置参数:
# Server Configuration
server.port=8066
# MCP Client Configuration
spring.ai.mcp.client.type=sync
spring.ai.mcp.client.sse.connections.server1.url=http://localhost:8899
spring.ai.mcp.client.sse.connections.server1.sse-endpoint=/sse
# AI Model Configuration
spring.ai.ollama.base-url=http://localhost:10000
spring.ai.ollama.chat.model=qwen3
# Database Configuration
spring.datasource.url=jdbc:h2:mem:testdb
spring.h2.console.enabled=true性能与监控
系统要求
- 记忆:最低4GB RAM,建议8GB
- 中央处理器:建议使用多核处理器
- 存储:2GB可用空间用于模型和依赖项
- 网络:初始设置时稳定的互联网连接
性能指标
- 启动时间:所有服务约2-3分钟
- 响应时间:典型查询\)
*Swagger UI查询演示*
![Swagger Query 2]() *Swagger UI查询结果*
🧪 API Postman测试
公司运营
Postman Get All Companies *邮递员正在测试GetAllCompany端点*
Postman Get Company by Name *邮递员正在测试GetCompanyByName端点*
股票信息
Postman Stock by Company *邮递员按公司测试库存信息检索*
🎯 演示的主要功能
截图显示:
- 前端功能:
- 现代聊天界面 - 实时AI交互 - 文件系统集成 - 响应式设计
- 后端集成:
- MCP客户端-服务器通信 - Python MCP服务器操作 - 控制台日志记录和监控
- AI记忆系统:
- 对话持久性 - 用户信息召回 - 上下文感知响应
- 工具集成:
- 公司信息查询 - 库存数据检索 - 文件系统操作 - 内存管理
- API测试:
- Swagger用户界面文档 - 邮递员终点测试 - RESTful API验证
- 多语言支持:
- Java Spring Boot服务 - Python MCP服务器 - 角前端 - 跨平台兼容性
这些屏幕截图展示了MCP项目的全部功能,从面向用户的聊天界面到后端API操作,展示了不同组件和AI供电功能之间的无缝集成。
路线图
计划的功能
- \[\]支持WebSocket的实时聊天
- \[\]用户身份验证和授权
- \[\]对话历史持久性
- \[\]其他工具集成
- \[\]Docker容器化
- \[\]Kubernetes部署清单
- \[\]集成测试
- \[\]性能基准
贡献想法
- 添加新的MCP工具(天气、新闻等)
- 改进UI/UX设计
- 添加语音聊天功能
- 实施聊天室/频道
- 添加导出/导入功能
______________________________________________________________________
⭐ 如果您觉得此存储库有用,请将其标记为星号!
由以下材料制成❤️ 塔杰丁·布海姆-SDIA大师
