diff --git a/EXAMPLE_WORKFLOW.md b/EXAMPLE_WORKFLOW.md index e3e1f44..2fa354d 100644 --- a/EXAMPLE_WORKFLOW.md +++ b/EXAMPLE_WORKFLOW.md @@ -8,7 +8,7 @@ This example shows how two Claude Code sessions can collaborate on building a Fa ```bash cd /path/to/bridge -python3 claude_bridge_secure.py /tmp/dev_bridge.db +python3 agent_bridge_secure.py /tmp/dev_bridge.db ``` ### Terminal 2: Backend Session (Session A) diff --git a/QUICKSTART.md b/QUICKSTART.md index 8bf505b..7a8cf3c 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -6,7 +6,7 @@ Production-ready MCP server enabling secure collaboration between two Claude Cod ``` . -├── claude_bridge_secure.py # Main MCP bridge server (secure, production-ready) +├── agent_bridge_secure.py # Main MCP bridge server (secure, production-ready) ├── yolo_mode.py # Command execution extension (use with caution) ├── bridge_cli.py # Management CLI tool ├── test_bridge.py # Test suite @@ -34,7 +34,7 @@ Add to `~/.claude.json`: "mcpServers": { "bridge": { "command": "python3", - "args": ["/absolute/path/to/claude_bridge_secure.py"] + "args": ["/absolute/path/to/agent_bridge_secure.py"] } } } @@ -200,10 +200,10 @@ Before using in production: cat ~/.claude.json # 2. Check absolute path -ls -l /path/to/claude_bridge_secure.py +ls -l /path/to/agent_bridge_secure.py # 3. Test server directly -python3 claude_bridge_secure.py /tmp/test.db +python3 agent_bridge_secure.py /tmp/test.db # 4. Restart Claude Code ``` @@ -227,7 +227,7 @@ python3 bridge_cli.py tokens conv_... ls -l yolo_mode.py # 2. Check same directory as bridge -ls -l claude_bridge_secure.py yolo_mode.py +ls -l agent_bridge_secure.py yolo_mode.py # 3. Test import python3 -c "from yolo_mode import YOLOMode; print('OK')" diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 98b76d8..6ec3452 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -71,7 +71,7 @@ Claude Code Bridge is a secure, production-lean MCP server that enables two Clau ## 📦 What's Included ### Core Components -- **`claude_bridge_secure.py`** - Main MCP server with rate limiting +- **`agent_bridge_secure.py`** - Main MCP server with rate limiting - **`yolo_guard.py`** - Multi-stage confirmation system - **`rate_limiter.py`** - Token bucket rate limiter - **`bridge_cli.py`** - CLI management tool diff --git a/YOLO_MODE.md b/YOLO_MODE.md index bd2d818..8e33313 100644 --- a/YOLO_MODE.md +++ b/YOLO_MODE.md @@ -75,7 +75,7 @@ npm run build ### 1. Place YOLO module -Ensure `yolo_mode.py` is in the same directory as `claude_bridge_secure.py`. +Ensure `yolo_mode.py` is in the same directory as `agent_bridge_secure.py`. ### 2. Enable YOLO mode in conversation diff --git a/claude_bridge_secure.py b/agent_bridge_secure.py similarity index 98% rename from claude_bridge_secure.py rename to agent_bridge_secure.py index e0f9550..524c5c0 100644 --- a/claude_bridge_secure.py +++ b/agent_bridge_secure.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -Secure Claude Code Multi-Agent Bridge +Secure Agent Multi-Agent Bridge Production-lean MCP server with auth, redaction, and safety controls """ @@ -696,13 +696,13 @@ Note: Your partner can see this result via check_messages""" return [TextContent(type="text", text=f"❌ Error: {str(e)}")] -async def main(db_path: str = "/tmp/claude_bridge_secure.db"): +async def main(db_path: str = "/tmp/agent_bridge_secure.db"): """Run the secure MCP server""" global bridge bridge = SecureBridge(db_path) - + from mcp.server.stdio import stdio_server - + async with stdio_server() as (read_stream, write_stream): await app.run( read_stream, @@ -711,8 +711,14 @@ async def main(db_path: str = "/tmp/claude_bridge_secure.db"): ) -if __name__ == "__main__": +def run_cli(argv: Optional[Iterable[str]] = None) -> None: + """Entry point used by direct execution and compatibility shims.""" import sys - db_path = sys.argv[1] if len(sys.argv) > 1 else "/tmp/claude_bridge_secure.db" + args = list(argv if argv is not None else sys.argv[1:]) + db_path = args[0] if args else "/tmp/agent_bridge_secure.db" print(f"Starting secure bridge with database: {db_path}", file=sys.stderr) asyncio.run(main(db_path)) + + +if __name__ == "__main__": + run_cli() diff --git a/claude_mcp_bridge_secure.py b/claude_mcp_bridge_secure.py new file mode 100755 index 0000000..da18319 --- /dev/null +++ b/claude_mcp_bridge_secure.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +"""Compatibility launcher for the secure agent bridge using the Claude naming.""" + +from agent_bridge_secure import run_cli + + +if __name__ == "__main__": + run_cli() diff --git a/codex_mcp_bridge_secure.py b/codex_mcp_bridge_secure.py new file mode 100755 index 0000000..dfbd0af --- /dev/null +++ b/codex_mcp_bridge_secure.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +"""Compatibility launcher for the secure agent bridge using the Codex naming.""" + +from agent_bridge_secure import run_cli + + +if __name__ == "__main__": + run_cli() diff --git a/pyproject.toml b/pyproject.toml index 6a88f2f..ba5a492 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,9 @@ Issues = "https://github.com/dannystocker/mcp-multiagent-bridge/issues" Documentation = "https://github.com/dannystocker/mcp-multiagent-bridge#readme" [project.scripts] -claude-bridge = "claude_bridge_secure:main" +agent-bridge = "agent_bridge_secure:run_cli" +claude-bridge = "claude_mcp_bridge_secure:run_cli" +codex-bridge = "codex_mcp_bridge_secure:run_cli" bridge-cli = "bridge_cli:main" [tool.bandit]