客户数据MCP服务器
一种模型上下文协议(MCP)服务器,为AI代理提供客户数据访问工具。该服务器通过标准化的MCP接口公开客户信息、订单历史、忠诚度状态和支持票。
特性
可用工具
- lookup_客户 -通过ID或电子邮件查找客户
- 获取订单状态 -获取详细的订单信息
- get_customer_order_history -查看完整的订单历史记录
- check_loyalty_status -检查忠诚度等级和积分
- get_support_tickets -获取客户支持票
- 搜索客户记录 -按姓名/电子邮件/ID搜索客户
- 验证客户身份 -通过ID+电子邮件验证客户
- get_shipping_address -获取客户的收货地址
包含模拟数据
客户:
- CUST001-约翰·史密斯(金级,12个订单)
- CUST002-莎拉·约翰逊(银牌,5个订单)
- CUST003-陈(白金级,28个订单)
订单:
- 12345-已发货(约翰·史密斯)
- 67890-加工(莎拉·约翰逊)
- 54321-已交付(Michael Chen)
- 98765-取消(约翰·史密斯)
支持票:
- TKT001-打开交货单
- TKT002-已解决的设置问题
设置
1.安装依赖项
cd mcp_server
pip install -r requirements.txt2.运行服务器
python server.py服务器将以stdio模式启动,准备通过MCP协议进行通信。
3.在ElevenLabs仪表板中配置
要将此MCP服务器连接到ElevenLabs代理:
选项A:通过ElevenLabs MCP集成(推荐)
- 首选https://elevenlabs.io/app/conversational-ai
- 选择您的代理
- 导航至 工具和MCP 设置
- 点击 添加MCP服务器
- 配置:
- 服务器类型:自定义MCP服务器 - 连接标准: stdio - 命令: python /path/to/starjumper/mcp_server/server.py
- 保存并测试连接
选项B:通过Claude桌面配置(用于测试)
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在Mac上):
{
"mcpServers": {
"customer-data": {
"command": "python",
"args": ["/path/to/starjumper/mcp_server/server.py"]
}
}
}使用示例
示例1:查找客户
代理查询: “你能查一下客户CUST001吗?”
工具调用:
{
"tool": "lookup_customer",
"parameters": {
"customer_id": "CUST001"
}
}答复:
{
"customer_id": "CUST001",
"name": "John Smith",
"email": "john.smith@email.com",
"phone": "+1-555-0101",
"loyalty_tier": "Gold",
"loyalty_points": 2500,
"total_orders": 12
}示例2:检查订单状态
代理查询: “订单12345的状态如何?”
工具调用:
{
"tool": "get_order_status",
"parameters": {
"order_id": "12345"
}
}答复:
{
"order_id": "12345",
"customer_id": "CUST001",
"status": "shipped",
"tracking": "TRK789456123",
"items": [{"name": "Wireless Headphones", "quantity": 1, "price": 79.99}],
"total": 93.18,
"estimated_delivery": "2025-12-05"
}示例3:检查忠诚度状态
代理查询: “什么是忠诚状态john.smith@email.com?"
工具调用顺序:
- 首先,通过电子邮件查找客户:
{
"tool": "lookup_customer",
"parameters": {
"email": "john.smith@email.com"
}
}- 然后检查忠诚度状态:
{
"tool": "check_loyalty_status",
"parameters": {
"customer_id": "CUST001"
}
}答复:
{
"customer_id": "CUST001",
"customer_name": "John Smith",
"loyalty_tier": "Gold",
"loyalty_points": 2500,
"benefits": ["Free standard shipping", "Priority support", "10% discount"],
"points_to_next_tier": 500
}与Mock网站集成
MCP服务器可以与Flask模拟网站协同工作(mock_website/):
- Flask网站:提供用户界面和基本订单查找
- MCP服务器:为AI代理提供全面的客户数据访问
为了保持一致性,两者共享相同的模拟数据结构。
连接两个系统
将ElevenLabs代理配置更新为:
- 使用 官方小部件嵌入 (来自mock_website)用于聊天界面
- 连接到 MCP服务器 用于全面的数据访问
- 使用 客户端工具 在网站上进行简单的订单查找
代理提示建议
使用以下提示配置ElevenLabs代理:
You are a helpful customer support agent for TechStore. You have access to customer data tools via MCP.
When helping customers:
1. Always verify their identity before sharing personal information
2. Use lookup_customer to find customer records by email or ID
3. Use get_order_status to check on specific orders
4. Use check_loyalty_status to inform customers about their benefits
5. Be friendly and professional
Available customer IDs for testing:
- CUST001 (John Smith - john.smith@email.com)
- CUST002 (Sarah Johnson - sarah.j@email.com)
- CUST003 (Michael Chen - m.chen@email.com)
Available order IDs for testing:
- 12345, 67890, 54321, 98765测试
测试客户查询
# Test the server directly
python server.py
# In another terminal, test with MCP client
# (Requires MCP client implementation)测试查询
请与您的代理尝试以下查询:
- “你能查一下我的账户吗?我的电子邮件是john.smith@email.com"
- “订单12345的状态如何?”
- “我有多少忠诚度积分?”
- “显示我以前的所有订单”
- “我有开放的支持票吗?”
定制
添加更多客户
编辑 customer_data.py 并添加到 CUSTOMERS 字典:
CUSTOMERS["CUST004"] = {
"customer_id": "CUST004",
"name": "Jane Doe",
"email": "jane.doe@email.com",
# ... other fields
}添加更多工具
在 server.py,添加一个带有装饰器的新工具:
@mcp.tool()
def your_new_tool(param1: str) -> Dict[str, Any]:
"""
Description of what this tool does.
Args:
param1: Description of parameter
Returns:
Description of return value
"""
# Your implementation
return {"result": "data"}故障排除
MCP服务器未连接
- 验证服务器是否无错误运行:
python server.py - 检查ElevenLabs仪表板中的命令路径是否正确
- 确保Python和所有依赖项都已安装
工具未显示
- 更改后重新启动MCP服务器
- 刷新ElevenLabs仪表板中的代理配置
- 检查服务器日志是否有任何错误
找不到数据错误
- 验证您使用的ID是否正确(CUST001、CUST002、CUST003)
- 检查订单ID:12345、67890、54321、98765
- 客户电子邮件不区分大小写
建筑
┌─────────────────┐
│ ElevenLabs │
│ Agent │
└────────┬────────┘
│ MCP Protocol
│ (stdio)
┌────────▼────────┐
│ MCP Server │
│ (server.py) │
└────────┬────────┘
│
┌────────▼────────┐
│ Customer Data │
│ (customer_data.py)
└─────────────────┘安全说明
⚠️ 这是一个带有硬编码数据的演示/模拟服务器。
用于生产用途:
- 连接到真实数据库而不是模拟数据
- 实施适当的身份验证/授权
- 添加速率限制
- 加密敏感客户数据
- 添加数据访问的审核日志记录
- 验证所有输入
许可证
麻省理工学院
