mcp-notion
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOTION_TOKEN | Yes | The Notion integration token required for authentication. | |
| VALIDATE_TOKEN | No | Set to 'false' to skip startup token validation for offline/local smoke tests. Defaults to 'true'. | true |
| ALLOWED_PAGE_IDS | No | Comma-separated list of page IDs to restrict operations to an allowlist. | |
| BLOCKED_PAGE_IDS | No | Comma-separated list of page IDs to deny specific pages. | |
| ENABLE_AUDIT_LOG | No | Set to 'false' to disable local operation audit logging. Defaults to 'true'. | true |
| MAX_REQUESTS_PER_MINUTE | No | Controls in-process request throttling. Defaults to '60'. | 60 |
| NOTION_ROOT_PARENT_PAGE_ID | No | Enables the 'create_root_page' tool. Set to the ID of the root parent page. | |
| MCP_NOTION_ROOT_PARENT_PAGE_ID | No | Compatibility alias for NOTION_ROOT_PARENT_PAGE_ID. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_pagesA | Search for Notion pages by title |
| get_pageB | Get basic information about a Notion page |
| get_page_contentB | Get the content/blocks of a Notion page |
| create_pageB | Create a new Notion page (basic - use create_rich_page for better formatting) |
| update_pageB | Update a Notion page title |
| create_rich_pageB | Create a formatted Notion page with rich content blocks |
| create_page_from_templateC | Create a page using a built-in template |
| add_content_blocksA | Add formatted content blocks to an existing Notion page |
| list_templatesA | List all available page templates with descriptions |
| create_root_pageB | Create a page under a configured root parent |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Multiple creation tools (create_page, create_rich_page, create_page_from_template, create_root_page) overlap in purpose, though descriptions help distinguish basic vs rich vs template usage. get_page and get_page_content are also related but distinct.
All tool names follow a consistent snake_case verb_noun pattern (e.g., search_pages, get_page, add_content_blocks). Compound names like create_page_from_template still conform to the convention.
10 tools is within the ideal 3-15 range for a focused Notion page management server. Each tool serves a clear purpose without feeling bloated.
Core create/read/update workflows exist, but there is no delete/archive page operation, and update_page only handles titles. Block editing is limited to adding content, not modifying or removing blocks.