MCP backend for automated planning

Natural language to validated PDDL plans.

Convert planning requests into PDDL, run Fast Downward, validate the plan, and return artifacts through a stable MCP interface.

PDDL MCP Server workflow preview

Quick Start

Install locally and run the MCP server.

Use editable install for development, then configure Fast Downward and optional LLM credentials through local environment variables.

git clone https://github.com/NBNBTM/pddl-mcp-server.git
cd pddl-mcp-server
python -m pip install -e ".[dev]"
cp .env.example .env
python server.py

Demo

Farmer river crossing in 7 valid steps.

The workflow recognizes the domain, generates PDDL, calls Fast Downward, and returns a validated action sequence.

(cross-with goat left right)
(cross-alone right left)
(cross-with cabbage left right)
(cross-with goat right left)
(cross-with wolf left right)
(cross-alone right left)
(cross-with goat left right)
Animated PDDL MCP demo

Architecture

Small modules, predictable pipeline.

Semantic

LLM parsing when configured, deterministic fallback when unavailable.

Knowledge

Domain template matching from curated planning knowledge.

Modeling

Domain and problem PDDL generation with saved artifacts.

Planning

Fast Downward command execution, log capture, and plan parsing.

MCP Tools

Stable interfaces for agents and clients.

plan_from_text(text, options) generate_plan(task) validate_config() get_system_info()

Configuration

Real planner execution, optional LLM parsing.

Secrets stay in local `.env` files or deployment secrets. Generated output and local planner builds are ignored by Git.

FAST_DOWNWARD_PATH=/absolute/path/to/fast-downward.py
FAST_DOWNWARD_SEARCH=astar(blind())
LLM_API_URL=https://your-endpoint.example/chat
LLM_API_KEY=...
LLM_MODEL=qwen-max