Skip to main content
Glama
SunCreation

MCP Notion Server (@suncreation)

by SunCreation

notion_retrieve_database

Retrieve Notion database content in JSON or Markdown format to read, analyze, or modify workspace data through the MCP Notion Server.

Instructions

Retrieve a database in Notion

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
database_idYesThe ID of the database to retrieve.It should be a 32-character string (excluding hyphens) formatted as 8-4-4-4-12 with hyphens (-).
formatNoSpecify 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

  • The retrieveDatabase method in NotionClientWrapper that makes the actual API call to Notion's /databases/{database_id} endpoint
    async retrieveDatabase(database_id: string): Promise<DatabaseResponse> { const response = await fetch(`${this.baseUrl}/databases/${database_id}`, { method: "GET", headers: this.headers, }); return response.json(); }
  • The tool schema definition that defines the tool name, description, and input validation for notion_retrieve_database
    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"], }, };
  • The switch case handler that routes notion_retrieve_database requests to the NotionClientWrapper.retrieveDatabase method
    case "notion_retrieve_database": { const args = request.params .arguments as unknown as args.RetrieveDatabaseArgs; response = await notionClient.retrieveDatabase(args.database_id); break; }
  • TypeScript interface defining the arguments for notion_retrieve_database
    export interface RetrieveDatabaseArgs { database_id: string; format?: "json" | "markdown"; }
  • The ListToolsRequestSchema handler that registers retrieveDatabaseTool in the available tools list
    server.setRequestHandler(ListToolsRequestSchema, async () => { const allTools = [ schemas.appendBlockChildrenTool, schemas.retrieveBlockTool, schemas.retrieveBlockChildrenTool, schemas.deleteBlockTool, schemas.updateBlockTool, schemas.createPageTool, 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, ]; return { tools: filterTools(allTools, enabledToolsSet), }; });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SunCreation/mcp-notion-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server