Owlex

February 18, 2026 ยท View on GitHub

Version License Python MCP

Get a second opinion without leaving Claude Code.

Different AI models have different strengths and blind spots. Owlex lets you query Codex, Gemini, OpenCode, ClaudeOR, and AiChat directly from Claude Code - and optionally run a structured deliberation where they review each other's answers before Claude synthesizes a final response.

Council demo

How the Council Works

  1. Round 1 - Your question goes to each agent independently. They answer without seeing each other.
  2. Round 2 - Each agent sees all Round 1 answers and can revise their position.
  3. Synthesis - Claude reviews everything and outputs a structured answer.

Use it for architecture decisions, debugging tricky issues, or when you want more confidence than a single model provides. Not for every question - for the ones that matter.

Data Flow

Council data flow

Installation

uv tool install git+https://github.com/agentic-mcp-tools/owlex.git

Add to .mcp.json:

{
  "mcpServers": {
    "owlex": {
      "command": "owlex-server"
    }
  }
}

Usage

Council Deliberation

council_ask prompt="Should I use a monorepo or multiple repos for 5 microservices?"

Options:

  • claude_opinion - Share your initial thinking with agents
  • deliberate - Enable Round 2 revision (default: true)
  • critique - Agents critique each other instead of revise
  • roles - Assign specialist roles (dict or list)
  • team - Use a predefined team preset
  • timeout - Timeout per agent in seconds (default: 300)

Specialist Roles

Agents can operate with specialist perspectives that shape their analysis:

RoleDescription
securitySecurity analyst - vulnerabilities, auth, data protection
perfPerformance optimizer - efficiency, caching, scalability
skepticDevil's advocate - challenge assumptions, find edge cases
architectSystem architect - design patterns, modularity, APIs
maintainerCode maintainer - readability, testing, tech debt
dxDeveloper experience - ergonomics, documentation, errors
testingTesting specialist - coverage, strategies, edge cases
neutralNo role injection (default)

Assign roles explicitly:

council_ask prompt="Review this auth flow" roles={"codex": "security", "gemini": "perf"}

Auto-assign from list (in agent order: codex, gemini, opencode, claudeor, aichat):

council_ask prompt="Review this code" roles=["security", "skeptic", "maintainer"]

Team Presets

Predefined role combinations for common scenarios:

TeamCodexGeminiOpenCodeClaudeORAiChat
security_auditsecurityskepticarchitectdxtesting
code_reviewmaintainerperftestingdxsecurity
architecture_reviewarchitectperfmaintainerdxskeptic
devil_advocateskepticskepticskepticskepticskeptic
balancedsecurityperfmaintainerdxtesting
optimalmaintainerarchitectdxskepticperf
council_ask prompt="Is this design secure?" team="security_audit"

Individual Agent Sessions

ToolDescription
start_codex_sessionNew Codex session
resume_codex_sessionResume with session ID or --last
start_gemini_sessionNew Gemini session
resume_gemini_sessionResume with index or latest
start_opencode_sessionNew OpenCode session
resume_opencode_sessionResume with session ID or --continue
start_claudeor_sessionNew Claude via OpenRouter session
resume_claudeor_sessionResume with session ID or --continue
start_aichat_sessionNew AiChat session
resume_aichat_sessionResume with session name

Claude Code Skills

Non-blocking slash commands for quick agent invocation:

SkillDescription
/codexAsk Codex a question
/geminiAsk Gemini a question
/councilRun council deliberation
/critiqueRun council in critique mode

Async Task Management

Council runs in the background. Start a query, keep working, check results later.

ToolDescription
wait_for_taskBlock until task completes
get_task_resultCheck result without blocking
list_tasksList tasks with status filter
cancel_taskKill running task

Configuration

VariableDefaultDescription
COUNCIL_EXCLUDE_AGENTS``Skip agents (e.g., opencode,gemini,claudeor)
COUNCIL_DEFAULT_TEAM``Default team when none specified (empty = neutral)
COUNCIL_CLAUDE_OPINIONfalseClaude shares its opinion with agents by default
OWLEX_DEFAULT_TIMEOUT300Timeout in seconds
CODEX_BYPASS_APPROVALSfalseBypass sandbox (use with caution)
GEMINI_YOLO_MODEfalseAuto-approve Gemini actions
OPENCODE_AGENTplanplan (read-only) or build
OPENROUTER_API_KEY``OpenRouter API key (enables ClaudeOR agent)
CLAUDEOR_MODEL``OpenRouter model for ClaudeOR (e.g., deepseek/deepseek-v3.2)
AICHAT_MODEL``Model for AiChat (e.g., openrouter:minimax/minimax-m2.5)

Cost Notes

  • Codex and Gemini use your existing subscriptions (Claude Max, Google AI Pro, etc.)
  • OpenCode and AiChat use API tokens (provider-dependent)
  • Exclude agents with COUNCIL_EXCLUDE_AGENTS to control costs
  • Use council for important decisions, not every question

When to Use Each Agent

AgentStrengths
Codex (gpt5.2-codex)Deep reasoning, code review, bug finding
Gemini1M context window, multimodal, large codebases
OpenCodeAlternative perspective, configurable models
ClaudeORClaude Code + OpenRouter (DeepSeek, GPT-4o, etc.)
AiChatMulti-provider (20+ backends), bring-your-own-model flexibility
ClaudeComplex multi-step implementation, synthesis