notion-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP server port | 3000 |
| CORS_ORIGIN | No | Allowed CORS origin | * |
| TRANSPORT_MODE | No | Set to 'http' for HTTP/SSE transport | stdio |
| NOTION_ACCESS_TOKEN | Yes | Your Notion integration token |
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 |
|---|---|
| notion_get_databaseC | Get database by ID |
| notion_query_databaseC | Query database pages |
| notion_create_databaseC | Create a new database |
| notion_update_databaseD | Update database properties |
| notion_get_pageC | Get page by ID |
| notion_create_pageB | Create a new page. Note: Creating pages directly in workspace root requires special permissions - use database or page parents instead. |
| notion_update_pageC | Update page properties |
| notion_get_page_propertyC | Get page property by ID |
| notion_get_block_childrenC | Get block children |
| notion_append_block_childrenC | Append blocks to a parent block |
| notion_get_blockC | Get block by ID |
| notion_update_blockC | Update block content |
| notion_delete_blockC | Delete a block |
| notion_list_usersC | List all users |
| notion_get_userC | Get user by ID |
| notion_get_meB | Get current bot user |
| notion_searchC | Search pages and databases |
| notion_create_commentC | Create a comment on a page or block |
| notion_get_commentsC | Get comments for a page or block |
| notion_create_page_from_templateB | Create a new page by copying blocks from a template page |
| notion_create_database_from_templateB | Create a new database by copying schema from a template database |
| notion_duplicate_pageC | Duplicate an existing page with its content blocks |
| notion_duplicate_databaseB | Duplicate an existing database with its schema |
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 23 tools
Most tools map to distinct resources and actions, but the template/duplicate pairs (create_page_from_template vs duplicate_page, create_database_from_template vs duplicate_database) overlap in purpose, which could cause occasional misselection.
All tools use the same notion_ prefix and snake_case verb_noun pattern (e.g., notion_get_page, notion_update_block), making the set highly predictable.
23 tools cover a broad API but exceed the typical 3–15 range; while most tools are justified, the set feels heavy for a single MCP server.
Core CRUD for blocks and read/update for pages and databases are covered, but explicit delete/archive operations for pages and databases (and comment deletion) are absent, leaving some lifecycle gaps.