Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Hegelion

FreeNot checked

An MCP server that improves LLM reasoning through dialectical argumentation and generates verified code via a player-coach loop.

GitHubEmbed

About

An MCP server that improves LLM reasoning through dialectical argumentation and generates verified code via a player-coach loop.

README

"The True is the whole." — G.W.F. Hegel

Hegelion applies dialectical reasoning to LLMs: forcing models to argue with themselves before reaching conclusions. This produces better reasoning for questions and better code for implementations.

Hegelion is prompt-driven by default: it generates structured prompts for your editor to execute, no API keys required. Optional server-side backends enable direct execution and independent coach verification.

Use it via MCP in Claude Desktop, Cursor, VS Code, or any MCP-enabled editor, or via the Python API in your own agents.

License: MIT Python 3.10+ PyPI version


Two Modes

Mode Pattern Use Case
Dialectical Reasoning Thesis → Antithesis → Synthesis Deep analysis of questions, philosophy, strategy
Autocoding Player → Coach → Iterate Verified code implementations with independent review

Both modes use the same principle: force the model to oppose itself before concluding. This catches blind spots that single-pass approaches miss.


Autocoding: Player-Coach Loop

Updated in v0.5.0 — Based on Block AI's g3 agent research.

The Problem

Single-agent coding tools often:

  • Declare success prematurely ("I have successfully implemented all requirements!")
  • Accumulate context pollution over long sessions
  • Miss edge cases because they verify their own work

The Solution

Two roles iterate until requirements are verified:

REQUIREMENTS (Source of Truth)
        │
        ▼
┌───────────────┐     ┌───────────────┐     ┌───────────────┐
│    PLAYER     │────▶│     COACH     │────▶│    ADVANCE    │
│  Implements   │     │   Verifies    │     │    State      │
│  code & tests │     │ independently │     │               │
└───────────────┘     └───────────────┘     └───────┬───────┘
        ▲                                           │
        │              ┌───────────┐                │
        └──────────────│ APPROVED? │◀───────────────┘
                       └───────────┘
                         │       │
                        No      Yes
                         │       │
                         ▼       ▼
                     Continue   Done

Player: Implements requirements, writes tests, responds to feedback. Does NOT declare success.

Coach: Independently verifies each requirement, ignores player's self-assessment, outputs structured checklist. When Codex MCP is available, Hegelion can launch a separate Codex session to act as the coach while the current session remains the player.

Key Insight

"Discard the player's self-report of success. Have the coach perform independent evaluation."

The coach catches issues by re-reading requirements and actually running tests—not by trusting what the player says it did.

Quick Start (Autocoding)

In Claude Code, Cursor, or any MCP-enabled editor:

Tip: if your editor exposes slash commands, you can use /hegelion as a wrapper. The underlying MCP tools are autocode and autocode_turn.

You: Call autocode with mode=init and these requirements:
     - Add user authentication to src/api.py
     - Add tests in tests/test_auth.py
     - All tests must pass

[Session initializes]

You: Call autocode_turn with role=player and implement

[Player writes code and tests]

You: Call autocode_turn with role=coach, execute=true, backend=auto, cwd=<workspace>

[Separate Codex coach verifies the workspace when available]

You: Call autocode_turn with role=advance, coach_feedback, approved=false

[Loop until COACH APPROVED]

State flow: Each autocode_turn returns an updated state for the next call — pass it into the next tool invocation. All outputs include schema_version for client stability. See MCP Integration for Codex coach setup.

MCP Tools

Tool Purpose
dialectic Unified dialectical reasoning (mode: single_shot, workflow, thesis, antithesis, synthesis)
autocode Unified autocoding entrypoint (mode: init, workflow, single_shot)
autocode_turn Execute one autocoding turn (role: player, coach, advance)
autocode_session Persist or restore sessions (action: save, load)

Codex Skill (optional)

This repo includes a Codex skill at skills/hegelion/SKILL.md. Install it with your skill installer (for example, install-skill-from-github.py --repo Hmbown/Hegelion --path skills/hegelion). It mirrors the /hegelion command, treats the current Codex session as the player, and routes coach turns to a separate Codex backend when available.

Why It Works

Problem Single Agent Coach-Player
Anchoring Drifts from requirements Requirements anchor every turn
Verification Self-assessment (unreliable) Independent verification
Context Accumulates pollution Fresh context each turn
Completion Open-ended Explicit approval gates

Dialectical Reasoning: Thesis → Antithesis → Synthesis

For questions requiring deep analysis, Hegelion forces three separate LLM calls:

[Call 1] Thesis     → LLM commits to a position
[Call 2] Antithesis → LLM attacks that position (separate call, no hedging)
[Call 3] Synthesis  → LLM reconciles the opposition

Why Separate Calls Matter

Method Calls Result
Raw 1 "It depends on definitions..."
Enhanced 1 "Hold both views in tension..."
Hegelion 3 Novel framework with testable predictions

When the model must commit to a thesis, then genuinely attack it in a separate call, the synthesis surfaces insights that single-call approaches shortcut.

Example: "Is free will compatible with determinism?"

Hegelion synthesis (after thesis and antithesis):

The deadlock dissolves when we recognize free will exists on a spectrum of self-authorship:

  1. Minimal freedom: Acting on desires without external coercion
  2. Reflective freedom: Second-order endorsement—I want to want this
  3. Narrative freedom: Acting consistently with a coherent life narrative
  4. Constitutive freedom: Recursive self-modification through deliberate habituation

