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.

Выполняет Prolog

Параметры
  • max_resultsinteger

    Maximum number of results (prevents infinite loops).

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

    Prolog code (facts and rules).

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

    Prolog query to execute (e.g. "mortal(X)").

  • rule_basesstring[] | null

    Names of previously saved rule bases to include. Rules are prepended to prolog_code in the specified order. Use this for domain-specific rules (e.g. game mechanics, legal rules) that should be reused across queries.

  • traceboolean

    When True, include structured proof trees per solution in metadata.proof_trace. Adds meta-interpreter overhead; opt-in.

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обязательный

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

alvii147/piston-mcp

alvii147/piston-mcp

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

Python9
datalayer/jupyter-mcp-server

datalayer/jupyter-mcp-server

официальный

Подключает AI к Jupyter Notebooks в реальном времени: создание, выполнение и редактирование ячеек, переключение между ноутбуками, вывод графиков. Оптимальное решение для автоматизации работы с данн...

Python1276
bytebase/dbhub

bytebase/dbhub

DBHub — легковесный MCP сервер для работы с базами данных (PostgreSQL, MySQL, SQL Server и другими). Подключает несколько БД сразу, выполняет SQL-запросы и ищет объекты схемы через два компактных инструмента. Безопасный доступ с read-only режимом, SSH-туннелями и SSL — идеально для быстрого иссле...

TypeScript3493
ydb/ydb-mcp

ydb/ydb-mcp

официальный

MCP-сервер для YDB: LLM выполняют SQL-запросы, анализируют планы и управляют объектами БД через естественный язык. Поддерживает аутентификацию и кастомные инструменты. Полезен разработчикам, работа...

Python29
ejentum/ejentum-mcp

ejentum/ejentum-mcp

MCP сервер, который улучшает рассуждения LLM в сложных многошаговых задачах — предоставляет готовые когнитивные процедуры (шаги, DAG, тесты). Полезен разработчикам, работающим с Claude, Cursor и другими ИИ-агентами для повышения точности кода, рассуждений и защиты от галлюцинаций.

JavaScript16
lihtness/gnomon-mcp

lihtness/gnomon-mcp

MCP сервер gnomon-mcp даёт агентам детерминированные инструменты для дат, арифметики и конвертации единиц. Вместо правдоподобных, но неверных ответов модель использует календарь, калькулятор и перевод величин через один вызов. Полезен для точных вычислений, табличных данных и задач с датами.

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

Лука Никитин