Logflare MCP服务器
MCP服务器,用于使用AI助手查询和分析Logflare日志。提供用于日志探索、模式发现和基于时间的查询的工具。
快速开始
npm install
npm run build
npm start服务器在端口上运行 3000 默认情况下。集 PORT 环境变量来改变它。
配置
配置您的MCP客户端(Cursor、Claude Desktop等):
{
"logflare": {
"url": "http://localhost:3000/sse",
"headers": {
"x-logflare-api-key": "your-logflare-api-key",
"x-logflare-source-token": "your-source-token"
}
}
}所需标题:
x-logflare-api-key:您的Logflare API密钥x-logflare-source-token:要查询的Logflare源的源令牌
工具
query_logs
对Logflare日志执行原始BigQuery SQL查询。返回带有微秒时间戳的结果。
参数:
sql(string):BigQuery SQL查询。源名称是表名称(例如。,FROM \源名称“”)
例子:
SELECT timestamp, event_message, level
FROM `my-source`
WHERE level = 'error'
LIMIT 10list_sources
检索您帐户的所有可用Logflare源。
退货: 源数组 id, name,以及 description 领域。
get_source_schema
获取已配置源的架构(列和字段定义)。自动使用连接配置中的源令牌。
退货: 完整的架构信息,包括字段类型和嵌套结构。
get_sample_logs
检索示例日志条目以了解日志结构和可用字段。
参数:
sourceName(string):来源名称list_sourceslimit(数字,可选):样本数量(默认值:5,最大值:100)
query_logs_formatted
使用自动格式化的人类可读时间戳执行SQL查询。
参数:
sql(string):BigQuery SQL查询。必须明确指定列(否SELECT *).必须包括timestamp列。
退货: 原始栏目加 formatted_timestamp 字段(YYYY-MM-DD HH:MM:SS格式)
例子:
SELECT timestamp, event_message, level
FROM `my-source`
WHERE level = 'error'
LIMIT 10explore_fields
分析日志结构以发现嵌套字段和元数据路径。
参数:
sourceName(字符串,可选):源名称(默认为配置的源)limit(number,可选):要分析的日志数(默认值:10,最大值:50)
退货: 具有类型、样本值和嵌套字段路径的字段分析(例如。, metadata.userId, metadata.email).
get_log_stats
获取某个时间范围内日志的聚合统计信息。
参数:
timeRange(字符串,可选):时间范围格式-“1h”、“24h”、“7d”、“30d”(默认值:“24h”)sourceName(字符串,可选):源名称(默认为配置的源)
退货: 统计数据包括:
- 日志总数
- 错误和警告计数
- 不同的日志级别
- 最早和最新日志时间戳
get_logs_from_time
转发特定时间戳的日志。通过传递事件时间戳,可用于调查过去的事件。
参数:
startTime(string):从中获取日志的时间戳。返回自此以后的20个最新日志sourceName(字符串,可选):源名称(默认为配置的源)limit(number,可选):要返回的日志数(默认值:20,最大值:20)formatted(布尔值,可选):包括格式化的时间戳(默认值:false)
时间格式示例:
- ISO 8601:
2024-01-15T10:30:00Z - 相对:
1 hour ago,2 days ago,30 minutes ago,yesterday,now - Unix时间戳:
1705312200
用例: 传递任何时间戳,看看从那时起发生了什么。通过提供事件时间戳,非常适合调查事件。
发展
npm run dev # Development mode with hot reload
npm run build # Build for production
npm start # Run production build项目结构
src/
├── server.ts # Express server and route handlers
├── tools.ts # MCP tool definitions
├── logflare.ts # Logflare API client functions
├── utils.ts # Utility functions (time parsing, field analysis)
├── types.ts # TypeScript type definitions
└── config.ts # Configuration constants会话管理
- 会话在30分钟不活动后过期
- 每次消息交换时重置超时
- 连接关闭时自动清理
- 每个连接都有一个隔离的MCP服务器实例
错误处理
所有工具都返回结构化错误响应。服务器处理:
- 缺少或无效的身份验证标头
- BigQuery SQL语法错误
- 网络和API错误
- 会话过期
需求
- Node.js 18+
- 使用API密钥和源令牌的Logflare帐户
许可证
麻省理工学院
