Notion MCP Server
Notion's MCP server for searching, reading and editing a workspace; Notion now recommends its hosted version.
Sources and review
Checked against public documentation on . Suitability guidance is our editorial judgment; this is not a performance benchmark or an endorsement.
Letting an assistant search, read and update Notion pages; choose the hosted Remote Notion MCP for new setups.
You want the self-hosted server in this repository; Notion no longer maintains or supports it.
About Notion MCP Server
Notion publishes this open-source, self-hosted MCP server, which exposes the Notion API to AI assistants and, since version 2.0, returns page content as Markdown. Notion's README now marks it as no longer actively maintained and directs users to Remote Notion MCP, its hosted server, which uses OAuth, respects each user's permissions and searches connected apps.
Notion MCP Server is listed in this index written primarily in TypeScript, with 4.7k stars on GitHub. Its latest recorded repository push was in October 2026; that is not an ASE editorial review date.
Before connecting: access and data
This record's specific permissions have not been reviewed by ASE. Read the publisher's documentation before copying setup or connecting.
- List the accounts, files and services the enabled tools can read, change or execute. Check your actual credentials and discovered tools.
- Use narrowly scoped credentials and read-only mode where supported. Review proposed writes before approving them; a generated configuration does not apply these limits for you.
- Local launch is not local-only data processing. External services receive requests, and your client may pass tool results to its model provider. Check both destinations before sharing private data.
- Keep keys and browser session files out of shared config, repositories and screenshots. Know how to disconnect the server and separately revoke its credentials or account sessions.
Add Notion MCP Server to your MCP client
Generated from the launch command in the project's README. Your client starts the server on demand. Replace <your-integration-token> with your own value first.
Claude Code
claude mcp add notion-mcp-server -e 'NOTION_TOKEN=<your-integration-token>' -- npx -y @notionhq/notion-mcp-serverCursor
{
"mcpServers": {
"notion-mcp-server": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "<your-integration-token>"
}
}
}
}VS Code
{
"servers": {
"notion-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "<your-integration-token>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"notion-mcp-server": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "<your-integration-token>"
}
}
}
}Codex
[mcp_servers.notion-mcp-server]
command = "npx"
args = ["-y", "@notionhq/notion-mcp-server"]
env = { NOTION_TOKEN = "<your-integration-token>" }