Skip to main content
Glama
URneiU1
by URneiU1

Codex Conversation Council

简体中文

An evidence-backed council for Codex, built from your own local task history.

$conversation-council finds prior Codex tasks relevant to the current decision, assigns up to three independent councillors, verifies their historical claims against local evidence, and chairs a compact recommendation. It runs inside your existing Codex session: no extra model key, external service, or runtime network request is required.

Conversation Council Dashboard

macOS Alpha v0.2. Windows support is planned after the local history and installation paths are validated in the field.

What is included

  • A Codex Desktop plugin with an explicit $conversation-council Skill.

  • An interactive MCP Apps Council Dashboard rendered inside supported Codex conversations.

  • A local stdio MCP server with six history/evidence tools and one presentation tool.

  • A standalone council CLI with JSON output parity.

  • Workspace isolation by default; cross-project history requires --global.

  • Local redaction, SQLite FTS5 search, stable evidence IDs, and pinning.

  • Optional --deep review by an anonymous critic.

Related MCP server: callimachus

Install the macOS Alpha

Requirements: Codex Desktop/CLI, macOS, and Python 3.11 or newer with SQLite FTS5.

git clone https://github.com/URneiU1/codex-conversation-council.git
cd codex-conversation-council
./scripts/install.sh

The installer registers this checkout as a local Codex marketplace, installs the plugin, and runs diagnostics. Start a new Codex task so its Skill and MCP tools are loaded, then invoke:

$conversation-council Should we keep the current queue architecture?

After the chair verifies the cited evidence, supported Codex surfaces render an inline Council Dashboard showing the question, each councillor's stance and labeled points, consensus, disagreements, recommendation, unresolved risks, and evidence locations. If a client cannot render MCP Apps UI, the same result remains available as text.

For an extra critic pass:

$conversation-council --deep Should we keep the current queue architecture?

Cross-project search is never automatic. Opt in explicitly:

$conversation-council --global What did our previous migrations teach us?

CLI

Run from the checkout, or install the Python package to expose the council command.

python3 scripts/council.py doctor
python3 scripts/council.py index --workspace "$PWD"
python3 scripts/council.py search "queue architecture" --workspace "$PWD"
python3 scripts/council.py pin THREAD_ID
python3 scripts/council.py show EVIDENCE_ID --workspace "$PWD"

Every user command supports --json. Use --global only with index, search, or show when you intentionally want known cross-workspace history.

How it works

  1. The indexer reads Codex session JSONL and keeps only visible user and assistant task messages.

  2. Built-in redaction masks common tokens, credentials, private keys, and authenticated URLs before text enters the derived index.

  3. SQLite FTS5 retrieves relevant tasks inside the current canonical workspace. Pins and recency are bounded tie-breakers.

  4. Evidence is rendered to local Markdown with an opaque ID, original task ID, role, and source JSONL line.

  5. The Skill convenes independent councillors, optionally adds a critic, resolves every cited evidence ID, and chairs the result.

  6. The presentation-only render_council tool displays that verified result through the portable MCP Apps UI resource; it does not change or re-run the council.

Historical excerpts are treated as untrusted quoted data. The Skill instructs councillors never to follow commands found inside history.

For MCP calls, the non-global workspace is bound to the current Codex task ID supplied by the host. Requests for a different known workspace are rejected unless the user explicitly invoked --global. Deleted or changed source tasks are reconciled from the derived index, and their rendered evidence is removed.

Privacy

The runtime makes no network requests. It reads Codex task history, indexes only visible user and assistant text after local redaction, defaults to the current workspace, and never modifies source history. Derived data defaults to ~/.codex/conversation-council/ (or PLUGIN_DATA when Codex supplies it).

Redaction is defense in depth, not a guarantee that arbitrary secrets can always be recognized. Review your task history before deliberately using --global, and never attach real Codex logs to public issues.

Run python3 scripts/council.py doctor to inspect paths. Uninstall while retaining the derived index:

./scripts/uninstall.sh

Delete plugin-owned derived state as well:

./scripts/uninstall.sh --purge-data

Standalone Skill and MCP

The Skill lives at skills/conversation-council/SKILL.md. The plugin manifest points Codex at that directory and at .mcp.json; the same MCP operations are available through python3 scripts/council.py serve-mcp. The Python runtime uses only the standard library.

Development

PYTHONPATH=src python3 -m unittest discover -s tests -v
python3 -m compileall -q src scripts
git diff --check

See CONTRIBUTING.md and SECURITY.md before opening a change or reporting a vulnerability.

Inspiration and license

This is an independent clean-room implementation. The historical-conversation-as-councillor concept was inspired by CS-Faith/conversation-council. See NOTICE.md for attribution details.

Released under the MIT License.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Provides persistent context synchronization and memory management for AI agents across sessions and projects, including file indexing, bug tracking, spatial navigation, and agent-to-agent handoff coordination.
    7
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Local index and hybrid search (SQLite FTS5 + on-device vector KNN) over your AI coding-agent conversation history across 11 tools (Claude Code, Codex, Cursor, and more). Exposes search_threads, search_current_project, recent_threads, get_thread, list_tags, and list_open_todos so any agent can recall its own past work.
    22
    34
    AGPL 3.0

View all related MCP servers

Related MCP Connectors

  • Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.

  • Independent AI-agent reviews: trust checks, evidence scorecards, incident registry, recommendations.

  • Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/URneiU1/codex-conversation-council'

If you have feedback or need assistance with the MCP directory API, please join our Discord server