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
| 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.
] };