rikarazome/prolog-reasoner

rikarazome/prolog-reasoner

от rikarazome
MCP-сервер, подключающий SWI-Prolog как логический калькулятор для LLM. Выполняет запросы на Prolog, решает комбинаторные задачи, выдаёт прозрачные цепочки рассуждений. Полезен разработчикам AI-аге...

prolog-reasoner

PyPI version Python versions CI License: MIT

SWI-Prolog as a "logic calculator" for LLMs — available as an MCP server and a Python library. Eliminate the black box from LLM logical reasoning.

LLMs excel at natural language but struggle with formal logic. Prolog excels at logical reasoning but can't process natural language. prolog-reasoner bridges this gap by exposing SWI-Prolog execution to LLMs.

Does it help?

On the built-in 30-problem logic benchmark:

Pipeline Accuracy
LLM-only (claude-sonnet-4-6) 22/30 (73.3%)
LLM + prolog-reasoner 27/30 (90.0%)

The gap concentrates in constraint satisfaction and multi-step reasoning — the combinatorial territory LLMs are weak on and Prolog is strong on. Full breakdown below.

Why it works

LLMs pattern-match; Prolog actually searches and solves. When the LLM writes its problem down as Prolog, two things happen at once:

  • Prolog handles the combinatorial work LLMs are weak on — constraint satisfaction, multi-step inference, exhaustive search.
  • The reasoning exists as code you can read, re-run, and debug. When it goes wrong, you see the exact Prolog that failed and why.

Часто задаваемые вопросы

Инструменты были проиндексированы:
delete_rule_base

Удаляет сохранённую базу правил по имени.

Параметры
  • namestringобязательный
execute_prolog

Выполняет код на Prolog и возвращает результаты рассуждений. Запишите факты и правила Prolog, затем выполните запрос к ним. Поддерживает ограничения CLP(FD), отрицание как неудачу и все стандартные возможности SWI-Prolog.

Параметры
  • max_resultsinteger

    Максимум результатов (предотвращает зацикливание).

  • prolog_codestringобязательный

    Код на Prolog (факты и правила).

  • querystringобязательный

    Запрос Prolog для выполнения (например, "mortal(X)").

  • rule_basesstring[] | null

    Имена ранее сохранённых баз правил для включения. Правила добавляются в начало prolog_code в указанном порядке. Используйте это для предметно-ориентированных правил (например, игровая механика, юридические правила), которые должны переиспользоваться в разных запросах.

  • traceboolean

    Когда значение равно True, включает структурированные деревья доказательств для каждого решения в metadata.proof_trace. Это добавляет накладные расходы мета-интерпретатора; включается явно.

get_rule_base

Извлекает исходный код Prolog сохранённой базы правил.

Параметры
  • namestringобязательный
list_rule_bases

Выводит список всех сохранённых баз правил с описанием и тегами. Возвращает {"rule_bases": [{"name": str, "description": str, "tags": list[str]}, ...]}, отсортированный по имени. Метаданные извлекаются из начальных комментариев % description: / % tags: каждого файла базы правил (см. §4.10).

Параметры

Без параметров.

save_rule_base

Сохраняет именованную базу правил, содержащую правила Prolog, которые можно повторно использовать при вызовах execute_prolog. Используйте это для стабильных, многократно используемых знаний (например, piece_moves для правил перемещения шахматных фигур). Для одноразовых фактов включайте их напрямую в prolog_code.

Параметры
  • contentstringобязательный
  • namestringобязательный
0.2.2основная
0.2.1
0.2.0
0.1.0

Выберите клиент, чтобы установить rikarazome/prolog-reasoner:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "rikarazome-prolog-reasoner-zcpr24s1j0": {
      "command": "uvx",
      "args": [
        "prolog-reasoner"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "rikarazome-prolog-reasoner-zcpr24s1j0": {
      "command": "uvx",
      "args": [
        "prolog-reasoner"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "rikarazome-prolog-reasoner-zcpr24s1j0": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "prolog-reasoner"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"rikarazome-prolog-reasoner-zcpr24s1j0\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"prolog-reasoner\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "rikarazome-prolog-reasoner-zcpr24s1j0": {
      "command": "uvx",
      "args": [
        "prolog-reasoner"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add rikarazome-prolog-reasoner-zcpr24s1j0 -- uvx prolog-reasoner

Либо через JSON-конфиг:

claude mcp add-json rikarazome-prolog-reasoner-zcpr24s1j0 "{\"command\":\"uvx\",\"args\":[\"prolog-reasoner\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add rikarazome-prolog-reasoner-zcpr24s1j0 -- uvx prolog-reasoner

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.rikarazome-prolog-reasoner-zcpr24s1j0]
command = "uvx"
args = ["prolog-reasoner"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите rikarazome/prolog-reasoner, а в поле команды запуска — строку ниже:
uvx prolog-reasoner

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "rikarazome-prolog-reasoner-zcpr24s1j0": {
      "command": "uvx",
      "args": [
        "prolog-reasoner"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "rikarazome-prolog-reasoner-zcpr24s1j0": {
      "command": "uvx",
      "args": [
        "prolog-reasoner"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например rikarazome-prolog-reasoner-zcpr24s1j0.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: rikarazome-prolog-reasoner-zcpr24s1j0
    command: uvx
    args:
      - "prolog-reasoner"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "rikarazome-prolog-reasoner-zcpr24s1j0": {
      "command": "uvx",
      "args": [
        "prolog-reasoner"
      ]
    }
  }
}

Похожие MCP-сервера

jjsantos01/jupyter-notebook-mcp

jjsantos01/jupyter-notebook-mcp

от jjsantos01

JupyterMCP - MCP-сервер, подключающий Claude AI к Jupyter Notebook (только v6.x). Claude выполняет Python-код, управляет ячейками, анализирует данные и строит графики. Полезен для AI-ассистированно...

Jupyter Notebook⭐ 128
alvii147/piston-mcp

alvii147/piston-mcp

от alvii147

Piston MCP Server - MCP-сервер для подключения LLM к Piston API для выполнения кода. Он даёт ИИ-ассистентам безопасно запускать скрипты на разных языках в песочнице. Полезен разработчикам ИИ-агенто...

Python⭐ 9
datalayer/jupyter-mcp-server

datalayer/jupyter-mcp-server

официальный

от datalayer

Управляет Jupyter Notebook в реальном времени: выполняет ячейки, читает и редактирует код, переключается между блокнотами. Поддерживает изображения и графики.

Python⭐ 1309
yanmxa/scriptflow-mcp

yanmxa/scriptflow-mcp

от yanmxa

MCP-сервер для превращения сложных AI-диалогов в готовые скрипты, которые можно выполнять, версионировать и переиспользовать. Поддерживает Python, Bash, Node.js. Управляй библиотекой автономных сце...

TypeScript⭐ 8
yusong652/yade-mcp

yusong652/yade-mcp

от yusong652

MCP инструмент для подключения AI-агентов к YADE - DEM движку. Через естественный язык просматривайте API, запускайте симуляции и выполняйте код в консоли. Для инженеров и исследователей, автоматиз...

Python⭐ 15
alfonsograziano/node-code-sandbox-mcp

alfonsograziano/node-code-sandbox-mcp

от alfonsograziano

Выполняет Node.js-код в изолированном Docker-контейнере: ставит npm-пакеты, запускает shell-команды и возвращает вывод.

TypeScript⭐ 158
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин