call_tool
Proxy one tool call to a discovered remote MCP server (paid). Every call passes pre-execution guards before anything runs: tools on TOOLHAIL_BLOCKED_TOOLS are always refused; when TOOLHAIL_ALLOWED_TOOLS is set (non-empty, no "*") only listed tools may fire; write/mutating-looking tool names are refused unless allowWrite:true is passed or the tool is allowlisted; and TOOLHAIL_ARG_LIMITS can cap specific argument values per tool (e.g. daily_budget<=500) so an allowlisted broad tool still cannot push a value past its ceiling. Any refusal executes nothing and bills nothing, and every receipt records the gate decision.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Remote MCP server URL (the "remotes[].url" from a find_mcp_server result). | |
| args | No | Arguments object to pass to the tool. | |
| toolName | Yes | Name of the tool to call on that server. | |
| allowWrite | No | Explicit acknowledgement that a write/mutating call is intended. Tool names that look like writes (create/update/delete/send/pay/deploy/...) are refused by default — nothing executed, nothing billed — unless this is true or the tool is on TOOLHAIL_ALLOWED_TOOLS. Set it only when the mutation is deliberate and vetted; never set it reflexively to get past a refusal. | |
| maxSpendUsd | No | Spend cap. Refuse the call — nothing executed, nothing billed — if the gateway fee would exceed this many USD. |