Skip to main content

Production-grade MCP server for Wind/Wall/Door multi-perspective debate orchestration

Project description

debate-hall-mcp

License CI PyPI version Python 3.11+

Production-grade MCP server for Wind/Wall/Door multi-perspective debate orchestration.

Table of Contents


For AI Agents

===AGENT_BOOTSTRAP===
SKILL::skills/debate-hall/SKILL.md
WORKFLOW::initturngetclose
AGENTS::agents/README.md[Wind/Wall/Door definitions]
COGNITIONS::agents/cognitions/[PATHOS|ETHOS|LOGOS overlays]
RECIPES::[SPEED(3)|STANDARD(12)|DEEP(36)|FORTRESS|LABORATORY]
===END===

What It Does

  • Structured debates with Wind (explore) → Wall (constrain) → Door (synthesize)
  • Deterministic state with turn limits, hash chain, and verifiable transcripts
  • Multiple modes: Fixed sequence or mediated orchestration
  • GitHub integration: Sync debates to Discussions, create ADRs from synthesis
  • OCTAVE export: Semantic compression format for decision records

Quick Start

1. Install

pip install debate-hall-mcp

2. Configure MCP Client

Add to Claude Desktop (claude_desktop_config.json) or Claude Code (~/.claude.json):

{
  "mcpServers": {
    "debate-hall": {
      "command": "debate-hall-mcp"
    }
  }
}

3. Start a Debate

User: Start a debate about whether to rewrite our backend in Rust

Claude: [calls init_debate with thread_id="rust-rewrite",
         topic="Should we rewrite our backend in Rust?"]

4. Run the Dialectic

Wind → "What if we rewrote in Rust? Memory safety, performance..."
Wall → "Yes, but: team expertise, ecosystem maturity, timeline..."
Door → "Therefore: Profile hotspots first, consider Rust for specific components..."

That's it. For GitHub integration, see Configuration.

Installation

PyPI:

pip install debate-hall-mcp
# or
uv pip install debate-hall-mcp

From source:

git clone https://github.com/elevanaltd/debate-hall-mcp
cd debate-hall-mcp
uv pip install -e ".[dev]"

MCP Tools

Core Tools

Tool Purpose
init_debate Create debate: thread_id, topic, mode?, max_turns?
add_turn Record turn: thread_id, role, content
get_debate View state: thread_id, include_transcript?
close_debate Finalize: thread_id, synthesis, output_format?

Mode Tools

Tool Purpose
pick_next_speaker Set next speaker (mediated mode)

Admin Tools

Tool Purpose
force_close_debate Emergency shutdown (I5 kill switch)
tombstone_turn Redact turn (preserves hash chain)

GitHub Tools

Tool Purpose
github_sync_debate Sync turns to GitHub Discussion/Issue
ratify_rfc Generate ADR from synthesis, create PR
human_interject Inject human GitHub comment into debate

Configuration

Minimal (No GitHub)

The MCP config above is sufficient for local debates.

With GitHub Integration

  1. Copy .env.example to .env
  2. Add your GitHub token:
    GITHUB_TOKEN=ghp_your_token_here
    

Token scopes needed: repo, write:discussion Get one at: GitHub → Settings → Developer settings → Personal access tokens

See Usage Patterns for detailed configuration options.

Example

Thread: "microservices-vs-monolith"
Topic: "Should we migrate to microservices?"

[WIND] "What if we decomposed into services? Independent scaling,
        technology diversity, team autonomy..."

[WALL] "Yes, but we have 3 developers. Microservices add operational
        complexity, network latency, distributed transactions..."

[DOOR] "Therefore: Start with a modular monolith. Design service
        boundaries now, but keep deployment unified. Extract services
        only when team grows or specific scaling needs emerge."

Documentation

Doc Content
Usage Patterns Recipes, tuning, agent tiers, cognition prompts
Evidence Empirical research validating the approach
Architecture Execution tiers, Wall content contract
Examples Real multi-model debate patterns
Agents Wind/Wall/Door agent definitions
Skills AI agent skill installation

The Pattern

Three cognitive voices in tension:

Role Cognition Voice
Wind PATHOS "What if..." — expansive, visionary
Wall ETHOS "Yes, but..." — grounding, critical
Door LOGOS "Therefore..." — synthesizing, decisive

Architecture Immutables

ID Principle
I1 Cognitive State Isolation — server manages state
I2 OCTAVE Binding — exportable semantic transcripts
I3 Finite Closure — hard turn/round limits
I4 Verifiable Ledger — SHA-256 hash chain
I5 Safety Override — admin kill switch

Contributing

See CONTRIBUTING.md for development setup, testing, and guidelines.

# Quick dev setup
git clone https://github.com/elevanaltd/debate-hall-mcp
cd debate-hall-mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"

# Run tests (500+ tests, 90%+ coverage)
pytest

# Quality checks
ruff check src tests && mypy src && black --check src tests

License

Apache-2.0 — Built with HestAI and MCP Python SDK.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

debate_hall_mcp-0.3.0.tar.gz (157.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

debate_hall_mcp-0.3.0-py3-none-any.whl (62.5 kB view details)

Uploaded Python 3

File details

Details for the file debate_hall_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: debate_hall_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 157.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for debate_hall_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 66354f259601d23774e251ab6bf9de40ee2108c2df0a0ccdb76386d865d7bb82
MD5 e59608b16e071b83b8e42e5259d45969
BLAKE2b-256 1abc844f542040156b3e041a5773081d6590cdf2715ab1475bac87ebc13f6de6

See more details on using hashes here.

Provenance

The following attestation bundles were made for debate_hall_mcp-0.3.0.tar.gz:

Publisher: publish.yml on elevanaltd/debate-hall-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file debate_hall_mcp-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for debate_hall_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fcb20e45366f6f66097ff6d90c163e358e528d3ab52efb121fc0cf8ea4d5dc2
MD5 feb5c5b9239f8f04366f1848eb357c7d
BLAKE2b-256 c19c3cdd022cdf3c6a3a4ff8bfb53fe2b22a031be711a912ce0830d3c8dc4a0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for debate_hall_mcp-0.3.0-py3-none-any.whl:

Publisher: publish.yml on elevanaltd/debate-hall-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page