article
README
🚀 MCP企业AI助手系统
这是一个基于综合模型上下文协议(MCP)的AI应用程序,具备智能服务器选择、专业AI工具和美观的Web界面,可用于企业级文本分析、代码审查、情感分析和知识管理。
✨ 主要特性
🏗️ 真正的MCP(模型上下文协议)实现
- 📋 JSON - RPC 2.0协议:完全符合JSON - RPC 2.0规范
- 🔍 MCP初始化握手:进行正确的服务器能力协商
- 🔄 标准MCP方法:
initialize、tools/list、tools/call、resources/list - ⚡ WebSocket传输:按照MCP规范建立持久连接
- 🎯 工具模式合规性:工具定义采用正确的
inputSchema格式
🚀 AI驱动的企业特性
- 🧠 智能服务器选择:基于上下文通过AI路由到合适的服务器
- 📝 文本分析:AI摘要、实体提取和分类
- 🔍 代码审查:自动进行质量分析、错误检测和改进建议
- 😊 情感分析:高级情感检测和情感评分
- 📚 知识管理:文档问答和信息检索
- 🎨 精美Web界面:专业界面,结构化展示结果
- 🔧 可配置AI模型:支持Ollama(本地)和Azure OpenAI
🏗️ 系统架构
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web前端 │────│ Flask应用 │────│ MCP主机 │
│ (HTML/JS/CSS) │ │ (Web服务器) │ │ (AI协调器) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌─────────────────┐
│ MCP客户端 │
│ (通信模块) │
└─────────────────┘
│
┌───────────────────┬───────────────────┬───────────────────┬───────────────────┐
│ │ │ │ │
┌───────▼────────┐ ┌────────▼────────┐ ┌───────▼────────┐ ┌────────▼────────┐
│ 文本分析服务器 │ │ 代码审查服务器 │ │ 情感分析服务器 │ │ 知识管理服务器 │
│ 端口: 8001 │ │ 端口: 8002 │ │ 端口: 8003 │ │ 端口: 8004 │
└────────────────┘ └─────────────────┘ └────────────────┘ └─────────────────┘
📦 安装指南
1. Python安装
- 需要Python 3.8或更高版本
- 下载地址:https://python.org/downloads/
- 验证安装:
python --version或py --version
2. Ollama安装与设置
安装Ollama
- 下载Ollama:访问https://ollama.ai/download
- 根据操作系统安装:
- Windows:下载并运行安装程序
- macOS:
brew install ollama - Linux:
curl -fsSL https://ollama.ai/install.sh | sh
下载所需的AI模型
# 下载Llama 3.2 3B模型(本项目推荐)
ollama pull llama3.2:3b
# 验证模型是否安装
ollama list
启动Ollama服务
# 启动Ollama服务(保持运行)
ollama serve
3. Git安装(用于克隆仓库)
- 下载地址:https://git-scm.com/downloads
- 验证:
git --version
步骤1:克隆仓库
git clone https://github.com/harunraseed07/ADC_MCP_Project.git
cd ADC_MCP_Project
步骤2:安装Python依赖项
# 安装所需的包
pip install -r requirements.txt
步骤3:验证Ollama模型
# 确保llama3.2:3b可用
ollama list
# 如果未安装,下载它
ollama pull llama3.2:3b
步骤4:配置系统
系统已预先配置为使用:
- AI提供商:Ollama(本地)
- 模型:llama3.2:3b
- 端口:MCP服务器使用8001 - 8004,Web界面使用5000
配置文件位于config/目录中。
🚀 快速开始
方法1:自动启动(推荐)
# 启动所有服务器和Web应用程序(Windows)
start_demo_system.bat
# 对于PowerShell
./start_demo_system.bat
方法2:手动启动
# 终端1:启动文本分析服务器
python -m mcp_servers.text_analysis_server
# 终端2:启动代码审查服务器
python -m mcp_servers.code_review_server
# 终端3:启动情感分析服务器
python -m mcp_servers.sentiment_analysis_server
# 终端4:启动知识管理服务器
python -m mcp_servers.knowledge_server
# 终端5:启动Web应用程序
python web_app/app.py
步骤5:访问应用程序
- 打开浏览器
- 访问:http://localhost:5000
- 开始与AI助手交互!
💻 使用示例
文本分析
"Summarize this text: [你的文本内容]"
"Extract entities from: [你的文本]"
"Classify this content: [你的内容]"
代码审查
"Review this Python code: def function_name():"
"Check this JavaScript for bugs: [你的代码]"
"Analyze code quality: [你的代码]"
情感分析
"Analyze sentiment: I love this product!"
"What's the emotion in: [你的文本]"
"Sentiment of customer feedback: [反馈内容]"
知识管理
"Search for information about: [主题]"
"What do you know about: [主题]"
"Find documents related to: [查询内容]"
📚 详细文档
JSON - RPC 2.0合规性
所有通信遵循JSON - RPC 2.0规范:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "summarize_text",
"arguments": {"text": "你的文本内容"}
}
}
MCP标准方法
initialize:服务器能力握手tools/list:获取可用工具及其模式tools/call:使用参数执行工具resources/list:列出可用资源resources/read:读取资源内容
工具模式格式
{
"name": "summarize_text",
"description": "AI驱动的文本摘要",
"inputSchema": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "要摘要的文本"
}
},
"required": ["text"]
}
}
🔧 技术细节
AI模型配置
编辑config/mcp_config.json:
{
"ai_provider": "ollama",
"ai_model": "llama3.2:3b",
"ai_base_url": "http://localhost:11434"
}
服务器端口
- 文本分析:8001
- 代码审查:8002
- 情感分析:8003
- 知识管理:8004
- Web界面:5000
🛠️ 故障排除
常见问题
-
“Ollama未找到”错误
# 确保Ollama正在运行 ollama serve -
“模型未找到”错误
# 下载所需的模型 ollama pull llama3.2:3b -
端口已被使用
# 检查哪些进程正在使用端口 netstat -ano | findstr :8001 # 如果需要,终止进程 kill_all_servers.bat -
Python模块未找到
# 重新安装依赖项 pip install -r requirements.txt
实用脚本
check_ports.bat- 检查哪些端口正在使用kill_all_servers.bat- 停止所有正在运行的服务器start_demo_system.bat- 启动整个系统
🎓 工作坊活动
活动1:基础设置(15分钟)
- 安装先决条件(Python、Ollama)
- 下载llama3.2:3b模型
- 克隆并设置项目
- 启动系统并验证其是否正常工作
活动2:理解MCP(20分钟)
- 探索系统架构
- 研究AI路由的工作原理
- 测试不同类型的查询
- 观察服务器选择逻辑
活动3:定制(25分钟)
- 修改服务器响应
- 添加新的AI工具
- 定制Web界面
- 尝试不同的AI模型
活动4:高级功能(20分钟)
- 实现自定义服务器逻辑
- 添加新的MCP服务器
- 集成外部API
- 部署到生产环境
📁 项目结构
ADC_MCP_Project/
├── mcp_servers/ # MCP服务器实现
│ ├── text_analysis_server.py
│ ├── code_review_server.py
│ ├── sentiment_analysis_server.py
│ └── knowledge_server.py
├── mcp_client/ # 用于通信的MCP客户端
│ └── client.py
├── mcp_host/ # AI驱动的MCP主机
│ ├── host.py
│ └── ai_models.py
├── web_app/ # Flask Web应用程序
│ ├── app.py
│ ├── templates/
│ └── static/
├── config/ # 配置文件
│ └── mcp_config.json
├── scripts/ # 实用脚本
└── requirements.txt # Python依赖项
🤝 贡献指南
- 分叉仓库
- 创建功能分支:
git checkout -b feature-name - 进行更改
- 彻底测试
- 提交拉取请求
代码风格
- 遵循Python代码的PEP 8规范
- 使用有意义的变量和函数名
- 为类和函数添加文档字符串
- 注释复杂逻辑
📄 许可证
本项目遵循MIT许可证 - 详情请参阅LICENSE文件。
🆘 支持
- 问题反馈:通过GitHub Issues报告错误和请求功能
- 文档查阅:查看项目文件获取详细指南
- 社区交流:加入讨论以获取帮助和协作
🎉 致谢
- 基于模型上下文协议(MCP)框架构建
- 由Ollama和Llama 3.2 AI模型提供支持
- 受企业AI自动化需求启发
编码愉快!🚀 准备好探索AI驱动的企业应用程序的未来!
性能
资源使用
- 内存:约200 - 500MB(取决于AI模型)
- CPU:低(AI推理时会有峰值)
- 网络:最小(本地WebSocket通信)
可扩展性
- 每个服务器可以处理多个并发连接
- 常见查询的AI模型响应会被缓存
- WebSocket连接持久且高效
安全
当前实现
- 仅本地通信(localhost)
- 无需身份验证
- 使用模拟数据进行演示
生产环境考虑
- 添加身份验证和授权
- 使用HTTPS/WSS进行加密通信
- 实现速率限制
- 添加输入验证和清理
- 使用具有适当安全性的真实数据库
未来增强
- [ ] 添加更多服务器类型(天气、新闻等)
- [ ] 实现用户身份验证
- [ ] 添加持久数据存储
- [ ] 同时支持多个AI模型
- [ ] 实时通知
- [ ] 改进移动响应性
- [ ] 使用Swagger的API文档
- [ ] Docker容器化
- [ ] 支持Kubernetes部署
- [ ] 监控和指标仪表盘
Scan to join WeChat group