← mcp servers

Notion

Enables AI agents to interact with Notion workspaces through the Model Context Protocol. Supports reading and creating pages, querying databases, managing blocks, and searching content. Access is scoped by the Notion integration permissions configured by the workspace admin.

Package

Registrynpm (stdio)
Package@notionhq/notion-mcp-server@2.5.1
Integritysha512-JPG38WoSxYxZMk+fLgqsibU1rhvCSbK1JSMUlw5DPyoc1LveN2cz5C1lbJFcv7mZTa/DAOP4zbfxNj4YtN/lcQ==
Lockfilepackage-lock.json sha512-H+zvZZFuMFQw6E5JmVuB3H73v5A6dUQWQc++jZuavftexf8Ztrawkd47tMqcLT6HYY7jeWVPeMhJ7hCEv/9pyQ==
Entrybin/cli.mjs
Install scriptsnone allowed

Configuration

Create a Notion integration and copy its Internal Integration Secret, then share the pages or databases it should access with the integration. — get credentials

KeyNameKindRequiredSecretFormatDefault / choices
NOTION_TOKENNotion Integration Token
Internal integration secret of the Notion integration
envyesyesstring

Tools (24)

From the test run on 2026-10-23 (darwin-arm64, linux-x64, Node 24) — starts without credentials.

API-create-a-commentNotion | Create comment
params: parent*, rich_text*
API-create-a-data-sourceNotion | Create a data source
params: parent*, properties*, title
API-delete-a-blockNotion | Delete a block
params: block_id*
API-get-block-childrenNotion | Retrieve block children
params: block_id*, page_size, start_cursor
API-get-selfNotion | Retrieve your token's bot user
API-get-userNotion | Retrieve a user
params: user_id*
API-get-usersNotion | List all users
params: page_size, start_cursor
API-list-data-source-templatesNotion | List templates in a data source
params: data_source_id*, page_size, start_cursor
API-move-pageNotion | Move a page
params: page_id*, parent*
API-patch-block-childrenNotion | Append block children
params: after, block_id*, children*
API-patch-pageNotion | Update page properties
params: archived, cover, icon, in_trash, page_id*, properties
API-post-pageNotion | Create a page
params: children, cover, icon, parent*, properties*
API-post-searchNotion | Search by title
params: filter, page_size, query, sort, start_cursor
API-query-data-sourceNotion | Query a data source
params: archived, data_source_id*, filter, filter_properties, in_trash, page_size, sorts, start_cursor
API-retrieve-a-blockNotion | Retrieve a block
params: block_id*
API-retrieve-a-commentNotion | Retrieve comments
params: block_id*, page_size, start_cursor
API-retrieve-a-data-sourceNotion | Retrieve a data source
params: data_source_id*
API-retrieve-a-databaseNotion | Retrieve a database
params: database_id*
API-retrieve-a-pageNotion | Retrieve a page
params: filter_properties, page_id*
API-retrieve-a-page-propertyNotion | Retrieve a page property item
params: page_id*, page_size, property_id*, start_cursor
API-retrieve-page-markdownNotion | Retrieve a page as Markdown
params: include_transcript, page_id*
API-update-a-blockNotion | Update a block
params: archived, block_id*, type
API-update-a-data-sourceNotion | Update a data source
params: data_source_id*, description, properties, title
API-update-page-markdownNotion | Update a page's content as Markdown
params: insert_content, page_id*, replace_content, replace_content_range, type*, update_content

Security Assessment

Levelcaution
Permissionsread:pages, write:pages, read:databases, write:databases, search:content
Data Exposurecontent
Requires SupervisorNo
Risk NotesCan read and write Notion pages, databases. Scoped by integration permissions.
Reviewpass · official · 2026-03-16
Runtimeengines.node not declared · native modules: no · 36.7 MB installed

When to Use

UseWhen the agent needs to read or modify content in Notion workspaces, pages, or databases.
Do not useWhen working with other project management tools like Linear or Jira.
Input / Outputtext, json → text, json

com.forgeuno/notion-mcp · v2.5.1 · Category: productivity · Free tier: Yes · Notion API is free; Notion workspace plans vary. · Source · Website