AI客服机器人MCP服务
一个使用Cursor AI和Glama.ai集成的模型上下文协议(MCP)服务器,提供由AI驱动的客户支持。
服务介绍
AI 客户支持机器人 - MCP 服务器
一个使用 Cursor AI 和 Glama.ai 集成提供基于 AI 的客户支持的模型上下文协议 (MCP) 服务器。
功能
- 从 Glama.ai 实时获取上下文
- 使用 Cursor AI 生成基于 AI 的响应
- 批处理支持
- 优先级队列
- 速率限制
- 用户交互跟踪
- 健康监控
- 符合 MCP 协议
先决条件
- Python 3.8+
- PostgreSQL 数据库
- Glama.ai API 密钥
- Cursor AI API 密钥
安装
- 克隆仓库:
git clone <repository-url>
cd <repository-name>
- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
- 根据
.env.example创建一个.env文件:
cp .env.example .env
- 使用您的凭据配置
.env文件:
# API Keys
GLAMA_API_KEY=your_glama_api_key_here
CURSOR_API_KEY=your_cursor_api_key_here
# Database
DATABASE_URL=postgresql://user:password@localhost/customer_support_bot
# API URLs
GLAMA_API_URL=https://api.glama.ai/v1
# Security
SECRET_KEY=your_secret_key_here
# MCP Server Configuration
SERVER_NAME="AI Customer Support Bot"
SERVER_VERSION="1.0.0"
API_PREFIX="/mcp"
MAX_CONTEXT_RESULTS=5
# Rate Limiting
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_PERIOD=60
# Logging
LOG_LEVEL=INFO
- 设置数据库:
# Create the database
createdb customer_support_bot
# Run migrations (if using Alembic)
alembic upgrade head
运行服务器
启动服务器:
python app.py
服务器将在 http://localhost:8000 上可用
API 端点
1. 根端点
GET /
返回基本的服务器信息。
2. MCP 版本
GET /mcp/version
返回支持的 MCP 协议版本。
3. 功能
GET /mcp/capabilities
返回服务器功能和支持的功能。
4. 处理请求
POST /mcp/process
处理带有上下文的单个查询。
示例请求:
curl -X POST http://localhost:8000/mcp/process \
-H "Content-Type: application/json" \
-H "X-MCP-Auth: your-auth-token" \
-H "X-MCP-Version: 1.0" \
-d '{
"query": "How do I reset my password?",
"priority": "high",
"mcp_version": "1.0"
}'
5. 批处理
POST /mcp/batch
在单个请求中处理多个查询。
示例请求:
curl -X POST http://localhost:8000/mcp/batch \
-H "Content-Type: application/json" \
-H "X-MCP-Auth: your-auth-token" \
-H "X-MCP-Version: 1.0" \
-d '{
"queries": [
"How do I reset my password?",
"What are your business hours?",
"How do I contact support?"
],
"mcp_version": "1.0"
}'
6. 健康检查
GET /mcp/health
检查服务器健康和服务状态。
速率限制
服务器实现速率限制,具有以下默认设置:
- 每 60 秒 100 个请求
- 速率限制信息包含在健康检查端点中
- 超出速率限制的响应包括重置时间
错误处理
服务器以以下格式返回结构化的错误响应:
{
"code": "ERROR_CODE",
"message": "Error description",
"details": {
"timestamp": "2024-02-14T12:00:00Z",
"additional_info": "value"
}
}
常见错误代码:
RATE_LIMIT_EXCEEDED: 超出速率限制UNSUPPORTED_MCP_VERSION: 不支持的 MCP 版本PROCESSING_ERROR: 请求处理错误CONTEXT_FETCH_ERROR: 从 Glama.ai 获取上下文时出错BATCH_PROCESSING_ERROR: 批处理请求时出错
开发
项目结构
.
├── app.py # Main application file
├── database.py # Database configuration
├── middleware.py # Middleware (rate limiting, validation)
├── models.py # Database models
├── mcp_config.py # MCP-specific configuration
├── requirements.txt # Python dependencies
└── .env # Environment variables
添加新功能
- 更新
mcp_config.py以添加新的配置选项 - 如果需要,在
models.py中添加新模型 - 在
app.py中创建新端点 - 更新功能端点以反映新功能
安全性
- 所有 MCP 端点都需要通过
X-MCP-Auth头进行身份验证 - 实现了速率限制以防止滥用
- 应保护数据库凭据的安全
- API 密钥不应提交到版本控制系统
监控
服务器提供了用于监控的健康检查端点:
- 服务状态
- 速率限制使用情况
- 已连接的服务
- 处理时间
贡献
- 叉分仓库
- 创建特性分支
- 提交更改
- 推送到分支
- 创建拉取请求
许可证
[此处插入许可证]
支持
如需支持,请联系 [此处插入联系方式]