From 8f4e29e06e08ed2fec00ad129d502495316d3832 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 25 Oct 2026 14:14:14 +0000 Subject: [PATCH 1/2] docs(agents): document server route tools in tool_configs Agents in full-stack apps can call the app's own server routes as tools ({tool_name, route_path, method, description}). Add that tool shape to the agent schema in the base44-cli and base44-sandbox skills. BUG-1059 Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01FH6Ycrnejz2JBWgXbshcnr --- skills/base44-cli/SKILL.md | 5 ++++- skills/base44-cli/references/agents-push.md | 23 ++++++++++++++++++++- skills/base44-sandbox/SKILL.md | 2 +- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/skills/base44-cli/SKILL.md b/skills/base44-cli/SKILL.md index 7300207..3c85b18 100644 --- a/skills/base44-cli/SKILL.md +++ b/skills/base44-cli/SKILL.md @@ -408,7 +408,9 @@ Agents are conversational AI assistants that can interact with users, access you // Entity tool - gives agent access to entity operations { "entity_name": "tasks", "allowed_operations": ["read", "create", "update", "delete"] }, // Backend function tool - gives agent access to a function - { "function_name": "send_email", "description": "Send an email notification" } + { "function_name": "send_email", "description": "Send an email notification" }, + // Server route tool - gives agent access to one of a full-stack app's server routes + { "tool_name": "order_summary", "route_path": "/api/orders/summary", "method": "get", "description": "Summarize the user's recent orders" } ], "memory_config": { // Optional: lets the agent remember facts across conversations "enabled": true, @@ -431,6 +433,7 @@ Agents are conversational AI assistants that can interact with users, access you **Tool config types:** - **Entity tools**: `entity_name` + `allowed_operations` (array of: `read`, `create`, `update`, `delete`) - **Backend function tools**: `function_name` + `description` +- **Server route tools** (full-stack apps): `tool_name` (1-64 chars of letters, digits, `_`, `-`) + `route_path` (app-relative, starts with a single `/`, no query string) + `method` (`get`\|`post`\|`put`\|`patch`\|`delete`, default `post`) + `description` (default `"agent server route"`) **Memory config fields** (all optional, see [agents-push.md](references/agents-push.md#memory-configuration) for details): `enabled` (bool, default `true`), `scope` (`global`\|`user`\|`both`, default `both`), `include_other_conversation_context` (bool, default `false`), `instructions` (string\|null, default `null`) diff --git a/skills/base44-cli/references/agents-push.md b/skills/base44-cli/references/agents-push.md index 2a5ed24..d3afc85 100644 --- a/skills/base44-cli/references/agents-push.md +++ b/skills/base44-cli/references/agents-push.md @@ -98,7 +98,9 @@ Each agent file should be a `.jsonc` file in `base44/agents/` with this structur // Entity tool - gives agent access to entity operations { "entity_name": "Task", "allowed_operations": ["read", "create", "update", "delete"] }, // Backend function tool - gives agent access to a function - { "function_name": "send_email", "description": "Send an email notification" } + { "function_name": "send_email", "description": "Send an email notification" }, + // Server route tool - gives agent access to one of a full-stack app's server routes + { "tool_name": "order_summary", "route_path": "/api/orders/summary", "method": "get", "description": "Summarize the user's recent orders" } ], "memory_config": { // Optional: lets the agent remember facts across conversations "enabled": true, // Optional: defaults to true @@ -129,6 +131,25 @@ Each agent file should be a `.jsonc` file in `base44/agents/` with this structur - `memory_config`: Optional, see [Memory Configuration](#memory-configuration) below - `whatsapp_greeting`: Optional +### Server Route Tools + +In a full-stack app, an agent can call one of the app's own server routes as a tool: + +| Field | Type | Default | Description | +|-------|------|---------|-------------| +| `tool_name` | string | required | Name the agent calls the tool by: 1-64 letters, digits, `_` or `-` | +| `route_path` | string | required | App-relative route path, e.g. `/api/orders/summary`. Must start with a single `/` (no `//`), at most 2000 characters, no query string or fragment | +| `method` | `"get"` \| `"post"` \| `"put"` \| `"patch"` \| `"delete"` | `"post"` | HTTP method used to call the route | +| `description` | string | `"agent server route"` | What the route does, when to use it, and the input it expects | + +```jsonc +"tool_configs": [ + { "tool_name": "order_summary", "route_path": "/api/orders/summary", "method": "get", "description": "Summarize the user's recent orders" } +] +``` + +The agent passes query parameters (and, for methods other than `get`, a JSON body) when it calls the tool, so keep them out of `route_path`. + ### Memory Configuration `memory_config` lets an agent remember facts across conversations. To disable memory, set `"enabled": false` explicitly — if you omit `memory_config` entirely, the backend applies its default and memory is **enabled**. diff --git a/skills/base44-sandbox/SKILL.md b/skills/base44-sandbox/SKILL.md index 60300e5..ee8e1b2 100644 --- a/skills/base44-sandbox/SKILL.md +++ b/skills/base44-sandbox/SKILL.md @@ -163,7 +163,7 @@ One `.jsonc` file per agent in `base44/agents/`. Just write the file — it auto } ``` -Required: `name`, `description`, `instructions`. Optional: `tool_configs` (default `[]`), `whatsapp_greeting`. Tool configs are either an **entity tool** (`entity_name` + `allowed_operations`: any of `read`/`create`/`update`/`delete`) or a **backend-function tool** (`function_name` + `description`). For the full agent schema, see the **Agent Schema** section of the `base44-cli` skill's [`SKILL.md`](../base44-cli/SKILL.md) — but **ignore its `agents push` / `agents pull` / deploy commands**, which assume a local project; in the sandbox the file auto-syncs. +Required: `name`, `description`, `instructions`. Optional: `tool_configs` (default `[]`), `whatsapp_greeting`. Tool configs are an **entity tool** (`entity_name` + `allowed_operations`: any of `read`/`create`/`update`/`delete`) a **backend-function tool** (`function_name` + `description`), or a **server route tool** (`tool_name` + app-relative `route_path` like `/api/orders/summary` + `method`, default `post` + `description`). For the full agent schema, see the **Agent Schema** section of the `base44-cli` skill's [`SKILL.md`](../base44-cli/SKILL.md) — but **ignore its `agents push` / `agents pull` / deploy commands**, which assume a local project; in the sandbox the file auto-syncs. ## Connectors (OAuth integrations) From 88d82514e75365e0e2790b46f47dedf597fa05d2 Mon Sep 17 00:00:00 2001 From: yardend Date: Sun, 25 Oct 2026 17:17:35 +0200 Subject: [PATCH 2/2] docs(sandbox): fix list punctuation in tool config types --- skills/base44-sandbox/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/base44-sandbox/SKILL.md b/skills/base44-sandbox/SKILL.md index ee8e1b2..2b93645 100644 --- a/skills/base44-sandbox/SKILL.md +++ b/skills/base44-sandbox/SKILL.md @@ -163,7 +163,7 @@ One `.jsonc` file per agent in `base44/agents/`. Just write the file — it auto } ``` -Required: `name`, `description`, `instructions`. Optional: `tool_configs` (default `[]`), `whatsapp_greeting`. Tool configs are an **entity tool** (`entity_name` + `allowed_operations`: any of `read`/`create`/`update`/`delete`) a **backend-function tool** (`function_name` + `description`), or a **server route tool** (`tool_name` + app-relative `route_path` like `/api/orders/summary` + `method`, default `post` + `description`). For the full agent schema, see the **Agent Schema** section of the `base44-cli` skill's [`SKILL.md`](../base44-cli/SKILL.md) — but **ignore its `agents push` / `agents pull` / deploy commands**, which assume a local project; in the sandbox the file auto-syncs. +Required: `name`, `description`, `instructions`. Optional: `tool_configs` (default `[]`), `whatsapp_greeting`. Tool configs are an **entity tool** (`entity_name` + `allowed_operations`: any of `read`/`create`/`update`/`delete`), a **backend-function tool** (`function_name` + `description`), or a **server route tool** (`tool_name` + app-relative `route_path` like `/api/orders/summary` + `method`, default `post` + `description`). For the full agent schema, see the **Agent Schema** section of the `base44-cli` skill's [`SKILL.md`](../base44-cli/SKILL.md) — but **ignore its `agents push` / `agents pull` / deploy commands**, which assume a local project; in the sandbox the file auto-syncs. ## Connectors (OAuth integrations)