Notion logo

Notion

official
content

This project implements an MCP server for the Notion API.

Notion MCP Server

notion-mcp-sm
This project implements an MCP server for the Notion API.
mcp-demo

Installation

1. Setting up Integration in Notion:

Go to https://www.notion.so/profile/integrations and create a new internal integration or select an existing one.
Creating a Notion Integration token
While we limit the scope of Notion API's exposed (for example, you will not be able to delete databases via MCP), there is a non-zero risk to workspace data by exposing it to LLMs. Security-conscious users may want to further configure the Integration's Capabilities.
For example, you can create a read-only integration token by giving only "Read content" access from the "Configuration" tab:
Notion Integration Token Capabilities showing Read content checked

2. Adding MCP config to your client:

Using npm:
Add the following to your
.cursor/mcp.json
or
claude_desktop_config.json
(MacOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json
)
{
  "mcpServers": {
    "notionApi": {
      "command": "npx",
      "args": ["-y", "@notionhq/notion-mcp-server"],
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\" }"
      }
    }
  }
}
Using Docker:
You can also run the MCP server using Docker. First, build the Docker image:
docker-compose build
Then, add the following to your
.cursor/mcp.json
or
claude_desktop_config.json
:
{
  "mcpServers": {
    "notionApi": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\"}",
        "notion-mcp-server-notion-mcp-server"
      ]
    }
  }
}
Don't forget to replace
ntn_****
with your integration secret. Find it from your integration configuration tab:
Copying your Integration token from the Configuration tab in the developer portal

3. Connecting content to integration:

Ensure relevant pages and databases are connected to your integration.
To do this, you'll need to visit that page, and click on the 3 dots, and select "Connect to integration".
Adding Integration Token to Notion Connections

Examples

  1. Using the following instruction
Comment "Hello MCP" on page "Getting started"
AI will correctly plan two API calls,
v1/search
and
v1/comments
, to achieve the task
  1. Similarly, the following instruction will result in a new page named "Notion MCP" added to parent page "Development"
Add a page titled "Notion MCP" to page "Development"
  1. You may also reference content ID directly
Get the content of page 1a6b35e6e67f802fa7e1d27686f017f2

Development

Build
npm run build
Execute
npx -y --prefix /path/to/local/notion-mcp-server @notionhq/notion-mcp-server
Publish
npm publish --access public

Related Servers

F

Filesystem

reference

Secure file operations with configurable access controls

View Details
Audiense Insights logo

Audiense Insights

official

Marketing insights and audience analysis from [Audiense](https://www.audiense.com/products/audiense-insights) reports, covering demographic, cultural, influencer, and content engagement analysis.

View Details
Box logo

Box

official

Interact with the Intelligent Content Management platform through Box AI.

View Details
DevHub logo

DevHub

official

Manage and utilize website content within the [DevHub](https://www.devhub.com) CMS platform

View Details
EduBase logo

EduBase

official

Interact with [EduBase](https://www.edubase.net), a comprehensive e-learning platform with advanced quizzing, exam management, and content organization capabilities

View Details