Skip to main content
Glama
suxiao1228

Log Diagnosis MCP Server

by suxiao1228

Log Diagnosis MCP Server

通用日志诊断 MCP 服务器 —— 让 AI 自动完成「查日志 → 还原调用链 → 扫描代码 → 定位 BUG 根因」的完整闭环。

💡 解决什么问题

后端开发者排查线上 BUG 的传统流程:

登录日志平台 → 拼查询条件 → 翻页找日志 → 手动还原调用链 → 看代码找根因

痛点:步骤繁琐、耗时 30 分钟~数小时、容易遗漏关键日志。

本工具:通过 MCP 协议将日志查询能力暴露给 AI,让 AI 自动完成整个诊断闭环,将排查时间缩短到几分钟

Related MCP server: Debug MCP

✨ 核心特性

特性

说明

🔌 通用对接

支持 Elasticsearch、Grafana Loki、自定义 REST API 三种日志平台

🔍 TraceId 链路追踪

自动计算时间范围、分页拉取全量日志、还原完整调用链

🔐 灵活鉴权

支持 API Key、Bearer Token、SecretKey 换 Token 多种方式

🌍 多环境切换

支持 T1(测试)/ PRE(预发)/ PRD(生产)环境一键切换

📄 上下文关联

获取可疑日志的前后文,帮助 AI 理解完整场景

🔗 双传输模式

同时支持 SSE 和 STDIO 两种 MCP 连接方式

📦 快速开始

1. 安装依赖

git clone https://github.com/your-username/log-diagnosis-server.git
cd log-diagnosis-server
pip install -r requirements.txt

2. 配置日志平台

方式一:环境变量(推荐)

export LOG_PLATFORM_TYPE=elasticsearch   # elasticsearch / loki / custom
export LOG_PRD_URL=http://your-es-host:9200
export LOG_PRE_URL=http://your-es-pre:9200   # 可选
export LOG_T1_URL=http://your-es-test:9200    # 可选
export LOG_DEFAULT_ENV=PRD

方式二:配置文件

cp config.example.json config.json
# 编辑 config.json 填入实际地址
export LOG_DIAG_CONFIG=./config.json

3. 启动服务

# STDIO 模式(本地开发推荐)
python server.py

# SSE 模式(远程部署)
MCP_TRANSPORT=sse MCP_PORT=8080 python server.py

🔌 接入 CodeBuddy

STDIO 模式

在 CodeBuddy 中添加 mcp.json

{
    "mcpServers": {
        "log-diagnosis-server": {
            "command": "python3",
            "args": ["/path/to/log-diagnosis-server/server.py"],
            "env": {
                "LOG_PLATFORM_TYPE": "elasticsearch",
                "LOG_PRD_URL": "http://your-es-host:9200"
            },
            "timeout": 60
        }
    }
}

SSE 模式

先启动服务,然后在 CodeBuddy 中配置:

{
    "mcpServers": {
        "log-diagnosis-server": {
            "url": "http://your-server:8080/sse",
            "timeout": 60
        }
    }
}

🛠️ 提供的工具 (Tools)

#

工具名

功能

典型场景

1

get_access_token

鉴权获取 Token

首次连接日志平台

2

query_logs

通用日志查询

按条件搜索日志

3

count_logs

日志计数

评估数据量、决定分页

4

query_logs_by_trace_id

TraceId 全链路查询

核心 — 一键拉取完整调用链

5

get_log_context

日志上下文

查看可疑日志前后发生了什么

查询语法

工具使用统一的查询语法(会自动转换为目标平台语法):

# 精确匹配
service=order-service

# 模糊匹配
message~NullPointerException

# 逻辑组合
service=order-service AND level=ERROR
service=order-service AND message~timeout AND NOT level=DEBUG

🚀 使用示例

在 CodeBuddy 的 Craft Agent 中直接描述需求:

示例 1 — TraceId 链路诊断:

