Version 4.43 or later needs to be installed to add the server automatically
About
Official Notion MCP Server.
Attribute | Details |
---|---|
Docker Image | mcp/notion |
Author | makenotion |
Repository | https://github.com/makenotion/notion-mcp-server |
Dockerfile | https://github.com/makenotion/notion-mcp-server/blob/main/Dockerfile |
Docker Image built by | Docker Inc. |
Docker Scout Health Score | |
Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/notion --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
Licence | MIT License |
Tools provided by this Server | Short Description |
---|---|
API-create-a-comment | Notion |
API-create-a-database | Notion |
API-delete-a-block | Notion |
API-get-block-children | Notion |
API-get-self | Notion |
API-get-user | Notion |
API-get-users | Notion |
API-patch-block-children | Notion |
API-patch-page | Notion |
API-post-database-query | Notion |
API-post-page | Notion |
API-post-search | Notion |
API-retrieve-a-block | Notion |
API-retrieve-a-comment | Notion |
API-retrieve-a-database | Notion |
API-retrieve-a-page | Notion |
API-retrieve-a-page-property | Notion |
API-update-a-block | Notion |
API-update-a-database | Notion |
API-create-a-comment
Notion | Create comment
Parameters | Type | Description |
---|---|---|
parent | object | The page that contains the comment |
rich_text | array |
API-create-a-database
Notion | Create a database
Parameters | Type | Description |
---|---|---|
parent | object | |
properties | object | Property schema of database. The keys are the names of properties as they appear in Notion and the values are property schema objects. |
title | array optional |
API-delete-a-block
Notion | Delete a block
Parameters | Type | Description |
---|---|---|
block_id | string | Identifier for a Notion block |
API-get-block-children
Notion | Retrieve block children
Parameters | Type | Description |
---|---|---|
block_id | string | Identifier for a block |
page_size | integer optional | The number of items from the full list desired in the response. Maximum: 100 |
start_cursor | string optional | If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results. |
API-get-self
Notion | Retrieve your token's bot user
API-get-user
Notion | Retrieve a user
Parameters | Type | Description |
---|---|---|
user_id | string |
API-get-users
Notion | List all users
Parameters | Type | Description |
---|---|---|
page_size | integer optional | The number of items from the full list desired in the response. Maximum: 100 |
start_cursor | string optional | If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results. |
API-patch-block-children
Notion | Append block children
Parameters | Type | Description |
---|---|---|
block_id | string | Identifier for a block. Also accepts a page ID. |
children | array | Child content to append to a container block as an array of block objects |
after | string optional | The ID of the existing block that the new block should be appended after. |
API-patch-page
Notion | Update page properties
Parameters | Type | Description |
---|---|---|
page_id | string | The identifier for the Notion page to be updated. |
archived | boolean optional | |
cover | object optional | A cover image for the page. Only external file objects are supported. |
icon | object optional | A page icon for the page. Supported types are external file object or emoji object. |
in_trash | boolean optional | Set to true to delete a block. Set to false to restore a block. |
properties | object optional | The property values to update for the page. The keys are the names or IDs of the property and the values are property values. If a page property ID is not included, then it is not changed. |
API-post-database-query
Notion | Query a database
Parameters | Type | Description |
---|---|---|
database_id | string | Identifier for a Notion database. |
archived | boolean optional | |
filter | object optional | When supplied, limits which pages are returned based on the filter conditions. |
filter_properties | array optional | A list of page property value IDs associated with the database. Use this param to limit the response to a specific page property value or values for pages that meet the filter criteria. |
in_trash | boolean optional | |
page_size | integer optional | The number of items from the full list desired in the response. Maximum: 100 |
sorts | array optional | When supplied, orders the results based on the provided sort criteria. |
start_cursor | string optional | When supplied, returns a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results. |
API-post-page
Notion | Create a page
Parameters | Type | Description |
---|---|---|
parent | object | |
properties | object | |
children | array optional | The content to be rendered on the new page, represented as an array of block objects. |
cover | string optional | The cover image of the new page, represented as a file object. |
icon | string optional | The icon of the new page. Either an emoji object or an external file object.. |
API-post-search
Notion | Search by title
Parameters | Type | Description |
---|---|---|
filter | object optional | A set of criteria, value and property keys, that limits the results to either only pages or only databases. Possible value values are "page" or "database" . The only supported property value is "object" . |
page_size | integer optional | The number of items from the full list to include in the response. Maximum: 100 . |
query | string optional | The text that the API compares page and database titles against. |
sort | object optional | A set of criteria, direction and timestamp keys, that orders the results. The only supported timestamp value is "last_edited_time" . Supported direction values are "ascending" and "descending" . If sort is not provided, then the most recently edited results are returned first. |
start_cursor | string optional | A cursor value returned in a previous response that If supplied, limits the response to results starting after the cursor . If not supplied, then the first page of results is returned. Refer to pagination for more details. |
API-retrieve-a-block
Notion | Retrieve a block
Parameters | Type | Description |
---|---|---|
block_id | string | Identifier for a Notion block |
API-retrieve-a-comment
Notion | Retrieve comments
Parameters | Type | Description |
---|---|---|
block_id | string | Identifier for a Notion block or page |
page_size | integer optional | The number of items from the full list desired in the response. Maximum: 100 |
start_cursor | string optional | If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results. |
API-retrieve-a-database
Notion | Retrieve a database
Parameters | Type | Description |
---|---|---|
database_id | string | An identifier for the Notion database. |
API-retrieve-a-page
Notion | Retrieve a page
Parameters | Type | Description |
---|---|---|
page_id | string | Identifier for a Notion page |
filter_properties | string optional | A list of page property value IDs associated with the page. Use this param to limit the response to a specific page property value or values. To retrieve multiple properties, specify each page property ID. For example: ?filter_properties=iAk8&filter_properties=b7dh . |
API-retrieve-a-page-property
Notion | Retrieve a page property item
Parameters | Type | Description |
---|---|---|
page_id | string | Identifier for a Notion page |
property_id | string | Identifier for a page property |
page_size | integer optional | For paginated properties. The max number of property item objects on a page. The default size is 100 |
start_cursor | string optional | For paginated properties. |
API-update-a-block
Notion | Update a block
Parameters | Type | Description |
---|---|---|
block_id | string | Identifier for a Notion block |
archived | boolean optional | Set to true to archive (delete) a block. Set to false to un-archive (restore) a block. |
type | object optional | The block object type value with the properties to be updated. Currently only text (for supported block types) and checked (for to_do blocks) fields can be updated. |
API-update-a-database
Notion | Update a database
Parameters | Type | Description |
---|---|---|
database_id | string | identifier for a Notion database |
description | array optional | An array of rich text objects that represents the description of the database that is displayed in the Notion UI. If omitted, then the database description remains unchanged. |
properties | object optional | Property schema of database. The keys are the names of properties as they appear in Notion and the values are property schema objects. |
title | array optional | An array of rich text objects that represents the title of the database that is displayed in the Notion UI. If omitted, then the database title remains unchanged. |
{
"mcpServers": {
"notion": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"INTERNAL_INTEGRATION_TOKEN",
"mcp/notion"
],
"env": {
"INTERNAL_INTEGRATION_TOKEN": "ntn_****"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for