Coralogix查询MCP
一个模型上下文协议(MCP)服务器,提供对Coralogix日志查询功能的AI优化访问。旨在与AI代理无缝协作,同时高效处理大型日志响应。
特性
- AI优化响应:智能日志处理和截断,以防止LLM上下文溢出
- 架构发现:内置模式信息和字段文档,可有效构建查询
- 自动查询检测:自动检测和处理Lucene和DataPrime查询语法
- 智能分页:为全面的日志调查提供高效的分页支持
- 响应处理:堆栈跟踪和大型日志消息的智能截断
- 存档支持:自动包含历史数据查询的存档
- 重试逻辑:具有指数回退的内置重试机制
与MCP客户端一起使用
光标/克劳德桌面
添加到MCP设置中:
{
"mcpServers": {
"coralogix": {
"command": "npx",
"args": ["-y", "coralogix-query-mcp"],
"env": {
"CORALOGIX_API_KEY": "your_api_key",
"CORALOGIX_DOMAIN": "EU1"
}
}
}
}其他MCP客户端
配置您的MCP客户端以运行:
CORALOGIX_API_KEY=your_key CORALOGIX_DOMAIN=EU1 npx -y coralogix-query-mcp配置
环境变量
服务器需要两个环境变量:
- CORALOGIX_API_KEY公司:您的Coralogix个人API密钥
- 来自:https://coralogix.com/docs/user-guides/account-management/api-keys/api-keys/#add-a-custom-api-key
- 珊瑚学域:您的Coralogix域名所在地区
- 选项: US1, US2, EU1, EU2, AP1, AP2, AP3 - 请参阅:https://coralogix.com/docs/management-api-endpoints/
可用工具
query_logs
使用AI优化的响应和分页支持查询Coralogix日志。
参数:
query(必填):搜索查询字符串
- 示例: "level:ERROR", "exception timeout", "source logs | filter level == \"ERROR\""
timeframe(可选):时间窗口-"15m","1h","6h","24h",或"custom"
- 违约: "1h"
startDate(可选):ISO格式的开始日期(如果时间范围是“自定义”,则需要)endDate(可选):ISO格式的结束日期(如果时间范围是“自定义”,则需要)limit(可选):每页结果(1-50,默认值:20)page(可选):分页页码(默认值:1)
例子:
await query_logs({
query: "level:ERROR",
timeframe: "1h",
});get_logs_schema
获取Coralogix日志的全面架构信息,包括可用字段、搜索示例和查询语法文档。无需参数-返回完整的模式和示例。
例子:
await get_logs_schema();答复包括:
- 公共领域:具有类型、描述和示例的可用日志字段
- 搜索例子:常见用例的实用查询示例
- 查询提示:Lucene和DataPrime的语法提示
- 域别名:为方便起见,可选择字段名称
AI代理工作流
这些工具协同工作,提供全面的日志分析体验:
- 发现:使用
get_logs_schema了解可用字段和查询语法 - 调查:使用
query_logs执行查询并分析结果 - 迭代:根据结果优化查询,并使用分页进行全面分析
响应格式
查询日志响应
{
"summary": {
"totalResults": 150,
"resultsShown": 20,
"timeRange": {
"start": "2024-01-15T10:00:00Z",
"end": "2024-01-15T11:00:00Z"
},
"page": 1,
"hasNextPage": true,
"queryType": "lucene"
},
"logs": [
{
"timestamp": "2024-01-15T10:30:00Z",
"severity": "ERROR",
"message": "Connection timeout after 30 seconds...",
"application": "payments-service",
"subsystem": "database",
"host": "prod-server-01",
"additionalFields": {
"traceId": "abc123",
"userId": "user456"
}
}
],
"pagination": {
"currentPage": 1,
"nextPageAvailable": true
}
}限制和优化
- 每页结果:1-50(默认值:20,最大值:50)
- 时间窗口:最多24小时
- 消息长度:截断至1000个字符,智能保存
- 堆栈复写:仅限5行,保留关键信息
- 存档查询:自动包含24小时以上的数据
地方发展
先决条件
- Node.js 18+
- npm或纱线
设置
git clone https://github.com/mharsat/coralogix-query-mcp.git
cd coralogix-query-mcp
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your actual Coralogix API key and domain本地运行
# Build the project
npm run build
# Run the server
npm start
# Or run in development mode (auto-rebuilds on changes)
npm run dev建筑
src/types/:TypeScript类型定义src/config/:配置和限制src/utils/:核心实用程序(HTTP客户端、查询处理、响应处理)src/tools/:MCP工具实现
- query-logs.ts:主要日志查询功能 - logs-schema.ts:模式发现和文档
src/index.ts:主服务器入口点
许可证
麻省理工学院
贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
支持
对于问题和疑问:
- GitHub问题:https://github.com/mharsat/coralogix-query-mcp/issues
- Coralogix文档:https://coralogix.com/docs/
