Notion MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOTION_API_KEY | Yes | Your Notion 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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_pageA | Creates a new page (record) in a Notion database. Use this to add new entries such as tasks, projects, notes, etc. to any database. You can set properties like title, status, date, assignee, and more when creating the page. |
| get_pageA | Retrieves detailed information about a specific Notion page (database record) by its ID. Returns all properties (fields), creation time, last edited time, archive status, and more. |
| update_pageA | Updates properties (fields) of a Notion page (database record). Supports ALL property types: title, status, date, checkbox, number, select, multi-select, URL, email, phone number, people, relations, and more. You can update individual properties or multiple properties simultaneously. Examples: change status to "Completed", update progress to 80%, set deadline to next Friday, change assignee, etc. |
| delete_pageA | Deletes (archives) a Notion page (database record). In Notion, deletion is actually an archive operation and can be restored later. Use this to organize completed tasks, finished projects, etc. |
| query_pagesB | Queries and retrieves pages (records) from a Notion database. Supports filtering and sorting. Examples: "tasks with status In Progress", "projects due this week", "tasks assigned to me". Retrieve pages matching specific conditions. |
| get_databaseA | Retrieves detailed information about a specific Notion database by its ID. Returns database title, schema (property definitions), creation time, last edited time, and more. Use this to understand database structure. |
| list_databasesA | Lists all Notion databases accessible to the integration. Returns each database's ID, title, creation time, and archive status. Use this to discover available databases. |
| update_databaseA | Updates the database itself (not individual records). Can change database title or update schema (add/modify/delete properties/columns). Note: To update individual records, use update_page instead. |
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 8 tools
Each tool has a clearly distinct purpose with no overlap: create_page and delete_page handle page lifecycle, get_database and get_page retrieve specific resources, list_databases and query_pages provide listing/querying capabilities, and update_database and update_page target database vs. page updates. The descriptions explicitly differentiate tools like update_database (for schema) vs. update_page (for record properties).
All tools follow a consistent verb_noun pattern (e.g., create_page, delete_page, get_database, list_databases, query_pages, update_database, update_page). The naming is uniform throughout, using snake_case and clear action verbs aligned with the resource type, making the set predictable and easy to navigate.
With 8 tools, this server is well-scoped for managing Notion databases and pages. It covers core operations (CRUD, querying, listing) without being overly sparse or bloated. Each tool serves a distinct and necessary function in the domain, making the count appropriate for the server's purpose.
The tool set provides complete CRUD/lifecycle coverage for Notion databases and pages: create_page, get_page, update_page, and delete_page handle page operations; get_database, list_databases, and update_database manage databases; and query_pages enables filtering. There are no obvious gaps, supporting full agent workflows from discovery to modification.