Add tools when needed

A ticket-search tool has a clear contract and limits.

Connect one small tool and test its failures

Start with one tool that reads synthetic data. Bound its input and returned fields. A successful connection does not prove correct access; test unknown tools, invalid data and disconnection.

A connected phone does not authorize every call.

A connection still needs access checks

MCP connects tools. Each tool still needs input checks, bounded output and clear failure results. Returned text does not become an instruction.

A connected phone does not authorize listening to every call.

Practice

Complete one local search tool without a live AI/MCP connection.

Edit only runTool in model.mjs according to its contract. Use findTickets, allowlist search_tickets, validate query/extra keys and return only id/title/status. Preserve tests and run tool checks. Add no MCP server, API key, shell or network access.

Check your work

Unknown names and invalid arguments are rejected.

Local tool checks are not presented as live-agent evaluation.

References