Skip to main content
Glama

get-page

Retrieve specific Notion pages by ID to access content and properties within your workspace.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
page_idYesThe ID of the page to retrieve

Implementation Reference

  • MCP tool registration for 'get-page', including inline Zod schema for page_id and the handler function that calls NotionService.retrievePage and formats the response
    this.server.tool(
      "get-page",
      {
        page_id: z.string().describe("The ID of the page to retrieve"),
      },
      async ({ page_id }) => {
        try {
          const page = await this.notionService.retrievePage(page_id);
          return {
            content: [
              {
                type: "text",
                text: JSON.stringify(page, null, 2),
              },
            ],
          };
        } catch (error) {
          console.error("Error in get-page tool:", error);
          return {
            content: [
              {
                type: "text",
                text: `Error: Failed to retrieve page - ${
                  (error as Error).message
                }`,
              },
            ],
            isError: true,
          };
        }
      }
    );
  • Core implementation in NotionService that retrieves the page using the official Notion SDK
    async retrievePage(pageId: string) {
      try {
        return await this.client.pages.retrieve({
          page_id: pageId,
        });
      } catch (error) {
        this.handleError(error);
      }
    }
  • Zod input schema for the get-page tool defining the required page_id parameter
    {
      page_id: z.string().describe("The ID of the page to retrieve"),
  • Helper method used by retrievePage to handle and rethrow Notion API errors appropriately
    private handleError(error: unknown): never {
      if (error instanceof APIResponseError) {
        throw new NotionAPIError(error.message, error.code, error.status);
      } else if (isNotionClientError(error)) {
        throw new NotionAPIError(error.message, error.code);
      } else {
        throw error;
      }
    }

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/ramidecodes/mcp-server-notion'

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