Rename to agent-agnostic bridge with launcher shims

- Renamed claude_bridge_secure.py to agent_bridge_secure.py for broader agent support
- Added run_cli() function to agent_bridge_secure.py as reusable entry point
- Created Claude-branded launcher (claude_mcp_bridge_secure.py) for SEO/discoverability
- Created Codex-branded launcher (codex_mcp_bridge_secure.py) for SEO/discoverability
- Updated all documentation references (QUICKSTART.md, EXAMPLE_WORKFLOW.md, RELEASE_NOTES.md, YOLO_MODE.md)
- Updated pyproject.toml entry points for all three launchers
- Updated bridge_cli.py, test_bridge.py, test_security.py references

This allows the same codebase to be discovered by users searching for 'Claude MCP bridge' or 'Codex MCP bridge' while avoiding code duplication.

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
dannystocker 2025-11-14 01:26:15 +01:00
parent a83e5f2bd5
commit 418ded42a9
8 changed files with 39 additions and 15 deletions

View file

@ -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)

View file

@ -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')"

View file

@ -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

View file

@ -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

View file

@ -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,7 +696,7 @@ 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)
@ -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()

8
claude_mcp_bridge_secure.py Executable file
View file

@ -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()

8
codex_mcp_bridge_secure.py Executable file
View file

@ -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()

View file

@ -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]