# Your CLI is an agent tool > Every burgee program answers --schema and --mcp from its one declaration — no tool definitions, no second interface. Source: https://burgee.interlace.tools/docs/agent-surfaces A burgee program is data first. The same manifest that renders `--help` answers two questions an agent asks before anything else. ## `--schema` — the program as data ```bash mytool --schema ``` Prints the commands, their arguments and options (with choices, defaults and which are required), each command's `effects`, its examples, and a JSON Schema per command. It reads the manifest and nothing else: no config file, no network, no handler runs (N8), so it is safe to call first. The document shows each option's default and env var, but not which of them a run used. So just before `commands` it carries one line naming the flag that answers that: `"explain":"--explain