Append child blocks to a parent block in Notion
Retrieve information about a specific block in Notion
Retrieve the children of a specific block in Notion
Delete a specific block in Notion
Retrieve information about a specific page in Notion
Update properties of a page in Notion
Create a new page in Notion
Update a block in Notion
Query a database in Notion
Retrieve information about a database in Notion
Update a database in Notion
Create a new database in Notion
Search for pages and databases in Notion
List all users in a Notion workspace
Retrieve information about a specific user in Notion
Retrieve information about the bot user in Notion
Create a comment in Notion
Retrieve comments from a page or block in Notion
The Notion Integration MCP enables large language models to interact directly with Notion workspaces through the Notion API. It provides comprehensive access to Notion's functionality, allowing LLMs to retrieve, create, update, and delete content across pages, databases, and blocks. This integration features an experimental Markdown conversion capability that significantly reduces context size when communicating with LLMs. By transforming Notion's complex JSON structures into readable Markdown, it optimizes token usage and makes interactions more efficient while maintaining the ability to work with the original data structure when needed.
The Notion Integration MCP serves as a bridge between large language models and Notion workspaces, enabling AI assistants to interact with your Notion content. This integration supports a wide range of operations including reading and writing pages, querying databases, managing blocks, and handling comments.
Before setting up the Notion Integration MCP, you'll need:
To install and configure the Notion Integration MCP, follow these steps:
After creating the integration, you'll be provided with an "Internal Integration Token." This is your NOTION_API_TOKEN
that will be used to authenticate the MCP.
For each page or database you want the AI to access:
Add the following configuration to your AI client's configuration file (e.g., claude_desktop_config.json
):
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@suekou/mcp-notion-server"],
"env": {
"NOTION_API_TOKEN": "your-integration-token-here"
}
}
}
}
To reduce token consumption when viewing content, you can enable the experimental Markdown conversion feature:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@suekou/mcp-notion-server"],
"env": {
"NOTION_API_TOKEN": "your-integration-token-here",
"NOTION_MARKDOWN_CONVERSION": "true"
}
}
}
}
With this feature enabled, you can control the format on a per-request basis:
"format": "markdown"
for better readability when only viewing content"format": "json"
when you need to modify the returned contentIf you want to restrict the MCP to only use certain tools (for example, to create a read-only integration), you can specify the enabled tools using the --enabledTools
argument:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": [
"-y",
"@suekou/mcp-notion-server",
"--enabledTools=notion_retrieve_block,notion_retrieve_block_children,notion_retrieve_page,notion_query_database,notion_retrieve_database,notion_search"
],
"env": {
"NOTION_API_TOKEN": "your-integration-token-here"
}
}
}
}
If you encounter issues with the Notion Integration MCP:
Permission Errors: Ensure your integration has the necessary permissions and is invited to all relevant pages/databases.
Authentication Errors: Verify your NOTION_API_TOKEN
is correct and properly configured in your client settings.
Content Not Appearing: Check that the integration has been explicitly added to each page or database you want to access.
Editing Issues with Markdown Conversion: When using Markdown conversion, switch to JSON format ("format": "json"
) when you need to edit content to preserve the original structure.