MCP问答聊天机器人

一个专注于回答有关模型上下文协议(MCP)问题的问答聊天机器人,帮助开发人员理解MCP概念、实现、最佳实践和故障排除。

  • by dhruvsahu007
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dhruvsahu007/live-q-a-chatbot-about-mcp-servers

使用说明

MCP问答聊天机器人

一个全面的问答聊天机器人,专门回答有关模型上下文协议(MCP)的问题。这个聊天机器人帮助开发人员了解MCP的概念、实现、最佳实践和故障排除。

特性

  • 🤖 AI驱动的响应:使用OpenAI GPT-3.5-turbo提供智能答案
  • 📚 综合知识库:涵盖MCP概念、实现模式和常见问题
  • 🔍 语义搜索:使用句子嵌入查找相关信息
  • 💬 交互式用户界面:简洁易用的Streamlit界面
  • 🎯 建议的问题:帮助用户入门的预构建问题
  • 📱 响应式设计:适用于不同尺寸的屏幕

聊天机器人涵盖了什么

MCP核心概念

  • 模型上下文协议概述和架构
  • 客户端-服务器通信模式
  • 传输层(stdio、HTTP、WebSocket)
  • 协议实施细节

MCP能力

  • 资源:静态和动态数据访问
  • 工具:函数调用和动作执行
  • 提示:可重用的提示模板
  • 采样:LLM完成请求

实施指南

  • 分步开发指南
  • 最佳实践和设计模式
  • 安全注意事项
  • 性能优化

故障排除

  • 常见问题和解决方案
  • 调试技术
  • 连接问题
  • 协议错误

安装说明

先决条件

  • Python 3.8或更高版本
  • OpenAI API密钥
  • 虚拟环境(推荐)

安装

  1. 克隆或导航到项目目录

    cd "D:\Desktop\Masai\W4D1\Q&A-Chatbot-About-MCP-Servers"
    
  2. 安装依赖项

    pip install -r requirements.txt
    
  3. 设置环境变量

    • 复制 .env.example 向 .env
    • 添加您的OpenAI API密钥:
    OPENAI_API_KEY=your_actual_api_key_here
    
  4. 运行应用程序

    streamlit run app.py
    
  5. 打开浏览器 并前往 http://localhost:8501

用法

入门指南

  1. 在web浏览器中打开应用程序
  2. 使用建议的问题探索MCP主题
  3. 在聊天输入中键入您自己的问题
  4. 获取有关MCP的详细、上下文相关的答案

示例问题

  • “什么是模型上下文协议?”
  • “如何创建我的第一个MCP服务器?”
  • “MCP的安全考虑是什么?”
  • “如何在MCP服务器中实现工具?”
  • “资源和工具有什么区别?”

功能概述

  • 聊天界面:带有消息历史记录的主要对话区域
  • 建议的问题:右侧边栏上的快速入门问题
  • 知识库:自动引用综合MCP信息
  • 语义搜索:查找每个问题的相关上下文
  • 清除聊天:重置对话历史记录

项目结构

Q&A-Chatbot-About-MCP-Servers/
│
├── app.py                 # Main Streamlit application
├── mcp_chatbot.py        # Chatbot logic and knowledge base handler
├── knowledge_base.json   # Comprehensive MCP knowledge base
├── requirements.txt      # Python dependencies
├── .env.example         # Environment variables template
├── .env                 # Your actual environment variables (create this)
├── Procfile              # Render deployment configuration
├── runtime.txt           # Python version for deployment
├── .streamlit/           # Streamlit configuration for deployment
│   └── config.toml
├── DEPLOYMENT.md         # Detailed deployment guide
└── README.md           # This file

部署

部署以渲染(推荐)

此应用程序已准备好在Render上部署。看 DEPLOYMENT.md 详细说明。

快速部署步骤:

  1. 将代码推送到GitHub
  2. 将您的GitHub仓库连接到Render
  3. 设置环境变量(尤其是 OPENAI_API_KEY)
  4. 部署!

现场演示:部署后,您的应用程序将在以下URL上可用: https://your-app-name.onrender.com

地方发展

对于本地开发,请按照上述安装说明进行操作。

技术细节

建筑

  • 前端:流线型网页界面
  • 后端:OpenAI GPT-3.5-turbo API
  • 知识库:基于JSON的关键字搜索
  • 部署:已准备好渲染云主机
  • 搜索:用于上下文检索的智能关键字匹配

关键组件

  1. MCP知识库类

    • 加载和管理MCP知识
    • 执行智能关键字搜索
    • 查找问题的相关上下文
  2. MCPChatbot类

    • 处理OpenAI API交互
    • 格式化上下文并生成响应
    • 管理对话历史记录
  3. 流媒体接口

    • 用户友好的聊天界面
    • 建议问题侧栏
    • 配置状态显示

知识库主题

  • MCP概述和架构
  • 能力(资源、工具、提示、采样)
  • 实现模式
  • 安全最佳实践
  • 常见用例
  • 故障排除指南
  • 开发指南
  • 协议细节
  • 生态系统和工具

配置

环境变量

OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-3.5-turbo
MAX_TOKENS=1000
TEMPERATURE=0.7

定制

  • 知识库:编辑 knowledge_base.json 添加更多MCP信息
  • UI造型:修改CSS app.py 用于自定义外观
  • 模型设置:调整温度,max_tokens .env 文件
  • 建议的问题:更新列表 mcp_chatbot.py

故障排除

常见问题

  1. API密钥错误

    • 确保在中正确设置了OpenAI API密钥 .env
    • 检查钥匙是否有足够的积分
  2. 模块导入错误

    • 安装所有要求: pip install -r requirements.txt
    • 确保您处于正确的虚拟环境中
  3. Streamlit未启动

    • 检查端口8501是否可用
    • 尝试使用其他端口运行: streamlit run app.py --server.port 8502
  4. 知识库未加载

    • 确保 knowledge_base.json 存在于项目目录中
    • 如果修改了文件,请检查JSON语法

贡献

您可以通过以下方式增强聊天机器人:

  • 向知识库添加更多MCP知识
  • 改进UI/UX设计
  • 添加对话导出等新功能
  • 优化搜索和响应质量

许可证

该项目是马赛课程的一部分,用于教育目的。

致谢

  • 模型上下文协议文档和社区
  • 用于GPT-3.5-turbo API的OpenAI
  • Streamlit用于web框架
  • 语义搜索功能的句子转换器