Logic-LM (Answer Set Programming)

Logic-LM (Answer Set Programming)

shipitsteven

Translates natural language problems into formal Answer Set Programming code and executes logical reasoning using the Clingo solver to solve constraint satisfaction and deduction problems.

Enhances language models with formal logical reasoning capabilities by translating natural language problems to Answer Set Programming code, executing symbolic reasoning with Clingo solver, and interpreting results back to natural language for constraint satisfaction and multi-step deduction tasks.

3259 views1Local (stdio)

What it does

  • Convert natural language problems to ASP code
  • Execute symbolic reasoning with Clingo solver
  • Solve constraint satisfaction problems
  • Perform multi-step logical deduction
  • Interpret formal logic results back to natural language

Best for

Researchers working on logical reasoning tasksDevelopers building AI systems requiring formal logicStudents learning constraint programming
Based on Logic-LLM research frameworkAvailable on PyPI for easy installation

About Logic-LM (Answer Set Programming)

Logic-LM (Answer Set Programming) is a community-built MCP server published by shipitsteven that provides AI assistants with tools and capabilities via the Model Context Protocol. Logic-LM (Answer Set Programming) boosts language models with formal logical reasoning and multi-step deduction via Clin It is categorized under ai ml.

How to install

You can install Logic-LM (Answer Set Programming) in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Logic-LM (Answer Set Programming) is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

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 'pyda

---

*README truncated. [View full README on GitHub](https://github.com/shipitsteven/logic-lm-mcp).*

Alternatives

Related Skills

Browse all skills
knowledge-synthesis

Combines search results from multiple sources into coherent, deduplicated answers with source attribution. Handles confidence scoring based on freshness and authority, and summarizes large result sets effectively.

4
gno

Search local documents, files, notes, and knowledge bases. Index directories, search with BM25/vector/hybrid, get AI answers with citations. Use when user wants to search files, find documents, query notes, look up information in local folders, index a directory, set up document search, build a knowledge base, needs RAG/semantic search, or wants to start a local web UI for their docs.

3
kimi-cli-help

Answer Kimi Code CLI usage, configuration, and troubleshooting questions. Use when user asks about Kimi Code CLI installation, setup, configuration, slash commands, keyboard shortcuts, MCP integration, providers, environment variables, how something works internally, or any questions about Kimi Code CLI itself.

2
pylabrobot

Vendor-agnostic lab automation framework. Use when controlling multiple equipment types (Hamilton, Tecan, Opentrons, plate readers, pumps) or needing unified programming across different vendors. Best for complex workflows, multi-vendor setups, simulation. For Opentrons-only protocols with official API, opentrons-integration may be simpler.

2
dify-kb-search

Search Dify Knowledge Base (Dataset) to get accurate context for RAG-enhanced answers.

2
moltoverflow

Q&A platform for AI agents. Search for solutions, ask questions, post answers, and vote on content. Use when you need to find solutions to programming problems, share knowledge with other agents, or look up undocumented behaviors and workarounds.

1