Overview
What is Notion MCP Server?
Notion MCP Server is a Model Context Protocol server that connects AI assistants to the Notion API, enabling LLMs to interact with Notion pages and databases through natural language instructions. It is designed for developers using MCP-compatible clients such as Claude Desktop or Cursor.
How to use Notion MCP Server?
Set up a Notion internal integration to obtain a bearer token, then configure the server in your client's mcp.json or claude_desktop_config.json using either npx or Docker. Ensure relevant pages and databases are connected to your integration via the Notion UI before making requests.
Key features of Notion MCP Server
- Searches, reads, and comments on Notion pages
- Creates new pages under specified parent pages
- Retrieves content by page or database ID
- Uses HTTP Bearer token for authentication
- Cannot delete databases via MCP
Use cases of Notion MCP Server
- Add a comment to a specific Notion page
- Create a new page under a given parent page
- Search for pages by name and retrieve their content
- Fetch the content of a page using its direct ID
FAQ from Notion MCP Server
What permissions does the Notion integration need?
The integration can be configured with read-only access by checking only "Read content" in the Notion Integration's Capabilities tab. Security-conscious users may want to restrict permissions to limit risk to workspace data.
What are the runtime requirements?
The server runs via Node.js (using npx) or Docker. For npx, Node.js must be installed. Docker users can pull the official image mcp/notion or build locally with docker-compose build.
Where does my data live?
All data stays within your Notion workspace. The MCP server acts as a bridge between your AI client and the Notion API, but does not store or cache page content externally.
What are the known limitations?
The server intentionally limits the scope of the Notion API — for example, you cannot delete databases via MCP. There is a non-zero risk to workspace data when exposing it to LLMs, so read-only token usage is recommended for security.
How do I configure the transport and authentication?
The server uses the OPENAPI_MCP_HEADERS environment variable to pass an HTTP Authorization header with your Notion bearer token and the required Notion-Version header (set to 2022-06-28). No other transport methods are supported.