Skip to main content
Glama

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/annyzhou/notion-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server