Skip to main content
Glama

notion_retrieve_page_property

Retrieve a specific property from a Notion page, especially for properties with over 25 references. Supports pagination to manage large data sets efficiently.

Instructions

Retrieves a specific property of a Notion page. Use for properties with more than 25 references.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
page_idYesThe ID of the page
page_sizeNoNumber of items to return (max 100)
property_idYesThe ID of the property to retrieve
start_cursorNoCursor for pagination

Implementation Reference

  • The handler function that implements the core logic of the 'notion_retrieve_page_property' tool by calling NotionClient.retrievePageProperty and formatting the response or error.
    export async function handleRetrievePagePropertyTool(client: NotionClient, args: any) { try { const propertyArgs: RetrievePagePropertyArgs = { page_id: args.page_id, property_id: args.property_id, ...(args.page_size && { page_size: args.page_size }), ...(args.start_cursor && { start_cursor: args.start_cursor }) }; const response = await client.retrievePageProperty(propertyArgs); return { content: [ { type: 'text', text: `Retrieved property: ${args.property_id}\n` + `Type: ${response.type}\n` + `Has more: ${'has_more' in response ? response.has_more : false}\n` + `Next cursor: ${'next_cursor' in response ? response.next_cursor || 'N/A' : 'N/A'}\n` + `Data: ${JSON.stringify(response, null, 2)}` } ] }; } catch (error: any) { return { content: [ { type: 'text', text: `Error retrieving page property: ${error.message || 'Unknown error'}` } ], isError: true }; } }
  • The tool definition object containing the name, description, and input schema (JSON Schema) for validating tool inputs.
    export const retrievePagePropertyToolDefinition: Tool = { name: 'notion_retrieve_page_property', description: 'Retrieves a specific property of a Notion page. Use for properties with more than 25 references.', inputSchema: { type: 'object', properties: { page_id: { type: 'string', description: 'The ID of the page' }, property_id: { type: 'string', description: 'The ID of the property to retrieve' }, page_size: { type: 'number', description: 'Number of items to return (max 100)', minimum: 1, maximum: 100 }, start_cursor: { type: 'string', description: 'Cursor for pagination' } }, required: ['page_id', 'property_id'] } };
  • src/server.ts:43-50 (registration)
    Registration of the tool definition in the MCP server's ListTools handler, making it discoverable.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ createPageToolDefinition, retrievePageToolDefinition, updatePageToolDefinition, retrievePagePropertyToolDefinition ], }));
  • src/server.ts:65-66 (registration)
    Dispatch/registration of the tool handler in the MCP server's CallTool switch statement for execution.
    case 'notion_retrieve_page_property': return handleRetrievePagePropertyTool(this.client, args);
  • src/server.ts:128-129 (registration)
    Similar dispatch in the standalone server creator's CallTool handler.
    case 'notion_retrieve_page_property': return handleRetrievePagePropertyTool(client, args);

Other Tools

Related Tools

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

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