Skip to main content
Glama
webflow

Webflow

Official
by webflow

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
NameRequiredDescriptionDefault
site_idYesThe site's unique ID, used to list its pages.
localeIdNoUnique identifier for a specific locale. Applicable when using localization.
limitNoMaximum number of records to be returned (max limit: 100)
offsetNoOffset used for pagination if the results have more than limit records.

Implementation Reference

  • 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);
      }
    }
  • 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."
        ),
    }),
  • 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);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/webflow/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server