Skip to main content
Glama

get-pages

Retrieve Shopify store pages by searching titles and limiting results to manage content efficiently through GraphQL API.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
searchTitleNo
limitNo

Implementation Reference

  • The execute function implementing the core logic to fetch Shopify pages via GraphQL, mapping results and handling errors.
    execute: async (input: GetPagesInput) => { try { const { searchTitle, limit } = input; const query = gql`${GET_PAGES_QUERY}`; const variables = { first: limit }; const data = await shopifyClient.request(query, variables) as { pages: { edges: Array<{ node: { id: string; title: string; handle: string; bodySummary: string; body: string; createdAt: string; updatedAt: string; publishedAt: string; }; }>; pageInfo: { hasNextPage: boolean; hasPreviousPage: boolean; startCursor: string; endCursor: string; }; }; }; return { pages: data.pages.edges.map(edge => ({ id: edge.node.id, title: edge.node.title, handle: edge.node.handle, bodySummary: edge.node.bodySummary, body: edge.node.body, createdAt: edge.node.createdAt, updatedAt: edge.node.updatedAt, publishedAt: edge.node.publishedAt })) }; } catch (error) { console.error("Error fetching pages:", error); throw new Error( `Failed to fetch pages: ${ error instanceof Error ? error.message : String(error) }` ); } }
  • Zod schema defining the input parameters for the get-pages tool.
    const GetPagesInputSchema = z.object({ searchTitle: z.string().optional().describe("Optional search term to filter pages by title"), limit: z.number().default(10).describe("Maximum number of pages to return (default: 10)") });
  • src/index.ts:157-169 (registration)
    Registers the 'get-pages' tool with the MCP server, providing input schema and wrapper around the execute function.
    server.tool( "get-pages", { searchTitle: z.string().optional(), limit: z.number().default(10) }, async (args) => { const result = await getPages.execute(args); return { content: [{ type: "text", text: JSON.stringify(result) }] }; } );
  • GraphQL query string used to fetch pages from Shopify Admin API.
    const GET_PAGES_QUERY = ` query PageList($first: Int!) { pages(first: $first) { edges { node { id title handle bodySummary body createdAt updatedAt publishedAt } } pageInfo { hasNextPage hasPreviousPage startCursor endCursor } } } `;
  • src/index.ts:74-74 (registration)
    Initializes the getPages tool with the Shopify GraphQL client instance.
    getPages.initialize(shopifyClient);

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/luckyfarnon/Shopify-MCP'

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