delete_page
Archive Notion pages to organize completed tasks and finished projects. Deleted pages can be restored later for flexible content management.
Instructions
Deletes (archives) a Notion page (database record). In Notion, deletion is actually an archive operation and can be restored later. Use this to organize completed tasks, finished projects, etc.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | The ID of the Notion page to delete (archive). Must be 32 or 36 character UUID format. Example: "123e4567-e89b-12d3-a456-426614174000" |
Implementation Reference
- src/presentation/mcp/MCPServer.ts:203-216 (registration)Registration of the 'delete_page' tool in the MCP server's tool list, including name, description, and input schema.{ name: 'delete_page', description: 'Deletes (archives) a Notion page (database record). In Notion, deletion is actually an archive operation and can be restored later. Use this to organize completed tasks, finished projects, etc.', inputSchema: { type: 'object', properties: { pageId: { type: 'string', description: 'The ID of the Notion page to delete (archive). Must be 32 or 36 character UUID format. Example: "123e4567-e89b-12d3-a456-426614174000"', }, }, required: ['pageId'], }, },
- MCP server handler for 'delete_page' tool invocations, delegates to DeletePageUseCase and returns success response.private async handleDeletePage(args: any) { await this.dependencies.deletePageUseCase.execute({ pageId: args.pageId, }); return { content: [ { type: 'text' as const, text: 'Page deleted successfully', }, ], }; }
- Type definition for input to the delete page use case.export interface DeletePageInput { pageId: string; }
- Core business logic handler in DeletePageUseCase that performs the page deletion via repository.async execute(input: DeletePageInput): Promise<void> { const pageId = new PageId(input.pageId); await this.pageRepository.delete(pageId); }