Token导航 LogoToken导航TokenDH.com
Prolog Debug MCP logo
开发工具stdio官方级别未说明来源级核验

Prolog Debug MCP

MCP Server

一个基于SWI-Prolog的调试和诊断推理引擎,用于解析错误和症状,通过逻辑推理找到根本原因。

工具数

9

提示词数

0

GitHub Stars

1

资源数

0
调试工具PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jackwillis

提供方

jackwillis

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest

详细介绍

Prolog调试MCP服务器

一个MCP(模型上下文协议)服务器,它将SWI-Prolog作为调试和诊断推理引擎公开。Claude解析错误和症状,Prolog进行逻辑推理以找到根本原因。

建筑

┌─────────────┐     stdio/SSE      ┌─────────────────┐
│   Claude    │ ◄─────────────────► │   MCP Server    │
│  (or LLM)   │      (MCP)         │   (Python)      │
└─────────────┘                    └────────┬────────┘
                                            │
                                            │ janus-swi
                                            ▼
                                   ┌─────────────────┐
                                   │   SWI-Prolog    │
                                   │  (swipl engine) │
                                   └─────────────────┘

先决条件

  • SWI Prolog 9.1.12+:由janus swi要求
  # macOS
  brew install swi-prolog

  # Ubuntu/Debian
  sudo apt install swi-prolog
  • Python 3.10+
  • 紫外线:用于项目管理

安装

cd prolog-debug-mcp
uv sync

用法

在Claude代码中配置

添加 ~/.claude/settings.json:

{
  "mcpServers": {
    "prolog-debug": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/prolog-debug-mcp", "python", "-m", "prolog_debug_mcp.server"]
    }
  }
}

可用工具

工具说明
assert_dependency添加依赖关系:服务依赖于depends_on
assert_error记录服务中观察到的错误/症状
find_root_causes查找服务错误的所有可能根本原因
suggest_checks根据依赖关系获取要检查的建议服务
impact_analysis查找给定服务失败时受影响的所有服务
check_cycles检查涉及服务的依赖周期
get_status获取当前会话状态(所有服务、依赖关系、错误)
clear_session清除所有断言的事实,重新开始
query运行任意Prolog查询(高级)

示例会话

User: "My web app is returning 500 errors. It talks to a postgres
       database and a redis cache. The redis pod is in CrashLoopBackOff."

Claude: Let me set up the dependency model and record the errors.

[Calls assert_dependency("webapp", "postgres")]
[Calls assert_dependency("webapp", "redis")]
[Calls assert_error("webapp", "500_error")]
[Calls assert_error("redis", "crashloopbackoff")]
[Calls find_root_causes("webapp")]

Result:
{
  "service": "webapp",
  "root_causes": [
    {"symptom": "crashloopbackoff", "path": ["webapp", "redis"]}
  ]
}

Claude: The root cause traces to Redis being in CrashLoopBackOff.
        The webapp depends on Redis, so when Redis crashes, the
        webapp returns 500s. Check the Redis pod logs for why
        it's crash-looping.

测试

# Run all tests
uv run pytest

# Run with verbose output
uv run pytest -v

# Run specific test file
uv run pytest tests/test_prolog.py

运作原理

Prolog核心规则

服务器使用具有以下关键谓词的知识库:

  • depends(Service, DependsOn) -服务取决于DependsOn
  • error(Service, Symptom) -服务存在观察到的错误/症状
  • root_cause(Service, Symptom, Path) -通过依赖关系跟踪错误以找到根本原因
  • has_cycle(Service) -检测依赖周期

根本原因逻辑

在以下情况下找到根本原因:

  1. 服务出现错误AND
  2. 要么它没有错误的依赖关系(它是根),要么
  3. 我们可以通过依赖关系进行跟踪,以发现更深层次的错误

这允许系统通过遵循依赖链到问题的实际来源来回答“为什么X失败了?”。

技术栈

组件选择基本原理
MCP框架MCP(官方SDK)MCP官方Python SDK
Prolog Bridgejanus-swi比pyswip快5倍,C API,主动维护
Prolog引擎SWI Prolog 9.1.12+janus要求,健壮,文档良好
Python3.10+类型提示,异步支持

许可证

CC0 1.0通用 -公共领域

目录标签

目录标签

调试工具PythonClaude本地部署逻辑推理错误诊断Prolog引擎依赖分析

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP