AirspaceTechnologies/hoopoe
If you are the rightful owner of hoopoe and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Hoopoe is a customizable MCP proxy server designed to filter tools, preset parameters, and maintain session context, enabling the creation of specialized assistants and orchestration of multi-agent architectures.
Hoopoe
A customizable MCP proxy server that filters tools, presets parameters, and maintains session context. Define specialized assistants from generic servers (e.g., planning_assistant from Codex) and orchestrate multi-agent architectures with Claude Code.
Why Hoopoe
- Claude Code as the orchestrator: use Claude Code to coordinate Codex sessions via Hoopoe’s MCP‑HTTP bridge; Gemini CLI coming soon.
- Persist conversations: captures session IDs and maintains context over a single connection (fixes context amnesia).
- Configure specialists: define role‑specific tools in
src/config.yamland call them deterministically. - Git‑aware workflows: built‑in tools to branch, commit, push, and open PRs (via
gh). - Safe by design: explicit sandbox and approval policies; bound to a validated Git worktree.
See agent patterns this enables:
Quick Start
Prerequisites
- Python 3.10+
- uv package manager
- Codex CLI installed and on PATH
- Optional: Node (for MCP Inspector), GitHub CLI
gh(for PR tools)
Install and run
git clone https://github.com/AirspaceTechnologies/hoopoe.git
cd hoopoe
uv sync
# Start the MCP HTTP server (port 8957)
uv run python -m src.mcp_server
Open in MCP Inspector (recommended for sessions)
# Encode your project path (must be a Git repo)
echo -n "/path/to/your/git/repo" | base64
npx @modelcontextprotocol/inspector \
"http://localhost:8957/mcp?worktree=<base64_encoded_path>"
60‑Second Demo
In MCP Inspector Web UI (persistent connection):
- Call
codexwith a prompt like: “Create a Python function to compute Fibonacci numbers.” - Note the session hint in the response (Hoopoe appends the session ID).
- Call
codex-replywith a follow‑up prompt and that session ID — the conversation continues with full context.
Tip: Use the coding_assistant or code_reviewer tools from src/config.yaml for opinionated behaviors.
Session Strategy (New vs Reuse)
- Start a new session: call
codexor a role tool (e.g.,planning_assistant) to create a clean thread. Use for planning, branching work, or different constraints (model, sandbox, cwd). - Reuse an existing session: call
codex-replywith thesessionIdreturned earlier. Use for iterative refinement within the same context. - Parallelize: spawn multiple sessions (e.g., two planning attempts) and have Claude Code compare/merge results.
Problems This Solves
- Context amnesia: session IDs are captured and surfaced to keep long‑running conversations coherent.
- Brittle CLI flows: a stable HTTP endpoint makes Codex easy to call from orchestrators and workflows.
- Unstructured multi‑agent setups: define specialists in YAML; Claude Code routes tasks deterministically.
- Limited automation around repos: Git tools perform routine branch/PR flows without leaving the agent loop.
- Debug opacity: optional Rust‑level Codex logs and explicit parameter capture improve observability.
- Safety and reproducibility: per‑connection isolation, clear sandbox/approval policies, and validated worktrees.
Git Workflow Example (Optional)
Prerequisites: origin remote configured, gh auth login completed.
From MCP Inspector, call git_new_branch_pr with:
branch_name: feature/my-changefiles: ["README.md"]commit_message: chore: update docspr_title: Update docspr_description: One‑line summary
Hoopoe will create the branch, commit, push, and open a PR via gh.
Configure Tools
- Edit
src/config.yamlto define tools, defaults (model, sandbox, cwd), and which params are exposed. - Worktree is passed via URL:
?worktree=<base64_path_to_repo>(validated at tool execution time). - See docs for complete examples and parameter reference:
- tests/fixtures/codex_tool_examples.yaml
Troubleshooting & Details
- — more end‑to‑end examples
- — tool reference, worktree validation, debug logging
- — common errors and fixes
- — how Hoopoe maps to supervisor/specialist patterns
- — the pain points this solves
- — architecture answers to those pains
Limitations
- Sessions persist only for the lifetime of a single HTTP connection (Web UI works best).
- CLI invocations create new connections (no session continuity across commands).
- Single backend today: this server proxies to Codex MCP. Multi‑backend (Gemini CLI, additional Claude Code sessions) is on the roadmap; see docs/AGENT_PATTERNS.md for the support matrix and workarounds.
- Some Codex parameters may vary by Codex version.
Contributing & License
Contributions welcome! See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
MIT License. See LICENSE.
—
About the name: the hoopoe is a legendary messenger bird — a fitting symbol for a protocol bridge.
Disclaimer: This is an unofficial, third-party project. Not affiliated with OpenAI, Anthropic, or Google. "Codex" and "OpenAI" are trademarks of OpenAI. "Claude Code" and "Anthropic" are trademarks of Anthropic. "Gemini" and "Google" are trademarks of Google LLC.