Official Notion MCP Server
100K+
Official Notion MCP Server.
| Attribute | Details |
|---|---|
| Docker Image | mcp/notion |
| Author | makenotion |
| Repository | https://github.com/makenotion/notion-mcp-server |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/makenotion/notion-mcp-server/blob/d7e3bbd62890f9efca2cd54449ac072f3bd1a4ba/Dockerfile |
| Commit | d7e3bbd62890f9efca2cd54449ac072f3bd1a4ba |
| 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 | Create A Comment |
API-create-a-data-source | Create A Data Source |
API-delete-a-block | Delete A Block |
API-get-block-children | Get Block Children |
API-get-self | Get Self |
API-get-user | Get User |
API-get-users | Get Users |
API-list-data-source-templates | List Data Source Templates |
API-move-page | Move Page |
API-patch-block-children | Patch Block Children |
API-patch-page | Patch Page |
API-post-page | Post Page |
API-post-search | Post Search |
API-query-data-source | Query Data Source |
API-retrieve-a-block | Retrieve A Block |
API-retrieve-a-comment | Retrieve A Comment |
API-retrieve-a-data-source | Retrieve A Data Source |
API-retrieve-a-database | Retrieve A Database |
API-retrieve-a-page | Retrieve A Page |
API-retrieve-a-page-property | Retrieve A Page Property |
API-retrieve-page-markdown | Retrieve Page Markdown |
API-update-a-block | Update A Block |
API-update-a-data-source | Update A Data Source |
API-update-page-markdown | Update Page Markdown |
API-create-a-commentNotion | Create comment Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
parent | string | |
rich_text | array |
This tool may perform destructive updates.
API-create-a-data-sourceNotion | Create a data source Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
parent | string | |
properties | string | |
title | array optional |
This tool may perform destructive updates.
API-delete-a-blockNotion | Delete a block Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
block_id | string | Identifier for a Notion block |
This tool may perform destructive updates.
API-get-block-childrenNotion | Retrieve block children Error Responses: 400: Bad request
| 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. |
This tool is read-only. It does not modify its environment.
API-get-selfNotion | Retrieve your token's bot user Error Responses: 400: Bad request
API-get-userNotion | Retrieve a user Error Responses: 400: 400
| Parameters | Type | Description |
|---|---|---|
user_id | string |
This tool is read-only. It does not modify its environment.
API-get-usersNotion | List all users Error Responses: 400: 400
| 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. |
This tool is read-only. It does not modify its environment.
API-list-data-source-templatesNotion | List templates in a data source Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
data_source_id | string | Identifier for a Notion data source |
page_size | integer optional | |
start_cursor | string optional |
This tool is read-only. It does not modify its environment.
API-move-pageNotion | Move a page Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
page_id | string | Identifier for a Notion page |
parent | string |
This tool may perform destructive updates.
API-patch-block-childrenNotion | Append block children Error Responses: 400: Bad request
| 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. |
This tool may perform destructive updates.
API-patch-pageNotion | Update page properties Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
page_id | string | The identifier for the Notion page to be updated. |
archived | boolean optional | |
cover | string optional | |
icon | string optional | |
in_trash | boolean optional | Set to true to delete a block. Set to false to restore a block. |
properties | string optional |
This tool may perform destructive updates.
API-post-pageNotion | Create a page Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
parent | string | |
properties | string | |
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.. |
This tool may perform destructive updates.
API-post-searchNotion | Search by title Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
filter | string optional | |
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 | string optional | |
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. |
This tool may perform destructive updates.
API-query-data-sourceNotion | Query a data source Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
data_source_id | string | Identifier for a Notion data source (database) |
archived | boolean optional | |
filter | string optional | |
filter_properties | array optional | A list of page property value IDs to limit the response |
in_trash | boolean optional | |
page_size | integer optional | |
sorts | array optional | |
start_cursor | string optional |
This tool may perform destructive updates.
API-retrieve-a-blockNotion | Retrieve a block Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
block_id | string | Identifier for a Notion block |
This tool is read-only. It does not modify its environment.
API-retrieve-a-commentNotion | Retrieve comments Error Responses: 400: Bad request
| 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. |
This tool is read-only. It does not modify its environment.
API-retrieve-a-data-sourceNotion | Retrieve a data source Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
data_source_id | string | Identifier for a Notion data source |
This tool is read-only. It does not modify its environment.
API-retrieve-a-databaseNotion | Retrieve a database Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
database_id | string | Identifier for a Notion database |
This tool is read-only. It does not modify its environment.
API-retrieve-a-pageNotion | Retrieve a page Error Responses: 400: Bad request
| 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. |
This tool is read-only. It does not modify its environment.
API-retrieve-a-page-propertyNotion | Retrieve a page property item Error Responses: 400: Bad request
| 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. |
This tool is read-only. It does not modify its environment.
API-retrieve-page-markdownNotion | Retrieve a page as Markdown Error Responses: 400: Bad request 403: The integration lacks the read/update content capability required for this page. 404: Page not found or not shared with the integration. 429: Rate limited.
| Parameters | Type | Description |
|---|---|---|
page_id | string | Identifier for a Notion page (or block) to read or update as markdown. |
include_transcript | boolean optional | Whether to include meeting note transcripts. When false (default), a placeholder with the meeting note URL is shown instead of the full transcript. |
This tool is read-only. It does not modify its environment.
API-update-a-blockNotion | Update a block Error Responses: 400: Bad request
| 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 | string optional |
This tool may perform destructive updates.
API-update-a-data-sourceNotion | Update a data source Error Responses: 400: Bad request
| Parameters | Type | Description |
|---|---|---|
data_source_id | string | Identifier for a Notion data source |
description | array optional | |
properties | string optional | |
title | array optional |
This tool may perform destructive updates.
API-update-page-markdownNotion | Update a page's content as Markdown Error Responses: 400: Bad request 403: The integration lacks the read/update content capability required for this page. 404: Page not found or not shared with the integration. 409: Conflict (e.g. row limit exceeded). 429: Rate limited.
| Parameters | Type | Description |
|---|---|---|
page_id | string | Identifier for a Notion page (or block) to read or update as markdown. |
type | string | The kind of edit to apply. Prefer replace_content (overwrite the whole page) or update_content (targeted find-and-replace). insert_content and replace_content_range are deprecated. |
insert_content | string optional | |
replace_content | string optional | |
replace_content_range | string optional | |
update_content | string optional |
This tool may perform destructive updates.
{
"mcpServers": {
"notion": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"INTERNAL_INTEGRATION_TOKEN",
"mcp/notion"
],
"env": {
"INTERNAL_INTEGRATION_TOKEN": "ntn_****"
}
}
}
}
Content type
Image
Digest
sha256:df0d6781d…
Size
118.5 MB
Last updated
22 days ago
docker pull mcp/notionPulls:
5,216
Last week