Notion

Notion

Official Notion MCP Server.

100K+

24 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

Notion MCP Server

Official Notion MCP Server.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/makenotion/notion-mcp-server/blob/d7e3bbd62890f9efca2cd54449ac072f3bd1a4ba/Dockerfile
Commitd7e3bbd62890f9efca2cd54449ac072f3bd1a4ba
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/notion --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (24)

Tools provided by this ServerShort Description
API-create-a-commentCreate A Comment
API-create-a-data-sourceCreate A Data Source
API-delete-a-blockDelete A Block
API-get-block-childrenGet Block Children
API-get-selfGet Self
API-get-userGet User
API-get-usersGet Users
API-list-data-source-templatesList Data Source Templates
API-move-pageMove Page
API-patch-block-childrenPatch Block Children
API-patch-pagePatch Page
API-post-pagePost Page
API-post-searchPost Search
API-query-data-sourceQuery Data Source
API-retrieve-a-blockRetrieve A Block
API-retrieve-a-commentRetrieve A Comment
API-retrieve-a-data-sourceRetrieve A Data Source
API-retrieve-a-databaseRetrieve A Database
API-retrieve-a-pageRetrieve A Page
API-retrieve-a-page-propertyRetrieve A Page Property
API-retrieve-page-markdownRetrieve Page Markdown
API-update-a-blockUpdate A Block
API-update-a-data-sourceUpdate A Data Source
API-update-page-markdownUpdate Page Markdown

Tools Details

Tool: API-create-a-comment

Notion | Create comment Error Responses: 400: Bad request

ParametersTypeDescription
parentstring
rich_textarray

This tool may perform destructive updates.


Tool: API-create-a-data-source

Notion | Create a data source Error Responses: 400: Bad request

ParametersTypeDescription
parentstring
propertiesstring
titlearrayoptional

This tool may perform destructive updates.


Tool: API-delete-a-block

Notion | Delete a block Error Responses: 400: Bad request

ParametersTypeDescription
block_idstringIdentifier for a Notion block

This tool may perform destructive updates.


Tool: API-get-block-children

Notion | Retrieve block children Error Responses: 400: Bad request

ParametersTypeDescription
block_idstringIdentifier for a block
page_sizeintegeroptionalThe number of items from the full list desired in the response. Maximum: 100
start_cursorstringoptionalIf 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.


Tool: API-get-self

Notion | Retrieve your token's bot user Error Responses: 400: Bad request

Tool: API-get-user

Notion | Retrieve a user Error Responses: 400: 400

ParametersTypeDescription
user_idstring

This tool is read-only. It does not modify its environment.


Tool: API-get-users

Notion | List all users Error Responses: 400: 400

ParametersTypeDescription
page_sizeintegeroptionalThe number of items from the full list desired in the response. Maximum: 100
start_cursorstringoptionalIf 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.


Tool: API-list-data-source-templates

Notion | List templates in a data source Error Responses: 400: Bad request

ParametersTypeDescription
data_source_idstringIdentifier for a Notion data source
page_sizeintegeroptional
start_cursorstringoptional

This tool is read-only. It does not modify its environment.


Tool: API-move-page

Notion | Move a page Error Responses: 400: Bad request

ParametersTypeDescription
page_idstringIdentifier for a Notion page
parentstring

This tool may perform destructive updates.


Tool: API-patch-block-children

Notion | Append block children Error Responses: 400: Bad request

ParametersTypeDescription
block_idstringIdentifier for a block. Also accepts a page ID.
childrenarrayChild content to append to a container block as an array of block objects
afterstringoptionalThe ID of the existing block that the new block should be appended after.

This tool may perform destructive updates.


Tool: API-patch-page

Notion | Update page properties Error Responses: 400: Bad request

ParametersTypeDescription
page_idstringThe identifier for the Notion page to be updated.
archivedbooleanoptional
coverstringoptional
iconstringoptional
in_trashbooleanoptionalSet to true to delete a block. Set to false to restore a block.
propertiesstringoptional

This tool may perform destructive updates.


Tool: API-post-page

Notion | Create a page Error Responses: 400: Bad request

