Euclid-MCP server
Deterministic logical reasoning engine — facts in Euclid IR, solutions with proof trees
6 stars134 downloads/wk
Reviews
Write oneNobody has reviewed Euclid-MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Euclid-MCP tools (8, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
check_kbCheck a knowledge base for consistency:
diagnoseDiagnose why a query succeeds or fails.
explainExplain, in natural language, how a query is proven:
list_kbsList the registered named knowledge bases
reasonPerform logical deduction on a knowledge base
register_kbRegister a named knowledge base under a kb_id
unregister_kbwrite actionRemove a named knowledge base from the registry.
what_ifWhat-if analysis: apply modifications to a knowledge base
Public scan report
scanner v0.1.9 · 2026-09-21 · same rubric, same numbers if you re-run it
- Code scan20 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
What the publisher says
From the Euclid-MCP repository's README, as published. We do not edit it. Read it on GitHub
Euclid-MCP
MCP server for logical reasoning — turns facts into formal proofs.
<!-- mcp-name: io.github.Euclid-BG/euclid-mcp -->
Euclid-MCP is a hybrid cognitive architecture: a lightweight LLM describes the world in facts, and a deterministic engine performs the actual deduction. The LLM never needs to reason — it only needs to describe.
With Euclid-MCP, an 8B model can solve reasoning tasks that stump even 400B+ cloud models — because the engine handles deduction deterministically. Every answer comes with a proof tree, so you can trace why a conclusion holds, not just what it is. Use it to enforce RBAC policies, audit cloud compliance, validate loan eligibility rules, or reason over any domain where answers must be explainable and verifiable.
Euclid-MCP is written in Python and uses Euclid-IR, a human-readable intermediate language designed for both AI agents and humans. It uses SWI-Prolog as its primary inference engine — and, where SWI-Prolog is not available (e.g. minimal containers), a pure-Python native engine that interprets Euclid-IR directly (see docs/NATIVEENGINE.md). It can be consumed in multiple ways: via MCP by AI agents (OpenCode, Claude, Cursor), via HTTP by tools and automation platforms (n8n, Zapier, Make), and via Python API for direct integration. Euclid-IR rules can also be used to augment RAG** pipelines with deterministic policy enforcement.
How it works
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ LLM/Agent │────▶│ Euclid-MCP │────▶│ Translator │────▶│ SWI-Prolog │
│ (MCP Client)│◀────│ (MCPServer) │◀────│ + Meta-IP │◀────│ (persistent) │
└──────────────┘ └──────────────────┘ └──────────────┘ └─────────────────┘- Receive facts, rules, and a query in a simple intermediate language
- Translate into Prolog with a meta-interpreter for proof tree capture
- Execute via a persistent SWI-Prolog engine process (JSON-lines protocol on stdin/stdout; the workspace is reloaded per call, no process spawn overhead)
- Return solutions + proof trees as structured JSON
Additional tools (explain, diagnose, whatif, checkkb) extend this core flow with natural-language explanations, analysis, scenario testing, and validation.
LLMs describe. Euclid MCP proves.
Knowledge Base
For small knowledge bases, facts and rules can be provided with each request.
A knowledge base can be loaded at server startup and reused across calls, so agents only pass the session-specific facts for the current query. This minimizes token usage, improves performance, and allows small LLMs to reason over large rule sets without reconstructing the entire knowledge base for every request.
Intermediate Language
Even if currently Euclid-MCP uses a Prolog Engine, no Prolog syntax is required. Euclid-IR (Intermediate Representation) is a declarative intermediate representation for logical inference. Variables use $name, implication is IF, conjunction is AND.
Text format:
human(socrates)
mortal($x) IF human($x)
? mortal($who)Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add euclid-mcp -- uvx euclid-mcp
Euclid-MCP: common questions
- Is Euclid-MCP server safe?
- Yes, by our scan: it is graded A (94/100). Read the Euclid-MCP safety report
- How do I install Euclid-MCP?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Euclid-MCP need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Euclid-MCP maintained?
- The last commit was 4 days ago (2026-09-19). The latest release is v0.4.5.