notion_retrieve_block_children
Retrieve child content from a Notion block to access nested information, supporting pagination and multiple output formats for reading or editing purposes.
Instructions
Retrieve the children of a block
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| block_id | Yes | The ID of the block.It should be a 32-character string (excluding hyphens) formatted as 8-4-4-4-12 with hyphens (-). | |
| start_cursor | No | Pagination cursor for next page of results | |
| page_size | No | Number of results per page (max 100) | |
| format | No | Specify the response format. 'json' returns the original data structure, 'markdown' returns a more readable format. Use 'markdown' when the user only needs to read the page and isn't planning to write or modify it. Use 'json' when the user needs to read the page with the intention of writing to or modifying it. | markdown |
Implementation Reference
- src/client/index.ts:96-114 (handler)Actual implementation of retrieveBlockChildren method that calls the Notion API to fetch block children with optional pagination parameters (start_cursor, page_size)async retrieveBlockChildren( block_id: string, start_cursor?: string, page_size?: number ): Promise<ListResponse> { const params = new URLSearchParams(); if (start_cursor) params.append("start_cursor", start_cursor); if (page_size) params.append("page_size", page_size.toString()); const response = await fetch( `${this.baseUrl}/blocks/${block_id}/children?${params}`, { method: "GET", headers: this.headers, } ); return response.json(); }
- src/server/index.ts:77-89 (registration)Tool registration and request handler that validates required arguments (block_id) and calls the client's retrieveBlockChildren methodcase "notion_retrieve_block_children": { const args = request.params .arguments as unknown as args.RetrieveBlockChildrenArgs; if (!args.block_id) { throw new Error("Missing required argument: block_id"); } response = await notionClient.retrieveBlockChildren( args.block_id, args.start_cursor, args.page_size ); break; }
- src/types/schemas.ts:59-81 (schema)Tool schema definition for 'notion_retrieve_block_children' defining input parameters (block_id, start_cursor, page_size, format) and their descriptionsexport const retrieveBlockChildrenTool: Tool = { name: "notion_retrieve_block_children", description: "Retrieve the children of a block", inputSchema: { type: "object", properties: { block_id: { type: "string", description: "The ID of the block." + commonIdDescription, }, start_cursor: { type: "string", description: "Pagination cursor for next page of results", }, page_size: { type: "number", description: "Number of results per page (max 100)", }, format: formatParameter, }, required: ["block_id"], }, };
- src/types/args.ts:20-25 (schema)Type definition for RetrieveBlockChildrenArgs interface defining the expected argument types for the toolexport interface RetrieveBlockChildrenArgs { block_id: string; start_cursor?: string; page_size?: number; format?: "json" | "markdown"; }