🤖 MCP企业人工智能辅助系统
一个全面的基于模型上下文协议(MCP)的人工智能应用程序,具有智能服务器选择、专用人工智能工具和用于企业级文本分析、代码审查、情感分析和知识管理的漂亮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 UI:具有结构化结果显示的专业界面
- 🔧 可配置的AI模型:支持Ollama(本地)和Azure OpenAI
🏗️ 系统架构
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web Frontend │────│ Flask App │────│ MCP Host │
│ (HTML/JS/CSS) │ │ (Web Server) │ │ (AI Coordinator)│
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌─────────────────┐
│ MCP Client │
│ (Communication) │
└─────────────────┘
│
┌───────────────────┬───────────────────┬───────────────────┬───────────────────┐
│ │ │ │ │
┌───────▼────────┐ ┌────────▼────────┐ ┌───────▼────────┐ ┌────────▼────────┐
│ Text Analysis │ │ Code Review │ │ Sentiment │ │ Knowledge │
│ Server │ │ Server │ │ Analysis │ │ Server │
│ Port: 8001 │ │ Port: 8002 │ │ Port: 8003 │ │ Port: 8004 │
└────────────────┘ └─────────────────┘ └────────────────┘ └─────────────────┘📋 先决条件
1.Python安装
- Python 3.8或更高版本 是必需的
- 下载地址:https://python.org/downloads/
- 验证安装:
python --version或py --version
2.Ollama安装和设置
安装Ollama
- 下载Ollama:参观https://ollama.ai/download
- 为您的操作系统安装:
- 视窗:下载并运行安装程序 - macOS: brew install ollama - Linux: curl -fsSL https://ollama.ai/install.sh | sh
下载所需的AI模型
# Download the Llama 3.2 3B model (recommended for this project)
ollama pull llama3.2:3b
# Verify the model is installed
ollama list启动Ollama服务
# Start Ollama service (keep this running)
ollama serve3.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依赖项
# Install required packages
pip install -r requirements.txt步骤3:验证Olama模型
# Make sure llama3.2:3b is available
ollama list
# If not installed, download it
ollama pull llama3.2:3b步骤4:配置系统
系统已预先配置为使用:
- AI提供商:Ollama(当地)
- 模型:骆驼3.2:3b
- 港口:8001-8004用于MCP服务器,5000用于web界面
配置文件位于 config/ 目录。
🎯 快速开始
方法1:自动启动(推荐)
# Start all servers and web application (Windows)
start_demo_system.bat
# For PowerShell
./start_demo_system.bat方法2:手动启动
# Terminal 1: Start Text Analysis Server
python -m mcp_servers.text_analysis_server
# Terminal 2: Start Code Review Server
python -m mcp_servers.code_review_server
# Terminal 3: Start Sentiment Analysis Server
python -m mcp_servers.sentiment_analysis_server
# Terminal 4: Start Knowledge Server
python -m mcp_servers.knowledge_server
# Terminal 5: Start Web Application
python web_app/app.py步骤5:访问应用程序
- 打开浏览器
- 导航到:http://localhost:5000
- 开始与AI助手互动!
💡 用法示例
文本分析
"Summarize this text: [your text here]"
"Extract entities from: [your text]"
"Classify this content: [your content]"代码审查
"Review this Python code: def function_name():"
"Check this JavaScript for bugs: [your code]"
"Analyze code quality: [your code]"情感分析
"Analyze sentiment: I love this product!"
"What's the emotion in: [your text]"
"Sentiment of customer feedback: [feedback]"知识管理
"Search for information about: [topic]"
"What do you know about: [subject]"
"Find documents related to: [query]"� MCP协议实现
JSON-RPC 2.0合规性
所有通信均遵循JSON-RPC 2.0规范:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "summarize_text",
"arguments": {"text": "Your text here"}
}
}MCP标准方法
initialize:服务器功能握手tools/list:获取具有模式的可用工具tools/call:使用参数执行工具resources/list:列出可用资源resources/read:读取资源内容
工具架构格式
{
"name": "summarize_text",
"description": "AI-powered text summarization",
"inputSchema": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Text to summarize"
}
},
"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
- 网络界面: 5000
🛠️ 故障排除
常见问题
- “找不到Ollama”错误
# Make sure Ollama is running
ollama serve- “找不到模型”错误
# Download the required model
ollama pull llama3.2:3b- 端口已在使用中
# Check what's using the ports
netstat -ano | findstr :8001
# Kill processes if needed
kill_all_servers.bat- 未找到Python模块
# Reinstall dependencies
pip install -r requirements.txt实用程序脚本
check_ports.bat-检查哪些端口正在使用中kill_all_servers.bat-停止所有正在运行的服务器start_demo_system.bat-启动整个系统
🎓 工作坊活动
活动1:基本设置(15分钟)
- 安装先决条件(Python、Ollama)
- 下载骆驼3.2:3b模型
- 克隆并设置项目
- 启动系统并验证其是否正常工作
活动2:了解MCP(20分钟)
- 探索系统架构
- 检查AI路由是如何工作的
- 测试不同类型的查询
- 观察服务器选择逻辑
活动3:定制(25分钟)
- 修改服务器响应
- 添加新的AI工具
- 自定义web界面
- 尝试不同的AI模型
活动4:高级功能(20分钟)
- 实现自定义服务器逻辑
- 添加新的MCP服务器
- 集成外部API
- 部署到生产环境
📁 项目结构
ADC_MCP_Project/
├── mcp_servers/ # MCP server implementations
│ ├── text_analysis_server.py
│ ├── code_review_server.py
│ ├── sentiment_analysis_server.py
│ └── knowledge_server.py
├── mcp_client/ # MCP client for communication
│ └── client.py
├── mcp_host/ # AI-powered MCP host
│ ├── host.py
│ └── ai_models.py
├── web_app/ # Flask web application
│ ├── app.py
│ ├── templates/
│ └── static/
├── config/ # Configuration files
│ └── mcp_config.json
├── scripts/ # Utility scripts
└── requirements.txt # Python dependencies🤝 贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature-name - 进行更改
- 彻底测试
- 提交拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🆘 支持
- 问题:通过GitHub Issues报告错误和请求功能
- 文档:查看项目文件以获取详细指南
- 社区:加入讨论以获得帮助和协作
🎉 致谢
- 基于模型上下文协议(MCP)框架构建
- 由Ollama和Llama 3.2 AI模型提供支持
- 受企业人工智能自动化需求的启发
______________________________________________________________________
快乐编码! 🚀 准备好探索人工智能驱动的企业应用的未来了!
- 验证端口配置
4.Web UI未加载:
- 检查Flask是否在正确的端口上运行
- 验证模板文件是否存在
- 检查浏览器控制台是否有错误
日志记录
通过设置启用调试日志记录:
FLASK_DEBUG=True
LOG_LEVEL=DEBUG在启动应用程序的终端中查看日志。
📊 演出
资源使用情况
- 记忆:约200-500MB(取决于AI模型)
- 中央处理器:低(AI推理过程中出现峰值)
- 网络:最小(本地WebSocket通信)
可扩展性
- 每个服务器都可以处理多个并发连接
- 为常见查询缓存AI模型响应
- WebSocket连接持久且高效
🔒 安全
当前实施情况
- 仅限本地通信(localhost)
- 无需认证
- 用于演示的模拟数据
生产注意事项
- 添加身份验证和授权
- 使用HTTPS/WSS进行加密通信
- 实施速率限制
- 添加输入验证和净化
- 使用具有适当安全性的真实数据库
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
代码的风格
- Python代码遵循PEP 8
- 使用有意义的变量和函数名
- 为类和函数添加文档字符串
- 评论复杂逻辑
📝 许可证
该项目仅用于演示目的。有关详细信息,请参阅LICENSE文件。
🆘 支持
对于问题和疑问:
- 检查故障排除部分
- 查看服务器日志
- 打开一个包含详细信息的问题
🎯 未来的增强功能
- \[\]添加更多服务器类型(天气、新闻等)
- \[\]实现用户身份验证
- \[\]添加持久数据存储
- \[\]同时支持多个AI模型
- \[\]实时通知
- \[\]移动响应改进
- \[\]带有Swagger的API文档
- \[\]Docker容器化
- \[\]Kubernetes部署支持
- \[\]监控和指标仪表板
______________________________________________________________________
内置❤️ 使用模型上下文协议(MCP)
