Contribute
Sign in
Notion

Notion

Official Notion MCP Server.

100K+pulls24 ToolsPackaged byDocker, with additional security features including SBOMs, provenance, signing, and multi-arch supportRequires Secrets

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?⁠