使用说明
CX TimeFilter MCP 服务器
A. 模型上下文协议(MCP)服务器 为CX仪表板提供时间过滤工具。该服务器提供了时间过滤功能,任何兼容MCP的客户端(包括Langflow)均可使用。
🎯(目标) 特点/特性
- 设置预定义时间段上个月,最近7天,本季度等。
- 设置自定义日期范围指定确切的开始和结束日期
- 列出可用时间段获取所有支持的时间段
- 基于HTTP的MCP协议易于与任何MCP客户端集成
- 可选认证API密钥保护
- 全面验证输入验证和错误处理
🚀(火箭/快速上升的箭头,常用于表示快速进展、进步或加速) 快速入门
1. 安装
# Clone or create the project directory
mkdir cx-timefilter-mcp-server
cd cx-timefilter-mcp-server
# Install dependencies
npm install
2. 配置
# Copy environment template
cp env.example .env
# Edit .env file
PORT=3000
NODE_ENV=development
MCP_API_KEY=your-secret-api-key-here
ALLOWED_ORIGINS=http://localhost:3001,https://your-langflow-instance.com
3. 启动服务器
# Development mode
npm run dev
# Production mode
npm start
# Run tests
npm test
4. 验证安装
# Health check
curl http://localhost:3000/health
# List available tools
curl http://localhost:3000/mcp/tools
# Test a tool (with API key if configured)
curl -X POST http://localhost:3000/mcp/tools/call \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{
"name": "set_time_period",
"arguments": {
"timePeriodName": "Last Month",
"tabName": "Overview"
}
}'
🛠️(扳手,常用于表示工具或修理) 可用工具
1. 设置时间段
为仪表板选项卡设置一个预定义的时间段。
参数:
timePeriodName(字符串):时间段的确切名称tabName(字符串):仪表板选项卡名称
示例:
{
"name": "set_time_period",
"arguments": {
"timePeriodName": "Last Month",
"tabName": "Overview"
}
}
2. 设置自定义日期范围
设置一个自定义日期范围,指定具体的开始日期和结束日期。
参数:
startDate(字符串):开始日期,格式为YYYY-MM-DDendDate(字符串):结束日期,格式为YYYY-MM-DDtabName(字符串):仪表板选项卡名称
示例:
{
"name": "set_custom_date_range",
"arguments": {
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"tabName": "Comparison"
}
}
3. 列出时间段
列出所有可用的预定义时间段。
参数: 无
示例:
{
"name": "list_time_periods",
"arguments": {}
}
🔗(此符号通常表示链接,但无具体上下文,故直接以原符号呈现) API 端点
| 终点(Endpoint) | 方法(Method) | 描述(Description) |
|---|---|---|
/health |
GET | 健康检查 |
/mcp/info |
GET | MCP 协议信息 |
/mcp/tools |
GET | 列出可用工具列表 |
/mcp/tools/call |
POST | 执行一个工具 |
/mcp |
POST | 完整的MCP协议端点 |
🔐 认证
服务器支持可选的API密钥认证:
- 设置API密钥添加
MCP_API_KEY=your-secret-key到;向;对于;为了;在(表示时间或地点).env - 在请求中包含添加
Authorization: Bearer your-secret-key头球 - 替代格式:
ApiKey your-secret-key或者Key your-secret-key
🌐(表示“世界”或“互联网”的符号) Langflow 集成
步骤1:添加MCP工具组件
- 打开你的Langflow项目
- 添加一个“MCP 工具”组件
- 配置连接
步骤2:配置连接
{
"serverName": "CX TimeFilter Server",
"connectionMode": "HTTP",
"serverUrl": "http://localhost:3000",
"apiKey": "your-api-key",
"endpoints": {
"tools": "/mcp/tools",
"call": "/mcp/tools/call"
}
}
步骤3:在流程中使用工具
这些工具将出现在Langflow中,并且可以在您的AI工作流程中使用。
📦 箱子/包裹 部署
铁路(推荐)
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway init
railway up
渲染
- 连接您的GitHub仓库
- 设置环境变量
- 自动部署
Docker
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
🧪 表示“实验”或“试管”的意思。 测试
# Run built-in tests
npm test
# Manual testing with curl
curl -X POST http://localhost:3000/mcp/tools/call \
-H "Content-Type: application/json" \
-d '{
"name": "list_time_periods",
"arguments": {}
}'
📊(图表) 支持的时间段
日历周期:
- 全部时间,今天,昨天
- 本周,上周
- 本月,上月
- 本季度,上季度
- 今年,去年
滚动周期:
- 过去24小时,过去7天,过去14天
- 过去30天,过去90天,过去180天
- 过去12个月
自定义周期:
- 任何以YYYY-MM-DD格式表示的日期范围
🔧 修理工具或扳手的符号,常用于表示需要修理或维护的物品或情境。 发展
项目结构
cx-timefilter-mcp-server/
├── src/
│ ├── server.js # Main server
│ ├── tools/
│ │ └── timefilter.js # Time filter tools
│ ├── utils/
│ │ └── mcp-protocol.js # MCP utilities
│ ├── middleware/
│ │ └── auth.js # Authentication
│ └── test.js # Test suite
├── package.json
├── .env
└── README.md
添加新工具
- 在(某处/某系统中)创建工具定义
src/tools/ - 添加验证模式
- 实现执行函数
- 导出到工具数组
- 更新README文件
🐛(虫子,常用来表示一个错误或小故障,类似于“bug”) 故障排除
常见问题:
- 端口已被使用改变
PORTin.env - CORS 错误更新
ALLOWED_ORIGINSin.env - 认证失败检查
MCP_API_KEY配置 - 未找到工具验证工具名称完全匹配
调试模式:
NODE_ENV=development npm start
📄(文件/纸张) 许可证
MIT 许可证 - 详情请参阅 LICENSE 文件。
🤝(握手) 做出贡献
- 为仓库创建分支副本
- 创建一个特性分支
- 做出你的更改
- 添加测试
- 提交拉取请求
准备与Langflow集成,并通过MCP开始筛选时间段! 🎉