notion-mcp
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 IDnotion_list_users- List all users in the workspacenotion_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 IDnotion_get_block_children- Get child blocks of a parentnotion_append_block_children- Append new blocks to a parentnotion_update_block- Update a block's contentnotion_delete_block- Delete (archive) a block
Page Tools
notion_get_page- Get a page's metadata and propertiesnotion_get_page_property- Get a specific property from a pagenotion_create_page- Create a new pagenotion_update_page- Update a page's properties
Comment Tools
notion_get_comments- Retrieve comments from a page or blocknotion_create_comment- Create a comment on a page
Database Tools
notion_query_database- Query a database with filters and sortsnotion_get_database- Get database metadata and schemanotion_update_database- Update database propertiesnotion_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 syncConfiguration
Copy .env.example to .env and configure:
cp .env.example .envOAuth 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.pyThe 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 workspaceDevelopment
Running Tests
uv run pytestLinting
uv run ruff check src/
uv run ruff format src/License
MIT License - see LICENSE for details.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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