MCP.so
Sign In
Servers

Notion_mcp_server

@grainne-b

Overview

What is Notion_mcp_server?

Notion_mcp_server is a Model Context Protocol server that enables AI agents such as Claude to interact with Notion via the Notion API. It requires a Notion integration API key, page-level permissions, and the uv Python package manager. This server is designed for developers who want to give LLMs read/write access to Notion pages.

How to use Notion_mcp_server?

After installing uv (e.g., brew install uv), set up a Notion integration to get an API key, share the target Notion page with that integration, and copy the page ID. Update the PAGE_ID in notion_sdk.py. Run uv run mcp dev server.py to test, or uv run mcp install server.py to register the server with Claude Desktop. The API key must be set as the environment variable NOTION_API_KEY in the Claude configuration.

Key features of Notion_mcp_server

  • Uses the official notion-client Python library.
  • Registers tools via FastMCP’s @mcp.tool() decorator.
  • Authenticates with a Notion integration bearer token.
  • Supports creating pages under a specified parent page.
  • Designed for the MCP transport layer (stdio).
  • Requires the uv package manager to run.

Use cases of Notion_mcp_server

  • Creating new Notion pages from an AI assistant’s output.
  • Automating note-taking or documentation updates via LLM conversations.
  • Allowing an AI agent to read and organize existing Notion content.
  • Integrating Notion as a knowledge store for MCP‑enabled applications.

FAQ from Notion_mcp_server

How do I create a Notion API key?

Go to Notion Integrations, click “New Integration”, fill in the details, and copy the generated API key. Store it securely.

How do I give the integration access to a Notion page?

Open the target page in Notion, click the “Share” button, invite your integration by name, and ensure it has the required read/write permissions.

Where does the API key need to be placed?

The API key must be hardcoded as the NOTION_API_KEY environment variable in the MCP server configuration (e.g., claude_desktop_config.json). The README explicitly notes that “when installing in Claude, the key needs to be hardcoded”.

What dependencies are required?

The server uses the notion-client Python package. The recommended runtime is uv, which can be installed via Homebrew. A Python virtual environment may also be used (example shows .venv activation).

What transport does this server use?

The server runs over stdio (standard input/output), which is the default transport for MCP servers started with uv run mcp. No HTTP or WebSocket transport is mentioned.

More from Memory & Knowledge