Back to MCP directory
publicPublicdnsLocal runtime

adc_mcp_project

基于Model Context Protocol的企业级AI助手系统,具备智能服务器选择、文本分析、代码审查、情感分析和知识管理功能,提供美观的Web界面。

article

README

🚀 MCP企业AI助手系统

这是一个基于综合模型上下文协议(MCP)的AI应用程序,具备智能服务器选择、专业AI工具和美观的Web界面,可用于企业级文本分析、代码审查、情感分析和知识管理。

✨ 主要特性

🏗️ 真正的MCP(模型上下文协议)实现

  • 📋 JSON - RPC 2.0协议:完全符合JSON - RPC 2.0规范
  • 🔍 MCP初始化握手:进行正确的服务器能力协商
  • 🔄 标准MCP方法initializetools/listtools/callresources/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 --versionpy --version

2. Ollama安装与设置

安装Ollama

  1. 下载Ollama:访问https://ollama.ai/download
  2. 根据操作系统安装
    • Windows:下载并运行安装程序
    • macOSbrew install ollama
    • Linuxcurl -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:访问应用程序

  1. 打开浏览器
  2. 访问:http://localhost:5000
  3. 开始与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

🛠️ 故障排除

常见问题

  1. “Ollama未找到”错误

    # 确保Ollama正在运行
    ollama serve
    
  2. “模型未找到”错误

    # 下载所需的模型
    ollama pull llama3.2:3b
    
  3. 端口已被使用

    # 检查哪些进程正在使用端口
    netstat -ano | findstr :8001
    # 如果需要,终止进程
    kill_all_servers.bat
    
  4. Python模块未找到

    # 重新安装依赖项
    pip install -r requirements.txt
    

实用脚本

  • check_ports.bat - 检查哪些端口正在使用
  • kill_all_servers.bat - 停止所有正在运行的服务器
  • start_demo_system.bat - 启动整个系统

🎓 工作坊活动

活动1:基础设置(15分钟)

  1. 安装先决条件(Python、Ollama)
  2. 下载llama3.2:3b模型
  3. 克隆并设置项目
  4. 启动系统并验证其是否正常工作

活动2:理解MCP(20分钟)

  1. 探索系统架构
  2. 研究AI路由的工作原理
  3. 测试不同类型的查询
  4. 观察服务器选择逻辑

活动3:定制(25分钟)

  1. 修改服务器响应
  2. 添加新的AI工具
  3. 定制Web界面
  4. 尝试不同的AI模型

活动4:高级功能(20分钟)

  1. 实现自定义服务器逻辑
  2. 添加新的MCP服务器
  3. 集成外部API
  4. 部署到生产环境

📁 项目结构

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依赖项

🤝 贡献指南

  1. 分叉仓库
  2. 创建功能分支:git checkout -b feature-name
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

代码风格

  • 遵循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部署
  • [ ] 监控和指标仪表盘
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client