帮我查一下这个 TraceId 的完整调用链路:a1b2c3d4e5f67890a1b2c3d4e5f67890
环境是预发(PRE),看看哪里出了问题

示例 2 — 错误日志排查:

order-service 在过去 1 小时内有大量 ERROR 日志,帮我分析根因

示例 3 — SQL 问题定位:

有个查询结果为空的 BUG,TraceId 是 abc123...,帮我看看 SQL 是否有问题

AI 会自动调用工具完成:鉴权 → 查询日志 → 分析调用链 → 定位根因 → 给出修复建议

⚙️ 配置参数说明

参数

必填

说明

示例值

LOG_PLATFORM_TYPE

日志平台类型

elasticsearch / loki / custom

LOG_PRD_URL

生产环境日志平台地址

http://your-es-host:9200

LOG_PRE_URL

预发环境日志平台地址

http://your-es-pre:9200

LOG_T1_URL

测试环境日志平台地址

http://your-es-test:9200

LOG_DEFAULT_ENV

默认环境,默认 PRD

PRD / PRE / T1

LOG_REQUEST_TIMEOUT

请求超时时间(秒),默认 30

30

LOG_DIAG_CONFIG

配置文件路径(优先级高于环境变量)

./config.json

📊 效率对比

步骤

传统方式

使用本工具

登录日志平台

1-2 分钟

✅ AI 自动鉴权

拼查询条件

3-5 分钟

✅ AI 自动生成

翻页找日志

5-15 分钟

✅ 自动分页全量拉取

还原调用链

10-30 分钟

✅ 自动按时间排序分析

看代码定位根因

10-60 分钟

✅ AI 扫描代码关联

总计

30 分钟 ~ 数小时

几分钟

🔧 支持的日志平台

平台

配置值

说明

Elasticsearch

elasticsearch / es

支持 ES 7.x / 8.x / OpenSearch

Grafana Loki

loki

通过 LogQL 查询

自定义 REST API

custom

对接任意实现标准接口的日志平台

自定义平台接口协议

如果你的日志平台不是 ES/Loki,只需实现以下 REST API:

接口

方法

说明

/api/auth/token

POST

鉴权,请求体 {"secretKey": "..."}

/api/logs/query

POST

查询日志

/api/logs/count

POST

计数

/api/logs/context/{id}

POST

获取上下文

📁 项目结构

log-diagnosis-server/
├── server.py                        # MCP Server 主入口(5 个工具定义)
├── config.py                        # 配置管理(环境变量 / 配置文件)
├── adapters/
│   ├── __init__.py                  # 适配器工厂
│   ├── base.py                      # 适配器基类 + 通用查询语法解析
│   ├── elasticsearch_adapter.py     # Elasticsearch 适配器
│   ├── loki_adapter.py              # Grafana Loki 适配器
│   └── custom_adapter.py           # 自定义 REST API 适配器
├── config.example.json              # 配置文件示例
├── requirements.txt                 # Python 依赖
├── LICENSE                          # MIT 开源协议
├── .gitignore                       # Git 忽略规则
└── README.md                        # 本文件

📄 License

MIT

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI-powered debugging through structured logging with pattern recognition and intelligent analysis. Allows applications to write structured logs and receive actionable debugging insights based on error patterns and frequency analysis.
    -
  • A
    license
    A
    quality
    D
    maintenance
    An intelligent debugging assistant that automates the debugging process by analyzing bugs, injecting HTTP-based debug logs into code across multiple environments (browser, Node.js, mobile, etc.), and iteratively fixing issues based on real-time feedback.
    8
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides intelligent error detection and debugging capabilities across multiple programming languages with real-time monitoring of build, lint, runtime, console, and test errors. Offers AI-enhanced error analysis with automated resolution suggestions and context-aware debugging.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to query runtime debugging facts (stack traces, logs, function arguments) captured by Syncause, allowing them to fix root causes with evidence instead of guessing.
    4 npm
    1
    -