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
)
Using Docker:
You can also run the MCP server using Docker. First, build the Docker image:
Then, add the following to your .cursor/mcp.json
or claude_desktop_config.json
:
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 Using the following instruction AI will correctly plan two API calls, v1/search
and v1/comments
, to achieve the task
Similarly, the following instruction will result in a new page named "Notion MCP" added to parent page "Development" You may also reference content ID directly Development Build
Execute
Publish
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
)
Using Docker:
You can also run the MCP server using Docker. First, build the Docker image:
Then, add the following to your .cursor/mcp.json
or claude_desktop_config.json
:
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 Using the following instruction AI will correctly plan two API calls, v1/search
and v1/comments
, to achieve the task
Similarly, the following instruction will result in a new page named "Notion MCP" added to parent page "Development" You may also reference content ID directly Development Build
Execute
Publish