query_database
Retrieve and filter data from a Notion database using a specified ID and optional filters, integrated within the Multi-MCPs server for streamlined API access.
Instructions
Query a Notion database with optional filter
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| filter | No |
Implementation Reference
- src/apis/notion/notion.ts:100-105 (handler)Handler function that validates inputs and calls the Notion client's queryDatabase method to execute the tool.async query_database(args: Record<string, unknown>) { if (!cfg.notionToken) throw new Error("NOTION_TOKEN is not configured"); const databaseId = String(args.database_id || ""); if (!databaseId) throw new Error("database_id is required"); return client.queryDatabase(databaseId, args.filter); },
- src/apis/notion/notion.ts:54-61 (schema)Input schema defining the parameters for the query_database tool: database_id (required string) and optional filter object.inputSchema: { type: "object", properties: { database_id: { type: "string" }, filter: { type: "object" }, }, required: ["database_id"], },
- src/apis/notion/notion.ts:51-62 (registration)Tool registration entry including name, description, and input schema within the registerNotion function.{ name: "query_database", description: "Query a Notion database with optional filter", inputSchema: { type: "object", properties: { database_id: { type: "string" }, filter: { type: "object" }, }, required: ["database_id"], }, },
- src/apis/notion/notion.ts:16-21 (helper)Helper method in NotionClient class that performs the actual API request to query a Notion database.queryDatabase(databaseId: string, filter?: unknown) { return this.request(`/v1/databases/${databaseId}/query`, { method: "POST", body: filter ? { filter } : {}, }); }