notion_retrieve_database
Extract and convert Notion database content into JSON or Markdown format for reading or updating using a specified database ID.
Instructions
Retrieve a database in Notion
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | The ID of the database to retrieve.It should be a 32-character string (excluding hyphens) formatted as 8-4-4-4-12 with hyphens (-). | |
| 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/server/index.ts:190-194 (handler)MCP server tool handler switch case for 'notion_retrieve_database'. Parses tool arguments and calls the NotionClientWrapper's retrieveDatabase method.case "notion_retrieve_database": { const args = request.params .arguments as unknown as args.RetrieveDatabaseArgs; response = await notionClient.retrieveDatabase(args.database_id); break;
- src/client/index.ts:202-209 (helper)Core helper function in NotionClientWrapper that executes the actual API call: GET /v1/databases/{database_id} to retrieve database details from Notion.async retrieveDatabase(database_id: string): Promise<DatabaseResponse> { const response = await fetch(`${this.baseUrl}/databases/${database_id}`, { method: "GET", headers: this.headers, }); return response.json(); }
- src/types/schemas.ts:288-303 (schema)Input schema and metadata definition for the notion_retrieve_database tool.export const retrieveDatabaseTool: Tool = { name: "notion_retrieve_database", description: "Retrieve a database in Notion", inputSchema: { type: "object", properties: { database_id: { type: "string", description: "The ID of the database to retrieve." + commonIdDescription, }, format: formatParameter, }, required: ["database_id"], }, };
- src/server/index.ts:303-322 (registration)Tool registration in the ListTools response handler, including schemas.retrieveDatabaseTool in the allTools array.const allTools = [ schemas.appendBlockChildrenTool, schemas.retrieveBlockTool, schemas.retrieveBlockChildrenTool, schemas.deleteBlockTool, schemas.updateBlockTool, schemas.retrievePageTool, schemas.updatePagePropertiesTool, schemas.listAllUsersTool, schemas.retrieveUserTool, schemas.retrieveBotUserTool, schemas.createDatabaseTool, schemas.queryDatabaseTool, schemas.retrieveDatabaseTool, schemas.updateDatabaseTool, schemas.createDatabaseItemTool, schemas.createCommentTool, schemas.retrieveCommentsTool, schemas.searchTool, ];