This server has basic tool definitions but significant quality gaps. All 4 tools have names and descriptions, but descriptions are generic (10-50 chars, well below the 194-char baseline). Parameter descriptions are minimal or absent. No output schemas are documented. The server exposes tool definitions via a /mcp/manifest.json endpoint but does not implement proper MCP protocol semantics, it's a custom HTTP wrapper, not a compliant MCP server. Error handling is present but generic ('Failed to X'). No tool annotations (readOnlyHint, destructiveHint) despite having both read and write operations.
Create a new page in Notion
Get a Notion page by ID
Query a Notion database
Search Notion pages by title or content
Descriptions are too short (10-50 chars vs 194-char baseline). 'Search Notion pages by title or content' lacks WHEN to use, prerequisites, or return structure. LLMs cannot distinguish search_pages from query_database without richer context.
No output schemas documented. Controllers return generic responses (e.g., { results }, { error }) without specifying field types, structure, or pagination. LLMs cannot plan downstream calls or extract required IDs.
create_page is a destructive write operation but has no tool annotation (destructiveHint) and no confirmation/dry-run pattern. Agents cannot distinguish safe reads from irreversible writes.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Parameter descriptions are missing or trivial. 'filter' and 'sorts' in query_database lack format/constraint details. 'parent' and 'properties' in create_page are objects with no schema guidance. LLMs must guess valid structures.
Error responses are generic ('Failed to search pages', 'Failed to retrieve page'). No recovery guidance, no categorization (retryable vs user-fixable), no invalid-value details. Agents cannot self-correct.