get-database
Retrieve a Notion database by its ID to access and work with its structure and properties within your workspace.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | The ID of the database to retrieve |
Implementation Reference
- src/lib/mcp-server.ts:187-220 (registration)Registration of the MCP 'get-database' tool, including inline Zod input schema and async handler function that delegates to NotionService.retrieveDatabase and formats the result as MCP content.this.server.tool( "get-database", { database_id: z.string().describe("The ID of the database to retrieve"), }, async ({ database_id }) => { try { const database = await this.notionService.retrieveDatabase( database_id ); return { content: [ { type: "text", text: JSON.stringify(database, null, 2), }, ], }; } catch (error) { console.error("Error in get-database tool:", error); return { content: [ { type: "text", text: `Error: Failed to retrieve database - ${ (error as Error).message }`, }, ], isError: true, }; } } );
- src/lib/notion.ts:110-118 (helper)Supporting helper method in NotionService class that implements the core logic for retrieving a Notion database using the official Notion SDK client.async retrieveDatabase(databaseId: string) { try { return await this.client.databases.retrieve({ database_id: databaseId, }); } catch (error) { this.handleError(error); } }