日志分析MCP服务器
该项目是一个使用NestJS构建的符合MCP的日志分析服务器。它提供了一套用于分析WhatsApp Business API消息日志的工具,重点是数字指标和统计分析。
核心原则
- 数据优先方法
- 专注于数字统计,而不是原始日志 - 返回汇总计数、百分比和指标 - 原始日志仅在内部处理 - 任何原木检查的5行限制
- 安全措施
- 用于日志处理的内存高效流式传输 - 所有操作的行数限制 - 输出字符长度限制 - 结构化数值输出
入门指南
- 克隆存储库:
git clone
cd log-searcher-mcp- 安装依赖项:
npm install- 放置日志文件:
- 创建一个 src/logs 目录。 - 放置您的 .gz 此目录中的日志文件。
- 运行应用程序:
npm run start可用工具
核心工具
health_check
- 监控系统运行状况和日志处理状态 - 报告日志新鲜度和处理问题 - 提供系统建议
list_dates
- 列出两种类型的可用日志日期 - 验证日志文件的可用性
分析工具
campaign_metrics
// Get campaign performance metrics
const metrics = await campaignMetrics.getCampaignMetrics({
campaignId: '688c7116542b75e995c8acd2',
date: '2025-08-07'
});回报:成功率、交付百分比、数量趋势
msg_lookup
// Find message details (limited to 5 lines)
const message = await messageLookup.lookupMessage({
msgId: 'your-message-id',
date: '2025-08-07'
});返回:消息详细信息和有限的交易跟踪
waba_metrics
// Analyze WABA performance
const wabaStats = await wabaMetrics.getWabaMetrics({
wabaNumber: 'your-waba-number',
date: '2025-08-07'
});回报:吞吐率、模板使用率、活动分布
traffic_metrics
// Get traffic patterns
const traffic = await trafficMetrics.getTrafficMetrics({
date: '2025-08-07'
});回报:小时分布、峰值时间、交易量趋势
daily_summary
// Get comprehensive daily stats
const summary = await dailySummary.getDailySummary({
date: '2025-08-07'
});返回:消息量、成功率、活动/模板性能
最佳实践
- 演出
- 始终如一地使用日期过滤器 - 与原始数据相比,更喜欢聚合指标 - 考虑重型作业的时间范围
- 错误处理
- 先检查可用日期 - 妥善处理丢失的日志文件 - 使用大日志监控内存使用情况
- 数据解释
- 成功率=(交付+阅读)/总计\*100 - 交付率=交付/总计\*100 - 流量分布=每小时消息数%
