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 (496 tests, 92%+ 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.4.0.tar.gz (155.8 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.4.0-py3-none-any.whl (62.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: debate_hall_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 155.8 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.4.0.tar.gz
Algorithm Hash digest
SHA256 784ad435bcbb8853339840584209793b7adc50548dd569d50628cbd922a35cc4
MD5 ef42099846e573bc2ac152230840003f
BLAKE2b-256 ad5644e6e4e4beeca9e75a692b2bb87107e64a4ed390a581351b8996611184f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for debate_hall_mcp-0.4.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.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for debate_hall_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7786d5939472997926bbea19b2acdf804bb282ee55aa32ebb5f85cd1435f3c5
MD5 45b5b5cdb030bd3ebbdfd5ee754b2854
BLAKE2b-256 023b304e51e36697a4a6b15c2b5982467954d8feda13eb7a84ef14d7a59655e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for debate_hall_mcp-0.4.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