Skip to main content
Glama
README.md5.13 kB
# MCP-Logic An MCP server for automated first-order logic reasoning using Prover9 and Mace4. ## Features - **Theorem Proving** - Prove logical statements with Prover9 - **Model Finding** - Find finite models with Mace4 - **Counterexample Finding** - Show why statements don't follow - **Syntax Validation** - Pre-validate formulas with helpful error messages - **Categorical Reasoning** - Built-in support for category theory proofs - **Self-Contained** - All dependencies install automatically ## Quick Start ### Installation **Linux/macOS:** ```bash git clone https://github.com/angrysky56/mcp-logic cd mcp-logic ./linux-setup-script.sh ``` **Windows:** ```cmd git clone https://github.com/angrysky56/mcp-logic cd mcp-logic windows-setup-mcp-logic.bat ``` The setup script automatically: - Downloads and builds LADR (Prover9 + Mace4) - Creates Python virtual environment - Installs all dependencies - Generates Claude Desktop config ### Claude Desktop Integration Add to your Claude Desktop MCP config (auto-generated at `claude-app-config.json`): ```json { "mcpServers": { "mcp-logic": { "command": "uv", "args": [ "--directory", "/absolute/path/to/mcp-logic/src/mcp_logic", "run", "mcp_logic", "--prover-path", "/absolute/path/to/mcp-logic/ladr/bin" ] } } } ``` **Important:** Replace `/absolute/path/to/mcp-logic` with your actual repository path. ## Available Tools | Tool | Purpose | | ------------------------ | ---------------------------------------------------- | | **prove** | Prove statements using Prover9 | | **check-well-formed** | Validate formula syntax with detailed errors | | **find-model** | Find finite models satisfying premises | | **find-counterexample** | Find counterexamples showing statements don't follow | | **verify-commutativity** | Generate FOL for categorical diagram commutativity | | **get-category-axioms** | Get axioms for category/functor/group/monoid | ## Example Usage ### Prove a Theorem ``` Use the mcp-logic prove tool with: premises: ["all x (man(x) -> mortal(x))", "man(socrates)"] conclusion: "mortal(socrates)" ``` **Result:** ✓ THEOREM PROVED ### Find a Counterexample ``` Use the mcp-logic find-counterexample tool with: premises: ["P(a)"] conclusion: "P(b)" ``` **Result:** Model found where `P(a)` is true but `P(b)` is false, proving the conclusion doesn't follow. ### Verify Categorical Diagram ``` Use the mcp-logic verify-commutativity tool with: path_a: ["f", "g"] path_b: ["h"] object_start: "A" object_end: "C" ``` **Result:** FOL premises and conclusion to prove that `f∘g = h`. ## Running Locally **Instead of Claude Desktop, run the server directly:** Linux/macOS: ```bash ./run_mcp_logic.sh ``` Windows: ```cmd run_mcp_logic.bat ``` ## Project Structure ``` mcp-logic/ ├── src/mcp_logic/ │ ├── server.py # Main MCP server (6 tools) │ ├── mace4_wrapper.py # Mace4 model finder │ ├── syntax_validator.py # Formula syntax validation │ └── categorical_helpers.py # Category theory utilities ├── ladr/ # Auto-installed Prover9/Mace4 binaries │ └── bin/ │ ├── prover9 │ └── mace4 ├── tests/ # Test suite ├── linux-setup-script.sh # Linux/macOS setup ├── windows-setup-mcp-logic.bat # Windows setup ├── run_mcp_logic.sh # Linux/macOS run script └── run_mcp_logic.bat # Windows run script ``` ## What's New in v0.2.0 **Enhanced Features:** - ✅ Mace4 model finding and counterexample detection - ✅ Detailed syntax validation with position-specific errors - ✅ Categorical reasoning support (category theory axioms, commutativity verification) - ✅ Structured JSON output from all tools - ✅ Self-contained installation (no manual path configuration) ## Development Run tests: ```bash source .venv/bin/activate pytest tests/ -v ``` Test components directly: ```bash python tests/test_enhancements.py ``` ## Documentation - [`ENHANCEMENTS.md`](ENHANCEMENTS.md) - Quick reference for v0.2.0 features - [`Documents/`](Documents/) - Detailed analysis and examples - [`walkthrough.md`](.gemini/antigravity/brain/.../walkthrough.md) - Implementation details (in artifacts) ## Troubleshooting **"Prover9 not found" error:** - Run the setup script: `./linux-setup-script.sh` or `windows-setup-mcp-logic.bat` - Check that `ladr/bin/prover9` and `ladr/bin/mace4` exist **Server not updating:** - Restart Claude Desktop after code changes - Check logs for syntax errors **Syntax validation warnings:** - Use lowercase for predicates/functions (e.g., `man(x)` not `Man(x)`) - Add spaces around operators for clarity - Balance all parentheses ## License MIT ## Credits - **Prover9/Mace4**: William McCune's LADR library - **LADR Repository**: [laitep/ladr](https://github.com/laitep/ladr)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/angrysky56/mcp-logic'

If you have feedback or need assistance with the MCP directory API, please join our Discord server