MCP Hub
Back to servers

notion-mcp

A robust MCP server that provides comprehensive tools for interacting with the Notion API, enabling full management of pages, databases, blocks, and comments via OAuth2.

Tools
19
Updated
Jan 21, 2026

notion-mcp

A Notion MCP server using OAuth2 bearer token auth via the Dedalus framework.

Features

This MCP server provides tools to interact with the Notion API:

User Tools

  • notion_get_user - Retrieve a specific user by ID
  • notion_list_users - List all users in the workspace
  • notion_get_self - Get the authenticated bot user's information

Search Tools

  • notion_search - Search pages and databases by title

Block Tools

  • notion_get_block - Retrieve a block by ID
  • notion_get_block_children - Get child blocks of a parent
  • notion_append_block_children - Append new blocks to a parent
  • notion_update_block - Update a block's content
  • notion_delete_block - Delete (archive) a block

Page Tools

  • notion_get_page - Get a page's metadata and properties
  • notion_get_page_property - Get a specific property from a page
  • notion_create_page - Create a new page
  • notion_update_page - Update a page's properties

Comment Tools

  • notion_get_comments - Retrieve comments from a page or block
  • notion_create_comment - Create a comment on a page

Database Tools

  • notion_query_database - Query a database with filters and sorts
  • notion_get_database - Get database metadata and schema
  • notion_update_database - Update database properties
  • notion_create_database - Create a new database

Installation

# Clone the repository
git clone https://github.com/dedalus-labs/notion-mcp.git
cd notion-mcp

# Install dependencies with uv
uv sync

Configuration

Copy .env.example to .env and configure:

cp .env.example .env

OAuth Configuration

The Notion API requires OAuth2 authentication. The access token is provided at runtime via Dedalus credential exchange.

Required OAuth scopes depend on your use case:

  • Read content: Basic integration capabilities
  • Insert content: Create pages and blocks
  • Update content: Modify existing content
  • Read user information (without email): List users

Usage

Running Locally

cd notion-mcp
uv sync
uv run python src/main.py

The server will start on port 8080.

With Dedalus Platform

In your chat, reference the server with @notion-mcp followed by your instructions:

@notion-mcp Search for all pages containing "meeting notes"
@notion-mcp Create a new page titled "Project Plan" in my workspace

Development

Running Tests

uv run pytest

Linting

uv run ruff check src/
uv run ruff format src/

License

MIT License - see LICENSE for details.

Reviews

No reviews yet

Sign in to write a review