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 |
Input Schema (JSON Schema)
{
"properties": {
"filter": {
"description": "Optional filter criteria",
"type": "object"
},
"page_size": {
"default": 100,
"description": "Number of results per page",
"type": "number"
},
"query": {
"default": "",
"description": "Search query string",
"type": "string"
},
"sort": {
"description": "Optional sort criteria",
"type": "object"
},
"start_cursor": {
"description": "Cursor for pagination",
"type": "string"
}
},
"type": "object"
}
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.] };