search
Search Notion pages and databases using query strings, filters, and sort criteria to find and organize relevant information quickly.
Instructions
Search Notion for pages or databases
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Optional filter criteria | |
| page_size | No | Number of results per page | |
| query | No | Search query string | |
| sort | No | Optional sort criteria | |
| start_cursor | No | Cursor for pagination |
Implementation Reference
- server.js:610-640 (handler)Handler for the 'search' tool: destructures input args, builds searchParams, calls notion.search API, returns JSON-formatted response as text content.else if (name === "search") { const { query, filter, sort, start_cursor, page_size } = args; const searchParams = { query: query || "", page_size: page_size || 100, }; if (filter) { searchParams.filter = filter; } if (sort) { searchParams.sort = sort; } if (start_cursor) { searchParams.start_cursor = start_cursor; } const response = await notion.search(searchParams); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; }
- server.js:281-310 (schema)Schema definition for the 'search' tool, including input schema with properties for query, optional filter, sort, pagination.name: "search", description: "Search Notion for pages or databases", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query string", default: "" }, filter: { type: "object", description: "Optional filter criteria" }, sort: { type: "object", description: "Optional sort criteria" }, start_cursor: { type: "string", description: "Cursor for pagination" }, page_size: { type: "number", description: "Number of results per page", default: 100 } } } }
- server.js:311-312 (registration)The tools array closing and server configuration where the 'search' tool is registered.] };