Local-first session bridge that lets AI agents borrow authenticated browser sessions per-site, per-action, fully audited. Provides MCP tools for session management and browser automation.
Coral exposes 5 tools with partial schemas and descriptions. All tools have descriptions (10-200 chars), but input schemas are incomplete or missing type definitions for complex parameters. coral_check_action and coral_request_review accept 'action' as a bare object with no type constraints, violating the schema requirement. Naming is verb-forward (list_, open_, close_, check_, request_) but descriptions lack actionable guidance on when to use each tool vs. alternatives. No output schemas documented. Error handling is mentioned in descriptions but not implemented in visible code. Security-critical tools (open_session, request_review) lack permission gates or scope declarations.
Pre-flight check (spec §5.2 coral_check_action). Returns {"decision": "allow"|"deny"|"review_required", "reason": ...}. Counts against the rate-limit buckets — call only when you actually intend to run the action.
Tear down an open browser context.
List active sessions visible to MCP clients (spec §5.2). Week-1 behavior: returns every status='active' session. Per-agent policy filtering is added when the policy engine ships in week 3.
Open an authenticated browser context (spec §5.2). Returns a CDP URL and session handle for driving the browser.
Request operator review for a policy-flagged action (spec §5.2). Returns {review_id, status: "pending"} immediately. The operator decides via coral approve <review_id> / coral deny <review_id>; agents poll their state out-of-band (or re-call coral_check_action after waiting). Non-blocking by design — see ADR-011.
coral_check_action and coral_request_review accept 'action' parameter as bare object with no type constraints or nested schema. LLMs cannot infer required fields or valid structure.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., session_handle from open_session, review_id from request_review).
Security-critical tools (coral_open_session, coral_request_review) lack permission gates, scope declarations, or audit trail documentation. No evidence of rate limiting or access control.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2025-06-18+ | v2 |
Descriptions lack actionable guidance on when to use each tool vs. alternatives. coral_check_action vs coral_request_review distinction is unclear from descriptions alone.
coral_open_session and coral_close_session descriptions do not explicitly state they modify state (WRITE risk). Agents need to know which calls are irreversible.