Skip to main content
Glama

get_database

Retrieve detailed information about a Notion database including title, schema, property definitions, and timestamps to understand its structure and contents.

Instructions

Retrieves detailed information about a specific Notion database by its ID. Returns database title, schema (property definitions), creation time, last edited time, and more. Use this to understand database structure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
databaseIdYesThe ID of the Notion database to retrieve (32 or 36 character UUID format). Example: "123e4567-e89b-12d3-a456-426614174000"

Implementation Reference

  • Core execution logic for the get_database tool. Converts input databaseId to DatabaseId value object and delegates to repository to fetch the database.
    export class GetDatabaseUseCase { constructor(private readonly databaseRepository: IDatabaseRepository) {} async execute(input: GetDatabaseInput): Promise<Database | null> { const databaseId = new DatabaseId(input.databaseId); return await this.databaseRepository.findById(databaseId); } }
  • Registers the 'get_database' tool with the MCP server, including name, description, and input schema validation.
    { name: 'get_database', description: 'Retrieves detailed information about a specific Notion database by its ID. Returns database title, schema (property definitions), creation time, last edited time, and more. Use this to understand database structure.', inputSchema: { type: 'object', properties: { databaseId: { type: 'string', description: 'The ID of the Notion database to retrieve (32 or 36 character UUID format). Example: "123e4567-e89b-12d3-a456-426614174000"', }, }, required: ['databaseId'], }, },
  • MCP server handler method that invokes the GetDatabaseUseCase and formats the response as JSON or handles not found.
    private async handleGetDatabase(args: any) { const result = await this.dependencies.getDatabaseUseCase.execute({ databaseId: args.databaseId, }); if (!result) { return { content: [ { type: 'text' as const, text: 'Database not found', }, ], }; } return { content: [ { type: 'text' as const, text: JSON.stringify( { id: result.id.toString(), title: result.title, schema: result.schema, createdTime: result.createdTime, lastEditedTime: result.lastEditedTime, archived: result.archived, }, null, 2 ), }, ], }; }
  • Dependency injection factory method that instantiates the GetDatabaseUseCase with the NotionDatabaseRepository.
    getGetDatabaseUseCase(): GetDatabaseUseCase { return new GetDatabaseUseCase(this.databaseRepository); }
  • Type definition for input to the GetDatabaseUseCase, matching the tool schema.
    export interface GetDatabaseInput { databaseId: string; }

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/Kazy1014/notion-mcp'

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