build_multi_page_surface
Build a multi-section A2UI app from raw title+content sections — you never estimate size or decide how to split; each section becomes its own independently-encoded page (no shared hub, so per-page size never grows with page count — genuinely unlimited sections). Returns the first page's url plus a pages array ([{heading, url}]) for every section — present that list to the user yourself (e.g. numbered links); pages do not cross-link to each other. Prefer this over make_surface_url for multi-section content.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"title": "<title>",
"sections": "<sections>"
},
"name": "build_multi_page_surface"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Hub page title | |
| sections | Yes | Array of {heading, content} sections | |
| renderer_url | No | Your deployed renderer /exec URL (optional; defaults to BYO) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the first page. | |
| note | No | How the pages relate. | |
| size | No | Present when the URL is large: url_length, warning and recommendation. | |
| pages | Yes | One entry per page, each with a url. | |
| clipboard | No | Optional ready-made copy commands for the URL (linux, macos, windows) plus a note. | |
| page_count | Yes | Number of pages. | |
| required_catalogs | Yes | Catalog URIs the payload needs (base catalog first). |