# MCP Boundary

Zaparoo CLI and bundled Agent Skills are primary agent interface.

This project does not expose one MCP tool per Core method. Coding agents can use CLI with less schema context, exact command traces, bounded sessions, and normal package distribution.

## Shared adapter contract

`zaparoo-cli catalog --json` is source of truth for command path, side effect, confirmation, source, trust, output, Core capability, and compatibility metadata. Any future adapter must derive from this catalog and enforce same policies.

## Trigger criteria

Consider a thin MCP layer only when measured demand requires one or more capabilities unavailable through normal agent shell execution:

- clients cannot execute local commands
- persistent notification or live-resource sessions are required
- remote OAuth access is required
- host application needs native resource subscriptions

Agent evaluation results should demonstrate benefit before adding protocol surface.

## Required design

Future MCP work must:

- keep CLI and command catalog authoritative
- expose selectable task-oriented tool groups
- default to read-only policy
- require explicit control enablement for mutations
- keep returned device and account content marked untrusted
- use bounded output and pagination
- avoid broad one-tool-per-method schemas
- reuse existing credential, timeout, redaction, and API-contract code

Persistent state should expose compact resources such as device status or bounded notifications, not duplicate every one-shot CLI response.
