debug-mcp

debug-mcp

A smart debugging agent that remembers errors, automatically diagnoses issues, and accumulates solutions for faster resolution.

Category
访问服务器

README

Debug MCP - 智能调试 Agent

一个会"记住错误"的智能调试工具,自动排查问题并积累解决方案。

特点

  • 🔍 自动排查 - 智能分析错误,定位根因
  • 📚 错误记忆 - 自动保存排查记录,下次类似问题秒解
  • 🛡️ 主动预防 - 代码预检,提前发现风险
  • 📊 趋势分析 - 了解错误模式针对性学习
  • 质量评分 - 高评价方案优先推荐
  • 🧠 ReAct 推理 - 思考 → 行动 → 观察 → 反思
  • 🔌 MCP 协议 - 支持 Claude Desktop、Cursor
  • 🌐 多 LLM - DeepSeek / OpenAI / Anthropic
  • 📁 无需数据库 - 纯 JSON 文件存储案例

新人使用步骤

1. 安装

git clone https://github.com/你的用户名/debug-mcp.git
cd debug-mcp
pip install -e .

2. 配置 API Key(二选一)

方式一:创建 .env 文件

cp .env.example .env
# 编辑 .env,填入你的 DEEPSEEK_API_KEY

方式二:直接传入

agent = DebugAgent(api_key="sk-your-key")

3. 使用(两种方式)

方式 A:Python 直接调用(推荐)

from src.agent import DebugAgent

agent = DebugAgent()

# 排查问题
result = agent.debug("TypeError: Cannot read property 'id' of undefined")

print(result)

方式 B:MCP Server(需要 Claude Desktop)

配置 claude_desktop_config.json

{
  "mcpServers": {
    "debug-mcp": {
      "command": "python",
      "args": ["-m", "src.server"]
    }
  }
}

重启 Claude Desktop,然后直接说:

  • "排查一下这个错误"
  • "看看这个 bug"

MCP 工具列表

工具 说明
debug 排查问题 - 输入错误信息,返回解决方案
search_case 搜索历史案例
list_cases 列出所有案例
get_case 查看案例详情
delete_case 删除案例
mark_effective 标记方案有效性(帮助改进匹配)
get_recommended_fixes 获取高评价解决方案
pre_check_code 代码风险预检(主动预防)
get_weekly_report 获取本周错误报告
get_error_trends 获取错误趋势分析
get_stats 统计信息
clear_memory 清空记忆
search_code 搜索代码文件
read_file 读取文件内容
grep 正则搜索
check_syntax 语法检查
list_files 列出文件
refresh_index 刷新索引

如何避免重复犯错?

使用以下 5 个最佳实践:

1️⃣ 描述错误要具体

# ❌ 太笼统
agent.debug("程序出错了")

# ✅ 具体描述
agent.debug("TypeError: Cannot read property 'id' of undefined")

2️⃣ 看到 found_in_history: True 直接用历史方案

result = agent.debug("Cannot read property 'id' of undefined")

# 如果 found_in_history: True
# 直接使用 result['solution'],无需重新排查

3️⃣ 定期查看高频错误

# 查看最常遇到的错误,针对性预防
agent.list_cases(limit=10)  # 高频错误排行
agent.get_stats()           # 统计信息
agent.get_weekly_report()   # 本周报告

4️⃣ 使用预检主动预防

# 在编码时主动检查风险
agent.pre_check(code="your_code_here")

# 或使用 MCP
# "检查一下这段代码有没有风险"

5️⃣ 标记方案有效性帮助改进

# 如果方案有效
agent.memory.mark_effective(case_id, effective=True)

# 如果方案无效
agent.memory.mark_effective(case_id, effective=False)

# 获取高评价方案
agent.memory.get_effective_cases(min_rating=0.5)

核心思想

这个 MCP 的价值在于积累

  • 用得越多,案例库越丰富
  • 标记有效性 → 匹配算法越精准
  • 定期查看错误趋势 → 针对性学习预防

示例

from src.agent import DebugAgent

agent = DebugAgent(api_key="sk-xxx")

# 第一次排查
result = agent.debug("TypeError: Cannot read property 'id' of undefined")
# 输出:
# {
#   "success": True,
#   "root_cause": "接口返回数据为null时未做空值检查",
#   "fix_solution": "使用 data?.id 或 data || {}",
#   "steps": [{"action": "...", "observation": "..."}],
#   "found_in_history": False
# }

# 第二次排查相同错误(自动匹配历史)
result = agent.debug("Cannot read property 'id' of undefined")
# 输出:
# {
#   "success": True,
#   "found_in_history": True,
#   "fix_solution": "使用 data?.id 或 data || {}",
#   "history_case": {...}
# }

项目结构

debug-mcp/
├── src/
│   ├── agent.py        # Debug Agent 核心
│   ├── memory.py       # 案例库(JSON 文件)
│   ├── tools.py        # 工具集
│   └── server.py       # MCP Server
├── cases/              # 案例存储目录(自动创建)
│   └── debug_cases.json
└── .env               # API Key 配置

案例库

  • 位置:cases/debug_cases.json
  • 无需数据库,纯文件存储
  • 每次排查自动保存
  • 下次遇到类似问题自动匹配

API

from src.agent import DebugAgent

agent = DebugAgent(api_key="sk-xxx")

# 排查问题
result = agent.debug("错误信息")

# 搜索历史案例
cases = agent.search_history(["关键词"])

# 获取统计
stats = agent.get_stats()

# 主动预防:检查代码风险
result = agent.pre_check(code="your code here")

# 获取高评价方案
effective_cases = agent.memory.get_effective_cases(min_rating=0.5)

# 标记方案是否有效
agent.memory.mark_effective(case_id, effective=True)

# 获取周报
weekly_report = agent.memory.get_weekly_report()

# 获取趋势分析
trends = agent.memory.get_error_trends(days=30)

# 清空记忆
agent.clear_memory()

配置选项

agent = DebugAgent(
    api_key="sk-xxx",           # API Key(必须)
    model="deepseek-chat",      # 模型,默认 deepseek-chat
    max_steps=5,                # 最大排查步骤
    case_file="cases/debug_cases.json"  # 案例库路径
)

支持的模型

模型 配置
DeepSeek(默认) model="deepseek-chat"
OpenAI model="gpt-4"
Anthropic model="claude-3-opus"
Ollama model="llama2"

给 Claude 的系统规则

如果你是用户,可以在对话中告诉 Claude 以下规则(让它帮你解决问题时更聪明):

你是一个调试助手。在解决问题时:
1. 每次尝试新方法前,先问用户确认
2. 如果一个方法失败,不要用相同方法重试
3. 可以调用 debug-mcp 预检工具检查风险
4. 避免重复尝试已经失败的方法
5. 遇到不确定的问题,先搜索历史案例

让 Claude 每次尝试前先用 pre_check_code 检查一下代码风险。


有问题?直接在项目中提 Issue!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选