MCP服务器问答聊天机器人
一个专门的聊天机器人应用程序,提供有关模型上下文协议(MCP)服务器的信息并回答问题。该聊天机器人利用MCP相关信息的知识库来帮助用户了解MCP架构、服务器类型、实现细节和最佳实践。
特性
- 交互式聊天界面,用于询问有关MCP服务器的问题
- 包含MCP综合信息的知识库
- 具有向量相似性和关键字回退的高级搜索
- 上下文感知的后续问题检测
- 分类快速访问问题,便于探索
- 反馈机制,用于将响应评为有帮助或没有帮助
- 技术示例的代码语法高亮显示
- 适用于桌面和移动设备的响应式设计
- 辅助功能可提高可用性
项目结构
├── backend/ # Backend server code
│ ├── src/ # Source code
│ │ ├── index.ts # Server entry point
│ │ ├── routes/ # API routes
│ │ └── services/ # Business logic
│ ├── knowledge_base.md # MCP knowledge base content
│ ├── package.json # Backend dependencies
│ └── tsconfig.json # TypeScript configuration
├── frontend/ # Frontend React application
│ ├── src/ # Source code
│ │ ├── App.tsx # Main application component
│ │ ├── App.css # Styles for the application
│ │ └── ... # Other React components
│ ├── package.json # Frontend dependencies
│ └── vite.config.ts # Vite configuration
└── README.md # Project documentation先决条件
- Node.js(v16或更高版本)
- npm或纱线
入门指南
后端设置
- 导航到后端目录:
cd backend- 安装依赖项:
npm install- 构建TypeScript代码:
npm run build- 启动后端服务器:
npm run dev后端服务器将在http://localhost:3001
前端设置
- 导航到前端目录:
cd frontend- 安装依赖项:
npm install- 启动开发服务器:
npm run dev前端应用程序将在http://localhost:3000
用法
- 打开浏览器并导航到http://localhost:3000
- 您将看到带有欢迎消息的聊天界面
- 在输入框中键入有关MCP服务器的问题,然后按Enter键或单击“发送”按钮
- 聊天机器人将用知识库中的相关信息做出回应
扩展知识库
聊天机器人的知识存储在 backend/knowledge_base.md。您可以使用有关MCP服务器的其他信息扩展或更新此文件。该文件使用Markdown格式,便于编辑和可读。
API文档
聊天API
端点: POST /api/chat
说明: 发送用户消息和对话历史记录,以获得聊天机器人的响应。
请求正文:
{
"message": "What are MCP Servers?",
"conversationHistory": [
{ "role": "user", "content": "Tell me about MCP" },
{ "role": "assistant", "content": "MCP (Model Context Protocol) is an open protocol..." }
]
}答复:
{
"response": "MCP Servers are specialized servers that implement the Model Context Protocol..."
}健康检查API
端点: GET /api/health
说明: 检查API是否正常运行。
答复:
{
"status": "ok"
}高级功能指南
情境感知跟进问题
聊天机器人可以理解一个问题何时是前一个问题的后续。它使用语言标记、消息长度和主题连续性来检测后续行动,并在整个对话中保持上下文。
快速访问问题
该界面提供分类的快速访问问题,帮助用户无需键入即可探索MCP主题。这些内容分为:
- 概念:对MCP及其组件的基本理解
- 实施:如何构建和使用MCP服务器
- 故障排除:常见问题及其解决方案
- 工具:MCP开发的资源和实用程序
反馈系统
在收到回复后,用户可以通过点击向上(有帮助)或向下(没有帮助)按钮来提供反馈。随着时间的推移,这种反馈可用于改善聊天机器人的响应。
未来的增强功能
- 与矢量数据库集成,实现更高效的语义搜索
- 连接到LLM API以获得更自然和上下文的响应
- 用户身份验证和对话历史存储
- 与实际MCP服务器集成,进行现场演示
- 分析仪表板,用于跟踪常见问题并改进知识库
许可证
该项目根据ISC许可证获得许可。
