notion-mpm
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOTION_API_KEY | Yes | Your Notion integration API key |
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": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_pageA | Retrieve a Notion page by its ID, including all properties. |
| get_page_propertyB | Retrieve a specific property value from a Notion page. |
| create_pageA | Create a new Notion page inside a database or as a sub-page of another page. For database pages, properties must match the database schema. |
| update_pageB | Update a Notion page's properties, icon, or cover image. |
| archive_pageA | Archive (soft-delete) a Notion page. The page can be restored later. |
| restore_pageA | Restore a previously archived Notion page. |
| get_blockB | Retrieve a specific block by its ID. |
| get_block_childrenA | List the direct children of a block or page. Use this to read the content of a Notion page. |
| append_block_childrenA | Append new content blocks to a page or block. Use this to add paragraphs, headings, lists, code blocks, and more. |
| update_blockC | Update the content of an existing block. |
| delete_blockB | Delete a block from a Notion page. |
| get_databaseA | Retrieve a Notion database schema and metadata by its ID. |
| create_databaseA | Create a new Notion database as a child of an existing page. Define the property schema (columns) at creation time. |
| update_databaseA | Update a Notion database title, description, or property schema. |
| query_databaseB | Query a Notion database to retrieve pages matching filter criteria. Supports filtering, sorting, and pagination. |
| list_usersB | List all users in the Notion workspace. |
| get_userA | Retrieve information about a specific Notion user. |
| get_bot_userA | Retrieve information about the bot user associated with this integration, including workspace name and owner details. |
| searchB | Search for pages and databases in the Notion workspace. Only returns content the integration has access to. |
| get_commentsA | Retrieve all comments on a Notion page or block. |
| create_commentB | Add a comment to a Notion page. Requires 'insert comments' capability on the integration. |
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 21 tools
Each tool maps to a distinct Notion resource and action. get_page_property targets a specific property vs get_page's full page, and append_block_children vs get_block_children are clearly read vs write. No two tools have overlapping purposes.
All tools follow a verb_noun pattern with snake_case, e.g., get_page, create_database, update_block. The only deviation is 'search', but it is a clear imperative verb that fits the style. No mixed conventions.
21 tools is above the typical 3-15 sweet spot, but the breadth of Notion's API (pages, blocks, databases, users, comments) justifies the count. Each tool serves a specific operation, so it doesn't feel bloated.
Core CRUD and lifecycle operations are covered for pages, blocks, and databases, plus search, comments, and user retrieval. A notable minor gap is lack of database archive/restore operations, but this does not severely hinder common workflows.