> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# tools

```bash theme={null}
telnyx-acp tools
telnyx-acp tools --refresh
telnyx-acp tools --file tools.json
telnyx-acp tools --inline
```

Lists every tool entry of `agent.json` with the names the model sees, which are the names `approvals` and the log lines use.

```text theme={null}
2 tool entries:
  web_search     Telnyx Web Search
    web_search
    fetch_page
    research
  deepwiki       MCP https://mcp.deepwiki.com/mcp
    deepwiki__ask_wiki_question
    deepwiki__read_wiki_contents
    deepwiki__read_wiki_structure
```

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:

```text theme={null}
2 tool entries in tools.json; the tools now live in tools.json (agent.json references it):
```

```json theme={null}
"tools": "tools.json"
```

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`:

```text theme={null}
tools: "tools.json" does not exist — create it holding [] (telnyx-acp add tool … fills it), or point tools at a list
```

`--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](/docs/agents/tools) describes each tool type; [add](/docs/agents/cli/add#tool) adds one.
