Tool Reference
tool
Manage custom MCP tools. Actions: create, update, delete, list, get, test, schedule (recurring runs), db (inspect per-user databases).
Aliases
Old tool names like create_dynamic_tool, update_dynamic_tool, delete_dynamic_tool, list_dynamic_tools, get_dynamic_tool, and test_dynamic_tool still work as aliases.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action | string | Yes | One of create, update, delete, list, get, test, schedule, db. |
tool_id | string | — | Tool ID. Used with update, delete, get, test, schedule. |
name | string | — | Tool name. Used with create. |
description | string | — | Tool description. |
input_schema | object | — | JSON Schema for tool inputs. |
tool_type | string | — | One of http_proxy, transform, chain, skill_backed, code. |
http_config | object | — | Config for http_proxy tools. |
transform_config | object | — | Config for transform tools. |
chain_config | object | — | Config for chain tools. |
skill_config | object | — | Config for skill_backed tools. |
code_config | object | — | Config for code tools. |
status | string | — | One of draft, active, disabled. |
activate | boolean | — | Set to true to activate on creation. |
test_input | object | — | Input data for testing. Used with test. |
schedule | object | — | Schedule configuration. See below. |
schedule_action | string | — | One of list, history, delete. Sub-action for schedule management. |
db_action | string | — | One of list, tables, schema. Sub-action for db. |
db_name | string | — | Named database. Omit for default. Used with db. |
Schedule object
| Name | Type | Required | Description |
|---|---|---|---|
enabled | boolean | — | Enable or disable the schedule. |
hours | number[] | — | Local hours to run (0-23), max 4. Default: [9]. |
timezone | string | — | IANA timezone. Default: UTC. |
email_summary | boolean | — | Send email summary of each run. |
email_address | string | — | Override default email address. |
email_recipients | string | — | Comma-separated additional recipients. |
args | object | — | Fixed arguments passed to each run. |
create
Create a new custom tool. Tools can be HTTP proxies, data transforms, tool chains, skill-backed, or code runners.
Parameters: name (required), tool_type (required), description, input_schema, plus the config object for the chosen type. Optionally activate.
{
"name": "tool",
"arguments": {
"action": "create",
"name": "get_weather",
"description": "Fetch current weather for a city",
"tool_type": "http_proxy",
"input_schema": {
"type": "object",
"properties": {
"city": { "type": "string", "description": "City name" }
},
"required": ["city"]
},
"http_config": {
"url": "https://api.weatherapi.com/v1/current.json?q={{city}}",
"method": "GET"
},
"activate": true
}
}
{
"content": [
{
"type": "text",
"text": "Tool created: get_weather (tool_w1x2y3)\nType: http_proxy\nStatus: active\nEndpoint: GET https://api.weatherapi.com/v1/current.json?q={{city}}"
}
]
}
update
Update a tool's configuration, description, or status.
Parameters: tool_id (required), plus any fields to update.
{
"name": "tool",
"arguments": {
"action": "update",
"tool_id": "tool_w1x2y3",
"description": "Fetch current weather and 3-day forecast for a city",
"http_config": {
"url": "https://api.weatherapi.com/v1/forecast.json?q={{city}}&days=3",
"method": "GET"
}
}
}
{
"content": [
{
"type": "text",
"text": "Tool tool_w1x2y3 (get_weather) updated."
}
]
}
delete
Permanently delete a tool.
Parameters: tool_id (required)
{
"name": "tool",
"arguments": {
"action": "delete",
"tool_id": "tool_w1x2y3"
}
}
{
"content": [
{
"type": "text",
"text": "Tool tool_w1x2y3 (get_weather) deleted."
}
]
}
list
List all custom tools, optionally filtered by status or type.
Parameters: status, tool_type
{
"name": "tool",
"arguments": {
"action": "list",
"status": "active"
}
}
{
"content": [
{
"type": "text",
"text": "4 active tools:\n\n1. get_weather (tool_w1x2y3) — http_proxy\n Fetch current weather for a city\n\n2. summarize_article (tool_a4b5c6) — code\n Extract and summarize article content from a URL\n\n3. sales_pipeline (tool_d7e8f9) — chain\n Pull CRM data, calculate metrics, format report\n\n4. format_invoice (tool_g0h1i2) — transform\n Convert raw line items into formatted invoice"
}
]
}
get
Retrieve full details for a single tool.
Parameters: tool_id (required)
{
"name": "tool",
"arguments": {
"action": "get",
"tool_id": "tool_a4b5c6"
}
}
{
"content": [
{
"type": "text",
"text": "summarize_article (tool_a4b5c6)\nType: code\nStatus: active\nDescription: Extract and summarize article content from a URL\n\nInput schema:\n url (string, required): Article URL\n max_length (number): Max summary length in words\n\nCode config:\n runtime: node20\n timeout: 30000\n handler: index.mjs"
}
]
}
test
Run a tool with test input and see the result without side effects.
Parameters: tool_id (required), test_input (required)
{
"name": "tool",
"arguments": {
"action": "test",
"tool_id": "tool_w1x2y3",
"test_input": {
"city": "Portland"
}
}
}
{
"content": [
{
"type": "text",
"text": "Test result for get_weather:\n\nStatus: 200 OK\nLatency: 340ms\n\nResponse:\n{\n \"location\": \"Portland, Oregon\",\n \"temp_f\": 58,\n \"condition\": \"Partly cloudy\",\n \"humidity\": 72\n}"
}
]
}
schedule
Configure recurring scheduled runs for a tool. Use schedule_action for management sub-actions.
Parameters: tool_id (required), schedule (for creating/updating), schedule_action (for list, history, delete)
Create or update a schedule
{
"name": "tool",
"arguments": {
"action": "schedule",
"tool_id": "tool_a4b5c6",
"schedule": {
"enabled": true,
"hours": [8, 17],
"timezone": "America/New_York",
"email_summary": true,
"args": {
"url": "https://example.com/blog/latest"
}
}
}
}
{
"content": [
{
"type": "text",
"text": "Schedule set for tool_a4b5c6 (summarize_article):\nRuns at 8:00 AM, 5:00 PM America/New_York\nEmail summary: enabled\nFixed args: {\"url\": \"https://example.com/blog/latest\"}"
}
]
}
List scheduled tools
{
"name": "tool",
"arguments": {
"action": "schedule",
"schedule_action": "list"
}
}
{
"content": [
{
"type": "text",
"text": "1 scheduled tool:\n\n1. summarize_article (tool_a4b5c6)\n Hours: 8:00, 17:00 America/New_York\n Last run: 2026-03-14 08:00 — success"
}
]
}
db
Inspect per-user databases used by code tools.
Parameters: db_action (required), db_name
{
"name": "tool",
"arguments": {
"action": "db",
"db_action": "tables"
}
}
{
"content": [
{
"type": "text",
"text": "Tables in default database:\n\n1. articles (4 columns, 127 rows)\n2. summaries (6 columns, 89 rows)\n3. fetch_log (3 columns, 341 rows)"
}
]
}