Research proposal: Use fMRI to scan participants under (1) snap judgments, (2) brief reflection, (3) extended deliberation. Hypothesis: Condition (3) shows strongest correlation with self-reported decision "ownership."

This 4-level framework emerged from actually arguing with itself—not from asking for "thesis/antithesis/synthesis" in one prompt.

Quick Start (Dialectical)

pip install hegelion

# MCP setup (auto-detects OS)
hegelion-setup-mcp --host claude-desktop

# MCP setup for Claude Desktop (macOS)
hegelion-setup-mcp --write "$HOME/Library/Application Support/Claude/claude_desktop_config.json"

Or use the prompt-driven Python API (you run the prompt with your LLM of choice):

from hegelion.core.prompt_dialectic import create_single_shot_dialectic_prompt

prompt = create_single_shot_dialectic_prompt(
    "Is AI conscious?",
    use_council=True,
    response_style="sections",
)
print(prompt)

Health check (lists tools + generates a sample prompt):

hegelion-server --self-test

Feature Toggles

Option Description
use_council Three critics: Logician, Empiricist, Ethicist
use_search Grounds arguments with web search
response_style sections, json, or synthesis_only

Installation

pip install hegelion

For MCP integration (works with any MCP-enabled editor):

# Shortcuts
hegelion-setup-mcp --host claude-desktop
hegelion-setup-mcp --host cursor
hegelion-setup-mcp --host vscode
hegelion-setup-mcp --host windsurf

# Claude Desktop (macOS)
hegelion-setup-mcp --write "$HOME/Library/Application Support/Claude/claude_desktop_config.json"

# Claude Desktop (Windows)
hegelion-setup-mcp --write "%APPDATA%\\Claude\\claude_desktop_config.json"

# Claude Desktop (Linux)
hegelion-setup-mcp --write "$HOME/.config/Claude/claude_desktop_config.json"

# Then restart your MCP host

Claude Code (no MCP setup needed):

# Use /hegelion command directly in any Hegelion repo clone
# Or add MCP server for tool access
claude mcp add hegelion python -- -m hegelion.mcp.server

Manual config (any MCP host):

{
  "mcpServers": {
    "hegelion": {
      "command": "python",
      "args": ["-m", "hegelion.mcp.server"]
    }
  }
}

If you run from source (not site-packages), set PYTHONPATH to the repo root. The hegelion-setup-mcp command writes this automatically. If your host expects a full command path, use python -m hegelion.mcp.server instead of hegelion-server.

Supported editors: Claude Desktop, Claude Code, Cursor, VS Code + GitHub Copilot, Windsurf, Google Antigravity, Gemini CLI

See MCP Integration Guide for setup instructions.


Documentation


Contributing

Issues and PRs welcome. For significant changes, open a discussion first.


Recent Changes

v0.5.0 (March 2026)

  • Execution backends: Added prompt, cli, codex_mcp, and auto backend selection for MCP execution flows
  • Independent Codex coach: autocode_turn(role=coach, execute=true) can now run through a separate Codex MCP session and return coach_feedback
  • Prompt fallback: backend=auto now degrades cleanly to prompt-only output when no executable backend is available
  • LangGraph removal: Removed the LangGraph package, dependency extra, tests, and docs references
  • MCP tool consolidation: 14 tools simplified to 4 unified tools: dialectic, autocode, autocode_turn, autocode_session
  • State machine simplification: AutocodingStatus removed; phase is now the only state indicator
  • Schema migration: schema_version bumped to 2 with backward-compatible v1-to-v2 loading
  • Validation cleanup: Added @validated decorator + typed specs to remove repetitive handler boilerplate
  • Dead code removal: Removed unused judge path, unused conversation state, and deprecated response styles
  • Python 3.13 support: Added to CI and classifiers
  • Public API exports: hegelion now exports key classes directly (DialecticalPrompt, PromptDrivenDialectic, AutocodingState, etc.)
  • PEP 561 py.typed marker: Enables type-checker support for library consumers
  • --version flag: Both hegelion-server and hegelion-setup-mcp now support --version

Note: v0.4.x entries below reference pre-v0.5 tool names (e.g. dialectical_single_shot). These were replaced by the unified dialectic tool in v0.5.0.

v0.4.6 (February 4, 2026)

  • CI fix: Fixed CI pipeline and automated release workflow

v0.4.5 (February 4, 2026)

  • Single-call CLI execution for dialectical_single_shot: execute, timeout_seconds, max_retries
  • hegelion-setup-mcp flags: --llm-command-json, --llm-command, --auto-execute

v0.4.4 (January 21, 2026)

  • Simplified skill/command: Condensed to minimal routing tables, MCP-first approach

v0.4.3 (January 12, 2026)

  • MCP refactor: Split tooling, handlers, and validation to make the server easier to extend and maintain
  • Codex skill: Added skills/hegelion/SKILL.md for the /hegelion workflow

License: MIT

from github.com/Hmbown/Hegelion

Installing Hegelion

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/Hmbown/Hegelion

FAQ

Is Hegelion MCP free?

Yes, Hegelion MCP is free — one-click install via Unyly at no cost.

Does Hegelion need an API key?

No, Hegelion runs without API keys or environment variables.

Is Hegelion hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Hegelion in Claude Desktop, Claude Code or Cursor?

Open Hegelion on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Hegelion with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs