Skip to main content
Glama

Logic-LM MCP Server

A Model Context Protocol (MCP) server that provides symbolic reasoning capabilities using Logic-LM framework and Answer Set Programming (ASP).

Attribution

This implementation is inspired by and builds upon the Logic-LLM framework:

Original Research:

This MCP server adapts the Logic-LLM approach for integration with Claude Code and other MCP clients, providing LLM-collaborative symbolic reasoning through Answer Set Programming.

πŸš€ Quick Start

Prerequisites

  • Python 3.8 or higher

Installation

Choose your preferred installation method:

Option 1: Install from PyPI (Recommended) βœ… LIVE ON PYPI

# Install with pip pip install logic-lm-mcp-server # Or install with uv (10-100x faster) uv pip install logic-lm-mcp-server

πŸ“¦ Package URL: https://pypi.org/project/logic-lm-mcp-server/

Option 2: Install with Clingo solver (for full functionality)

# Install with optional solver pip install logic-lm-mcp-server[solver] # Or with uv uv pip install logic-lm-mcp-server[solver]

Option 3: Development Installation

git clone https://github.com/stevenwangbe/logic-lm-mcp-server.git cd logic-lm-mcp-server pip install -e .

Test Installation

logic-lm-mcp --help

Integration with Claude Code

After installing the package, add it to your Claude Code configuration:

Method 1: Using the console command (after PyPI installation)

claude mcp add logic-lm-mcp logic-lm-mcp

Method 2: Manual configuration