ParametersTypeDescription
parentstring
propertiesstring
childrenarrayoptionalThe content to be rendered on the new page, represented as an array of block objects.
coverstringoptionalThe cover image of the new page, represented as a file object.
iconstringoptionalThe icon of the new page. Either an emoji object or an external file object..

This tool may perform destructive updates.


Tool: API-post-search

Notion | Search by title Error Responses: 400: Bad request

ParametersTypeDescription
filterstringoptional
page_sizeintegeroptionalThe number of items from the full list to include in the response. Maximum: 100.
querystringoptionalThe text that the API compares page and database titles against.
sortstringoptional
start_cursorstringoptionalA 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.


Tool: API-query-data-source

Notion | Query a data source Error Responses: 400: Bad request

ParametersTypeDescription
data_source_idstringIdentifier for a Notion data source (database)
archivedbooleanoptional
filterstringoptional
filter_propertiesarrayoptionalA list of page property value IDs to limit the response
in_trashbooleanoptional
page_sizeintegeroptional
sortsarrayoptional
start_cursorstringoptional

This tool may perform destructive updates.


Tool: API-retrieve-a-block

Notion | Retrieve a block Error Responses: 400: Bad request

ParametersTypeDescription
block_idstringIdentifier for a Notion block

This tool is read-only. It does not modify its environment.


Tool: API-retrieve-a-comment

Notion | Retrieve comments Error Responses: 400: Bad request

ParametersTypeDescription
block_idstringIdentifier for a Notion block or page
page_sizeintegeroptionalThe number of items from the full list desired in the response. Maximum: 100
start_cursorstringoptionalIf 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.


Tool: API-retrieve-a-data-source

Notion | Retrieve a data source Error Responses: 400: Bad request

ParametersTypeDescription
data_source_idstringIdentifier for a Notion data source

This tool is read-only. It does not modify its environment.


Tool: API-retrieve-a-database

Notion | Retrieve a database Error Responses: 400: Bad request

ParametersTypeDescription
database_idstringIdentifier for a Notion database

This tool is read-only. It does not modify its environment.


Tool: API-retrieve-a-page

Notion | Retrieve a page Error Responses: 400: Bad request

ParametersTypeDescription
page_idstringIdentifier for a Notion page
filter_propertiesstringoptionalA 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.


Tool: API-retrieve-a-page-property

Notion | Retrieve a page property item Error Responses: 400: Bad request

ParametersTypeDescription
page_idstringIdentifier for a Notion page
property_idstringIdentifier for a page property
page_sizeintegeroptionalFor paginated properties. The max number of property item objects on a page. The default size is 100
start_cursorstringoptionalFor paginated properties.

This tool is read-only. It does not modify its environment.


Tool: API-retrieve-page-markdown

Notion | 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.

ParametersTypeDescription
page_idstringIdentifier for a Notion page (or block) to read or update as markdown.
include_transcriptbooleanoptionalWhether 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.


Tool: API-update-a-block

Notion | Update a block Error Responses: 400: Bad request

ParametersTypeDescription
block_idstringIdentifier for a Notion block
archivedbooleanoptionalSet to true to archive (delete) a block. Set to false to un-archive (restore) a block.
typestringoptional

This tool may perform destructive updates.


Tool: API-update-a-data-source

Notion | Update a data source Error Responses: 400: Bad request

ParametersTypeDescription
data_source_idstringIdentifier for a Notion data source
descriptionarrayoptional
propertiesstringoptional
titlearrayoptional

This tool may perform destructive updates.


Tool: API-update-page-markdown

Notion | 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.

ParametersTypeDescription
page_idstringIdentifier for a Notion page (or block) to read or update as markdown.
typestringThe 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_contentstringoptional
replace_contentstringoptional
replace_content_rangestringoptional
update_contentstringoptional

This tool may perform destructive updates.


Use this MCP Server

{
  "mcpServers": {
    "notion": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "INTERNAL_INTEGRATION_TOKEN",
        "mcp/notion"
      ],
      "env": {
        "INTERNAL_INTEGRATION_TOKEN": "ntn_****"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Related servers