# Tools Exposed Over MCP

Which Agenvoy tools a connected agent sees, and how new tools appear without a restart.

## Exposed tools

| Tool | Purpose |
|---|---|
| `script_*` / `api_*` / `ext_*` | User-created and extension tools (auto-discovered from disk) |
| `edit_tool` | Create or overwrite a tool file (`mode=write`), string-replace a fix inside one (`mode=patch`), or trash an obsolete one (`mode=remove`); `tag` selects tool.json, script.py, or the API descriptor |
| `test_tool` | Run a script tool in sandbox with sample input |
| `store_secret` | Capture a credential via masked input and write it straight to the keychain |
| `list_tools` | List all tools exposed by the server |
| `tool_generate_guide` | Return the tool build contract (naming, template, execution flow, checklist). `script_tool_generate_guide` remains as an alias |
| `api_public_api_list` | Browse free public APIs by category for tool creation |

Bridged tools (`edit_tool`, `test_tool`, `store_secret`) are shared with Agenvoy's internal runtime — same handler, same schema, dispatched through `toolRegister`. No duplicate implementation.

## Hot reload

The server watches tool directories via `fsnotify`. When a tool is created, modified, or deleted, the server automatically rescans and sends `notifications/tools/list_changed` — the client refreshes its tool list without reconnecting.

***

> [!NOTE]
> This document was auto-generated by Claude after reading the full source code.
