Skip to main content
Lists every tool entry of agent.json with the names the model sees, which are the names approvals and the log lines use.
An MCP server’s tools are the ones add tool mcp listed when the entry was written. --refresh asks each server again, with its secret read from .env, and rewrites the list where it changed; the next deploy ships the new list, and a running dev reloads it. A server that cannot be listed stops the verb with the reason, and agent.json is untouched.

In Their Own File

An MCP server’s entry carries every tool’s schema, so the list grows past what reads well inside agent.json. --file <path> moves the list into a JSON file of its own and leaves the reference behind:
The path is relative to the project, inside it, and ends in .json. From then on every verb reads and writes the list there: add tool, remove tool, tools --refresh and set; dev watches the file as it watches agent.json. --inline moves the list back into agent.json. validate names a file that is missing, not valid JSON, not an array, or outside the project, at tools:
--json carries the same as data: { tools: [{ key, type, names, url?, secret? }], refreshed, file? }, with file when the tools live in their own file. Tools describes each tool type; add adds one.