mcp-notion-fast
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOTION_API_KEY | Yes | Notion integration token. Required. Must be kept secret; never commit to source control. | |
| NOTION_API_VERSION | No | Pin a supported Notion API version. Default: 2026-03-11. | 2026-03-11 |
| NOTION_API_BASE_URL | No | Override the API origin for tests or an approved proxy. Default: https://api.notion.com. | https://api.notion.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| notion_statusA | Report non-secret server configuration without calling Notion. |
| search_notionB | Search pages or data sources shared with the Notion integration. |
| get_pageA | Retrieve a Notion page and its property values by page ID. |
| create_pageC | Create a Notion page under a page or data source parent. |
| update_pageA | Update page properties, icon, cover, lock state, or trash state. |
| get_databaseA | Retrieve a database container and discover its child data source IDs. |
| query_data_sourceB | Query a Notion data source with compound filters, sorts, and pagination. |
| list_block_childrenB | List the child blocks beneath a page or block. |
| append_block_childrenC | Append block children using the current Notion position object API. |
| get_blockA | Retrieve one Notion block by ID. |
| update_blockB | Update a Notion block using a validated JSON object payload. |
| delete_blockA | Move a Notion block to trash. This is a destructive operation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| notion_workflow | Prepare a read-first Notion workflow using this server's tools. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| notion-server-status | Non-secret configuration and supported surface summary. |
TDQS
Scored across 12 tools
Each tool targets a distinct resource and action: status, search, page CRUD, database retrieval/query, and block operations. There is no ambiguity between tools like get_database and query_data_source, as they serve different purposes (schema discovery vs. data querying).
Most tools follow a consistent verb_noun pattern (search_notion, get_page, create_page, update_page, get_database, query_data_source, list_block_children, append_block_children, get_block, update_block, delete_block). The exception is notion_status, which uses a noun phrase instead of a verb-first convention, creating a minor but noticeable deviation.
With 12 tools, the set is well-scoped for the Notion API domain, covering pages, databases, blocks, and search without redundancy or excessive specialization. The count falls comfortably within the ideal range for a focused MCP server.
The tool surface comprehensively covers core Notion operations: search, page lifecycle (create, read, update including trash via update_page), database retrieval/query, and block management (list, append, get, update, delete). A dedicated delete_page is missing, but update_page's trash capability makes it workable, so the gap is minor rather than blocking.