pages_list
Retrieve all pages from a Webflow site with metadata including IDs, titles, and slugs for site management and navigation.
Instructions
List all pages within a site. Returns page metadata including IDs, titles, and slugs.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | The site's unique ID, used to list its pages. | |
| localeId | No | Unique identifier for a specific locale. Applicable when using localization. | |
| limit | No | Maximum number of records to be returned (max limit: 100) | |
| offset | No | Offset used for pagination if the results have more than limit records. |
Implementation Reference
- src/tools/pages.ts:46-61 (handler)The handler function that implements the pages_list tool logic by calling Webflow API to list pages for a given site.async ({ site_id, localeId, limit, offset }) => { try { const response = await getClient().pages.list( site_id, { localeId, limit, offset, }, requestOptions ); return formatResponse(response); } catch (error) { return formatErrorResponse(error); } }
- src/tools/pages.ts:22-44 (schema)Zod input schema defining parameters for the pages_list tool: site_id (required), localeId, limit, offset (optional).inputSchema: z.object({ site_id: z .string() .describe("The site's unique ID, used to list its pages."), localeId: z .string() .optional() .describe( "Unique identifier for a specific locale. Applicable when using localization." ), limit: z .number() .optional() .describe( "Maximum number of records to be returned (max limit: 100)" ), offset: z .number() .optional() .describe( "Offset used for pagination if the results have more than limit records." ), }),
- src/tools/pages.ts:16-62 (registration)Full registration of the pages_list tool on the MCP server within registerPagesTools function.server.registerTool( "pages_list", { title: "List Pages", description: "List all pages within a site. Returns page metadata including IDs, titles, and slugs.", inputSchema: z.object({ site_id: z .string() .describe("The site's unique ID, used to list its pages."), localeId: z .string() .optional() .describe( "Unique identifier for a specific locale. Applicable when using localization." ), limit: z .number() .optional() .describe( "Maximum number of records to be returned (max limit: 100)" ), offset: z .number() .optional() .describe( "Offset used for pagination if the results have more than limit records." ), }), }, async ({ site_id, localeId, limit, offset }) => { try { const response = await getClient().pages.list( site_id, { localeId, limit, offset, }, requestOptions ); return formatResponse(response); } catch (error) { return formatErrorResponse(error); } } );
- src/mcp.ts:51-51 (registration)Invocation of registerPagesTools during overall tool registration, which includes pages_list.registerPagesTools(server, getClient);