MCP server for cross-Claude-Code-chat orchestration over local session JSONL files
claude-bridge has 22 tools with complete schemas and descriptions, but quality is uneven. Naming is verb-first and mostly clear (list_*, peer_*, get_*, set_*), following conventions well. Descriptions are present for all tools (avg ~120 chars) and parameters, meeting baseline minimums. However, descriptions are often terse and lack context about WHEN to use tools or dependencies between them. Parameter descriptions exist but are minimal (avg ~50 chars). Output schemas are not documented, callers must infer structure from code. Error handling is basic (err() helper returns code+message but no recovery guidance). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Peer-related tools (peer_ask, peer_reply, peer_spawn, peer_stop, peer_restart, peer_compact) modify state but descriptions don't explicitly warn of side effects. Control-plane tools (team_layout, peer_spawn, peer_stop, peer_restart, peer_compact) are high-risk but lack confirmation/dry-run patterns.
Get control-plane daemon status (daemon control-plane tool)
List all Claude Code projects with their directories and absolute paths
List sessions with optional filtering by project, limit, active status detection, and metadata scanning (aiTitle, event counts)
Get canonical Claude model metadata including context window, max output, pricing, capabilities, and lifecycle
Send a message to another peer and wait for a reply
View into another peer's session JSONL with filtering by last N messages, timestamp, or regex query
Cross-session search within the current project or all projects
Output schemas not documented. Callers must infer response structure from code. No ToolResult type hints in tool definitions.
Destructive control-plane tools (peer_spawn, peer_stop, peer_restart, peer_compact, team_layout) lack confirmation/dry-run patterns and do not declare destructiveHint annotation.
Descriptions for control-plane and peer-modification tools are terse (<60 chars) and lack context about side effects, prerequisites, or when to use them.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Compact a peer's session JSONL (daemon control-plane tool)
Get autocompact-relevant context usage %, model, risk bucket per peer with dual-source priority chain (statusLine → JSONL → no-live-data)
Read pending messages from the inbox
List all active peers with their IDs, names, and display names
Reply to an incoming message from another peer
Restart a peer session (daemon control-plane tool)
Set own threshold-guard (warn/critical) for context usage and notify subscribers
Set own idle-beep notification settings
Set account-scoped rate-limit guard with threshold config for session (5h) and week (7d) utilization
Spawn a new peer session (daemon control-plane tool)
Stop a running peer session (daemon control-plane tool)
Get live rate limit status from statusline.json (primary) or oauth-api.json (secondary). Returns source, staleness, and per-bucket windowExpired
Get detailed statistics for a session including total events and event type breakdown
Get or set the team layout configuration (daemon control-plane tool)
Get status of all peers in the team (daemon control-plane tool)
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe read-only tools from destructive ones without parsing descriptions.
Error handling returns code+message but no recovery guidance. E.g., 'list_projects_failed' does not suggest next steps or alternative tools.