get_page
Retrieve detailed Notion page information including properties, timestamps, and archive status using the page ID to access specific database records.
Instructions
Retrieves detailed information about a specific Notion page (database record) by its ID. Returns all properties (fields), creation time, last edited time, archive status, and more.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | The ID of the Notion page to retrieve (32 or 36 character UUID format). Example: "123e4567-e89b-12d3-a456-426614174000" |
Input Schema (JSON Schema)
{
"properties": {
"pageId": {
"description": "The ID of the Notion page to retrieve (32 or 36 character UUID format). Example: \"123e4567-e89b-12d3-a456-426614174000\"",
"type": "string"
}
},
"required": [
"pageId"
],
"type": "object"
}
Implementation Reference
- src/presentation/mcp/MCPServer.ts:125-138 (registration)Registration of the 'get_page' tool in the MCP server, including name, description, and input schema.{ name: 'get_page', description: 'Retrieves detailed information about a specific Notion page (database record) by its ID. Returns all properties (fields), creation time, last edited time, archive status, and more.', inputSchema: { type: 'object', properties: { pageId: { type: 'string', description: 'The ID of the Notion page to retrieve (32 or 36 character UUID format). Example: "123e4567-e89b-12d3-a456-426614174000"', }, }, required: ['pageId'], }, },
- Primary MCP tool handler for 'get_page' that invokes the GetPageUseCase and formats the response.private async handleGetPage(args: any) { const result = await this.dependencies.getPageUseCase.execute({ pageId: args.pageId, }); if (!result) { return { content: [ { type: 'text' as const, text: 'Page not found', }, ], }; } return { content: [ { type: 'text' as const, text: JSON.stringify( { id: result.id.toString(), properties: result.properties, createdTime: result.createdTime, lastEditedTime: result.lastEditedTime, archived: result.archived, }, null, 2 ), }, ], }; }
- Core business logic handler (use case) that retrieves the page from the repository using the page ID.export class GetPageUseCase { constructor(private readonly pageRepository: IPageRepository) {} async execute(input: GetPageInput): Promise<Page | null> { const pageId = new PageId(input.pageId); return await this.pageRepository.findById(pageId); } }
- Input schema (TypeScript interface) for the GetPageUseCase.export interface GetPageInput { pageId: string; }