Edit ~/.config/claude/claude_desktop_config.json (create if it doesn't exist):

{ "mcpServers": { "logic-lm": { "command": "logic-lm-mcp" } } }

Restart Claude Code to load the new MCP server.

  1. Test the integration:

Try these commands in Claude Code:

Check Logic-LM server health Translate this logic problem to ASP: "All birds can fly. Penguins are birds. Can penguins fly?"

Alternative Integration (Other MCP Clients)

For other MCP-compatible tools, start the server manually:

python start_server.py

The server will run on stdio and provide these tools:

  • get_asp_guidelines - Get ASP translation guidelines

  • translate_to_asp_instructions - Get problem-specific ASP guidance

  • verify_asp_program - Execute ASP programs with Clingo

  • check_solver_health - Verify system health

Overview

Logic-LM MCP Server converts natural language logical problems into Answer Set Programming (ASP) format, solves them using the Clingo solver, and returns human-readable results. It provides a three-stage reasoning pipeline: Problem Formulation β†’ Symbolic Reasoning β†’ Result Interpretation.

Features

  • Natural Language Input: Convert English logical problems to formal representations

  • ASP-Based Reasoning: Uses Answer Set Programming for robust logical inference

  • Clingo Integration: Leverages the Clingo ASP solver for symbolic reasoning

  • Self-Refinement: Iterative improvement of solutions through multiple reasoning passes

  • Template Library: Reusable ASP patterns for common logical structures

  • Fallback Handling: Graceful degradation when solver components unavailable

  • FastMCP Integration: Modern MCP server implementation with type safety

Tools Provided

1. get_asp_guidelines

Get comprehensive ASP translation guidelines (cached for efficiency).

Parameters: None

Returns: Complete ASP Logic Translation Guidelines document with comprehensive instructions for translating natural language into Answer Set Programming format.

2. translate_to_asp_instructions

Get lightweight instructions for translating a specific natural language problem to ASP.

Parameters:

  • problem (string, required): Natural language logical problem to translate

Example:

{ "problem": "All cats are mammals. Fluffy is a cat. Is Fluffy a mammal?" }

Response:

{ "success": true, "solution": "TRANSLATE TO ASP: All cats are mammals...\n\nINSTRUCTIONS:\n1. Call get_asp_guidelines() for complete patterns\n2. Analyze logical structure...", "confidence": 1.0, "method": "lightweight_translation_instructions", "metadata": { "problem_length": 58, "guidelines_cached": false, "next_steps": ["Call get_asp_guidelines() if needed", "Generate ASP code", "Call verify_asp_program()"] } }

3. verify_asp_program

Directly verify and solve an ASP program using the Clingo solver.

Parameters:

  • program (string, required): ASP program code to verify and solve

  • max_models (integer, 1-100, default: 10): Maximum number of models to find

Example:

{ "program": "% Facts\ncat(fluffy).\n\n% Rule: All cats are mammals\nmammal(X) :- cat(X).\n\n% Query\n#show mammal/1.", "max_models": 10 }

4. check_solver_health

Check Logic-LM server and Clingo solver health status.

Returns:

  • Server status and component initialization status

  • Clingo availability and version information

  • System capabilities and configuration details

  • Basic functionality test results

Architecture

Core Components

  1. LogicFramework: Main reasoning orchestrator

  2. ClingoSolver: ASP solver interface and management

  3. ASPTemplateLibrary: Reusable logical pattern templates

  4. FastMCP Integration: Modern MCP server implementation

Processing Pipeline

Natural Language Input ↓ LLM Translation Instructions (Problem-specific guidance) ↓ ASP Program Generation (LLM-driven with guidelines) ↓ Clingo Solver Execution ↓ Model Interpretation (Symbolic results) ↓ Human-Readable Output

Dependencies

  • Python 3.8+: Core runtime environment

  • FastMCP 2.0+: Modern MCP server framework

  • Pydantic 2.0+: Input validation and type safety

  • Clingo 5.8.0+: ASP solver (automatically detects if missing)

Installation

Option 1: Using pip

pip install -r requirements.txt

Option 2: Manual installation

pip install fastmcp>=2.0.0 pydantic>=2.0.0 clingo>=5.8.0

Option 3: Development setup

git clone <repository-url> cd logic-lm-mcp-server pip install -e .

Configuration

The server automatically handles:

  • Clingo solver installation detection

  • Template library loading

  • Environment-specific optimizations

  • Error recovery and fallback modes

Environment Variables

  • No environment variables required

  • Server runs with sensible defaults

Usage Examples

Basic Logical Reasoning

Input: "If it's raining, then the ground is wet. It's raining. Is the ground wet?" Output: "Yes, the ground is wet. This conclusion follows from modus ponens..."

Syllogistic Reasoning

Input: "All birds can fly. Penguins are birds. Can penguins fly?" Output: "Based on the given premises, yes. However, this conflicts with real-world knowledge..."

Set-Based Logic

Input: "All members of set A are in set B. X is in set A. Is X in set B?" Output: "Yes, X is in set B. This follows from set inclusion transitivity..."

Testing

Basic Functionality Test

logic-lm-mcp --help

Test MCP Integration

# Test with Claude Code claude mcp get logic-lm

Error Handling

  • Clingo Unavailable: Provides informative error messages with installation guidance

  • Invalid ASP Programs: Syntax checking with detailed error messages

  • Solver Timeouts: Graceful handling of complex problems

  • Resource Constraints: Memory and time limit management

Performance

  • Simple Problems: 50-200ms response time

  • Complex Reasoning: 200-1000ms with self-refinement

  • Memory Usage: ~25MB base + ~1MB per concurrent request

  • Concurrent Support: Multiple simultaneous reasoning requests

Troubleshooting

Common Issues

  1. "No module named 'pydantic'" or similar

    • Install dependencies: pip install -r requirements.txt

  2. "Clingo not available"

    • Install Clingo: pip install clingo

    • Server will run with limited functionality if Clingo is missing

  3. Server fails to start

    • Check Python version: python --version (requires 3.8+)

    • Test installation: logic-lm-mcp --help

  4. MCP connection issues

    • Verify MCP server configuration: claude mcp get logic-lm

    • Check installation: logic-lm-mcp --help

Getting Help

  1. Test installation: logic-lm-mcp --help

  2. Check the health endpoint: use check_solver_health tool

  3. Enable debug traces: set include_trace=true in requests

FAQ - Common Setup Errors

"Missing required dependencies" on startup

Error:

❌ Missing required dependencies: - fastmcp>=2.0.0 - pydantic>=2.0.0

Cause: Dependencies not properly installed or virtual environment not activated.

Solution:

# Option 1: Use virtual environment python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt # Option 2: Install globally pip install -r requirements.txt # Option 3: Use venv python directly venv/bin/python start_server.py

"ModuleNotFoundError: No module named 'fastmcp'"

Error:

Traceback (most recent call last): File "<string>", line 1, in <module> ModuleNotFoundError: No module named 'fastmcp'

Cause: Virtual environment not properly activated or dependencies not installed.

Solution:

# Clean installation rm -rf venv/ python3 -m venv venv source venv/bin/activate pip install -r requirements.txt

"ModuleNotFoundError: No module named 'pydantic'"

Error:

ModuleNotFoundError: No module named 'pydantic'

Cause: Missing core dependency, often from incomplete installation.

Solution:

pip install pydantic>=2.0.0 # Or reinstall all dependencies pip install -r requirements.txt

Virtual environment using system Python instead of venv Python

Error: Virtual environment is using the system Python instead of the isolated venv Python.

Symptoms:

  • Packages installed globally instead of in venv

  • Permission errors during package installation

  • which python shows system path after activation

  • Inconsistent behavior between development and production

Causes:

  • Incorrect virtual environment activation

  • Shell aliases overriding PATH (alias python, alias python3)

  • Corrupted virtual environment

  • PATH configuration issues

Solutions:

Option 1: Verify and fix activation

# Check if activation worked properly source venv/bin/activate which python # Should show venv/bin/python, not /usr/bin/python # If still showing system python, check for aliases alias python alias python3 # Remove problematic aliases unalias python unalias python3

Option 2: Use explicit venv path (most reliable)

# Instead of relying on activation, use direct paths venv/bin/python -c "import sys; print(sys.executable)" venv/bin/pip install package-name # For our package specifically venv/bin/python -c "from logic_lm_mcp import LogicFramework; print('βœ… Works!')"

Option 3: Recreate virtual environment

# Clean recreation if venv is corrupted rm -rf venv/ python3 -m venv venv source venv/bin/activate which python # Verify it shows venv/bin/python pip install logic-lm-mcp-server

Option 4: Use absolute paths in shell

# For Linux/Mac /full/path/to/venv/bin/python script.py # For Windows C:\full\path\to\venv\Scripts\python.exe script.py

"Clingo not available" but everything else works

Error:

"clingo_available": false

Cause: Clingo ASP solver not installed.

Solution:

# Option 1: Via pip pip install clingo>=5.8.0 # Option 2: Via conda conda install -c conda-forge clingo # Option 3: Check installation python -c "import clingo; print('Clingo available')"

Server starts but MCP tools not available

Error: MCP connection fails or tools not found.

Cause: Server not properly configured in Claude Code.

Solution:

  1. Verify server is running: python start_server.py

  2. Check Claude Code MCP configuration

  3. Restart Claude Code if needed

  4. Use absolute paths in configuration

Python version compatibility issues

Error:

SyntaxError: invalid syntax

Cause: Python version < 3.8.

Solution:

# Check Python version python --version # Must be 3.8+ # Use specific Python version python3.8 -m venv venv # or python3.9 -m venv venv

Background process conflicts

Error: Server won't start, port already in use.

Cause: Previous server instance still running.

Solution:

# Kill existing processes pkill -f start_server.py pkill -f logic-lm # Or find and kill specific process ps aux | grep start_server kill <process_id>

File permission errors

Error:

PermissionError: [Errno 13] Permission denied

Cause: Insufficient file permissions.

Solution:

# Fix permissions chmod +x start_server.py chmod -R 755 src/ # Or run with appropriate permissions sudo python start_server.py # Not recommended

Import path issues

Error:

ModuleNotFoundError: No module named 'src'

Cause: Python can't find local modules.

Solution:

# Run from project root directory cd /path/to/logic-lm-mcp-server python start_server.py # Or use absolute imports export PYTHONPATH="${PYTHONPATH}:$(pwd)"

Cache or old dependency conflicts

Error: Server uses old logic after code changes.

Cause: Python bytecode cache or old dependencies.

Solution:

# Clear Python cache find . -type d -name "__pycache__" -exec rm -rf {} + find . -name "*.pyc" -delete # Reinstall dependencies cleanly rm -rf venv/ python3 -m venv venv source venv/bin/activate pip install -r requirements.txt # Restart Claude Code

Memory or resource issues

Error: Server crashes or becomes unresponsive.

Cause: Insufficient system resources.

Solution:

  • Close other applications to free memory

  • Use smaller max_models parameter in requests

  • Check system requirements (25MB base memory)

  • Monitor server logs for resource warnings

Development

Project Structure

logic-lm-mcp-server/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ __init__.py # Package initialization β”‚ β”œβ”€β”€ logic_lm_mcp/ β”‚ β”‚ β”œβ”€β”€ __init__.py # Package initialization β”‚ β”‚ β”œβ”€β”€ main.py # FastMCP server implementation β”‚ β”‚ β”œβ”€β”€ logic_framework.py # Core Logic-LM framework β”‚ β”‚ └── asp_templates.py # ASP template library β”œβ”€β”€ pyproject.toml # Modern Python packaging β”œβ”€β”€ requirements.txt # Python dependencies β”œβ”€β”€ start_server.py # Development server startup └── README.md # This documentation

Adding New Templates

  1. Edit src/logic_lm_mcp/asp_templates.py

  2. Add new template to _initialize_templates() method

  3. Test with logic-lm-mcp --help and MCP tools

Extending Logic Framework

  1. Edit src/logic_lm_mcp/logic_framework.py

  2. Add new reasoning methods to LogicFramework class

  3. Update FastMCP tools in src/logic_lm_mcp/main.py

Resources

ASP Templates

The server provides access to ASP templates via MCP resources:

  • asp-templates://list - List all available templates

  • asp-templates://info/{template_name} - Get template information

  • asp-templates://template/{template_name} - Get template code

Available Templates

  • universal: Universal quantification (All X are Y)

  • conditional: Conditional rules (If X then Y)

  • syllogism: Basic syllogistic reasoning

  • existential: Existential quantification (Some X are Y)

  • negation: Negation patterns (No X are Y)

  • set_membership: Set membership and relationships

  • transitive: Transitive relationships

License

MIT License - See LICENSE file for details.

Support

For issues, feature requests, or questions about Logic-LM reasoning capabilities, please:

  1. Test installation: logic-lm-mcp --help

  2. Check the troubleshooting section above

  3. Open an issue in the repository with:

    • Python version

    • Operating system

    • Error messages

    • Installation method used (pip/uv)

-
security - not tested
A
license - permissive license
-
quality - not tested

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    MCP-Logic is a server that provides AI systems with automated reasoning capabilities, enabling logical theorem proving and model verification using Prover9/Mace4 through a clean MCP interface.
    Last updated -
    34
    MIT License
    • Linux
    • Apple
  • A
    security
    F
    license
    A
    quality
    Provides reasoning content to MCP-enabled AI clients by interfacing with Deepseek's API or a local Ollama server, enabling focused reasoning and thought process visualization.
    Last updated -
    1
    31
    65
  • A
    security
    -
    license
    A
    quality
    A fully featured coding agent that uses symbolic operations (enabled by language servers) and works well even in large code bases. Essentially a free to use alternative to Cursor and Windsurf Agents, Cline, Roo Code and others.
    Last updated -
    25
    16,336
    MIT License
    • Apple
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that enables LLMs to autonomously perform symbolic mathematics and computer algebra through SymPy's functionality for manipulating mathematical expressions and equations.
    Last updated -
    32
    43
    Apache 2.0
    • Apple

View all related MCP servers

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/shipitsteven/logic-lm-mcp'

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