Ai Bridge Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ai Bridge Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Multi-agent coordination for Claude Code. File-based. No database. No WebSocket. Just structured JSON on disk.
You're running Claude Code in a terminal. You have Claude.ai open for strategy. Maybe a second Claude Code instance for parallel work. And you — the human — become the bottleneck:
Your job should be strategic oversight, not message relay.
A shared MCP server that both agents connect to. The coding agent writes structured checkpoints. The advisory agent reads them and writes guidance back. Everything goes through files on disk — no servers, no databases, no infrastructure.
┌─────────────────────┐ ┌─────────────────────┐
│ Advisory Agent │ │ Coding Agent │
│ (Claude.ai / chat) │ │ (Claude Code / CLI)│
└──────────┬──────────┘ └──────────┬──────────┘
│ │
│ write_guidance() │ write_checkpoint()
│ read_checkpoints() │ read_guidance()
│ read_raw_log() │ ack_guidance()
▼ ▼
┌─────────────────────────────────────────────────────────┐
│ BRIDGE_DIR (on disk) │
│ │
│ bridge-checkpoints.jsonl ← append-only status log │
│ bridge-guidance.json ← current directive │
│ bridge-guidance-agent1.json ← per-agent targeting │
│ bridge-meta.json ← session state │
│ CONSTITUTION.md ← governance rules │
└─────────────────────────────────────────────────────────┘
▲
│
┌────────┴────────┐
│ Human │
│ (overseer) │
└─────────────────┘git clone https://github.com/robertjorndorff-collab/ai-bridge-mcp.git
cd ai-bridge-mcp
npm install.mcp.json{
"mcpServers": {
"ai-bridge": {
"command": "node",
"args": ["/path/to/ai-bridge-mcp/src/index.js"],
"env": {
"BRIDGE_DIR": "/path/to/your-project/bridge"
}
}
}
}BRIDGE_DIR is where checkpoint and guidance files are stored. Both agents must point to the same directory.
.mcp.json automatically from your project rootBRIDGE_DIR)That's it. Both agents can now communicate through the bridge.
| Variable | Required | Default | Description |
|---|---|---|---|
BRIDGE_DIR | Yes | . (cwd) | Directory for bridge data files |
CONSTITUTION_FILE | No | ../CONSTITUTION.md (relative to BRIDGE_DIR) | Path to your governance document |
| Tool | Description |
|---|---|
read_constitution | Read the full governing document. Required at session start. Marks it as read in session metadata. If skipped, every tool response includes a warning. |
check_section | Look up a specific section by number, name, or keyword (e.g., §7.7, Red X, deploy). More efficient than re-reading the entire document. |
| Tool | Description |
|---|---|
write_checkpoint | Write a structured status update: what happened, what was found, what's next, any blockers. Supports tags for filtering (deploy, test, blocker, etc.). |
read_guidance | Read the latest directive from the advisory agent. Call before every major action. Supports per-agent targeting via agent_id. |
ack_guidance | Confirm receipt of guidance. The advisory agent can verify delivery via get_bridge_status. |
| Tool | Description |
|---|---|
read_checkpoints | Read recent checkpoints. Filter by count, timestamp, tag, or agent ID. Returns clean structured data. |
write_guidance | Write a directive with optional questions, approved actions, and priority level (normal, urgent, blocker). Supports per-agent targeting. |
read_raw_log | Read the raw terminal session log with ANSI codes stripped and noise filtered. For deep investigation when checkpoints aren't enough. |
| Tool | Description |
|---|---|
get_bridge_status | Quick overview: last checkpoint, pending guidance, constitution status, per-agent guidance state. |
reset_bridge | Archive current session and start fresh. Preserves history in bridge-archive/. |
Running multiple coding agents? Each one needs a unique ID so guidance can be targeted:
AGENT_ID=agent1 claude # Terminal 1
AGENT_ID=agent2 claude # Terminal 2
AGENT_ID=agent3 claude # Terminal 3Set CLODE_AGENT_ID (or any env var your hooks use) so the bridge can route per-agent guidance to the right terminal. The advisory agent targets specific agents with:
write_guidance(target_agent: "agent1", directive: "Focus on the API refactor")
write_guidance(target_agent: "agent2", directive: "Run the test suite")Each agent reads only its own guidance (or broadcast guidance targeted to "all").
Claude Code supports hooks — shell commands that fire on specific events. Use the included hooks/bridge-hook.js to auto-inject guidance whenever the user sends a message:
hooks/bridge-hook.js into your project.claude/settings.local.json:{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "node path/to/bridge-hook.js"
}
]
}
],
"PreToolUse": [
{
"matcher": "mcp__ai-bridge__write_checkpoint",
"hooks": [
{
"type": "command",
"command": "node path/to/bridge-hook.js"
}
]
}
]
}
}See examples/settings.local.json for a complete example.
.bridge-last-seen-{agentId} to avoid re-injectingHooks only fire on user action (message sent, tool called). There is no push mechanism — if the advisory agent writes guidance while the coding agent is idle, it won't be seen until the user next interacts. Mitigate this by having agents poll read_guidance() before going idle.
The bridge optionally enforces a governance document (any markdown file). Three levels:
constitution-read tag or it gets flaggedread_constitution() is calledThe constitution file is referenced by path, never copied into the bridge directory. Use check_section() to look up specific rules mid-session without re-reading the whole document.
Any markdown file works. The check_section tool searches by ## Article and ### § headers. Structure your rules with headers like:
## Article I — Chain of Command
### §1.1 Role Boundaries
...
## Article II — Code Quality
### §2.1 Error Handling
...See AXIS PRAXIS for a real-world example used in production.
The coding agent should write checkpoints at natural milestones:
| Trigger | Example Tags |
|---|---|
| Session start | session-start, constitution-read |
| Plan submitted | plan, needs-approval |
| Major finding | diagnosis, evidence |
| Code committed | commit, deploy |
| Build/deploy result | build, deploy, success / failure |
| Test result | test, pass / fail |
| Blocker or escalation | blocker, needs-guidance |
| Session end | session-end, handoff |
The advisory agent writes structured directives:
{
"from": "Advisory Agent",
"directive": "Refactor the auth module to use JWT instead of sessions",
"questions": ["What's the current session storage mechanism?"],
"approvals": ["Modify auth middleware", "Add jsonwebtoken dependency"],
"priority": "urgent",
"target_agent": "agent1"
}The coding agent reads guidance before major actions, acknowledges receipt, and answers questions in its next checkpoint. The advisory agent verifies delivery via get_bridge_status.
All stored in BRIDGE_DIR:
| File | Format | Purpose |
|---|---|---|
bridge-checkpoints.jsonl | JSON Lines | Append-only checkpoint log |
bridge-guidance.json | JSON | Current broadcast guidance (overwritten each time) |
bridge-guidance-{agent}.json | JSON | Per-agent targeted guidance |
bridge-guidance-history.jsonl | JSON Lines | All guidance ever written |
bridge-meta.json | JSON | Session state (counts, timestamps, ack status) |
bridge-archive/ | Directory | Archived sessions from reset_bridge |
For the read_raw_log tool, launch your coding agent with:
script -q /path/to/your-project/bridge/session.log claudeThis records the full terminal session. The advisory agent can search it with grep filters, ANSI codes auto-stripped.
cat bridge-checkpoints.jsonl shows you everythingBRIDGE_DIR at any project. Works with any stack..gitignore or commit them for audit trailsBuilt at 3 AM during a session where the human spent two hours copy-pasting terminal output between Claude Code and Claude.ai. The human should oversee. The machines should talk to each other.
MIT
R.J. Orndorff LLC · 2026
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.