Skip to main content
Glama

Better Notion MCP

Markdown-First MCP Server for Notion - Optimized for AI Agents

CI codecov npm Docker License: MIT

TypeScript Node.js Notion semantic-release Renovate

Why "Better"?

9 composite tools that consolidate Notion's 28+ REST API endpoints into action-based operations optimized for AI agents.

vs. Official Notion MCP Server

Feature

Better Notion MCP

Official Notion MCP

Content Format

Markdown (human-readable)

Raw JSON blocks

Operations

Composite actions (1 call)

Atomic (2+ calls)

Pagination

Auto-pagination

Manual cursor

Bulk Operations

Native batch support

Loop manually

Tools

9 tools (39 actions)

28+ endpoint tools

Token Efficiency

Optimized

Standard


Related MCP server: Mnemo - Persistent AI Memory

Quick Start

Remote Mode (OAuth) -- No token needed

Connect directly via URL with OAuth authentication. Your MCP client handles the OAuth flow automatically — just authorize with your Notion account when prompted.

{
  "mcpServers": {
    "better-notion": {
      "type": "http",
      "url": "https://better-notion-mcp.n24q02m.com/mcp"
    }
  }
}

Supported by Claude Desktop, Claude Code, Cursor, VS Code Copilot, and other clients with OAuth support.

Local Mode (Token)

Get your token: https://www.notion.so/my-integrations -> Create integration -> Copy token -> Share pages

{
  "mcpServers": {
    "better-notion": {
      "command": "bun",
      "args": ["x", "@n24q02m/better-notion-mcp@latest"],
      "env": {
        "NOTION_TOKEN": "ntn_..."                  // required: Notion integration token
      }
    }
  }
}

Alternatively, you can use npx, pnpm dlx, or yarn dlx:

Runner

command

args

npx

npx

["-y", "@n24q02m/better-notion-mcp@latest"]

pnpm

pnpm

["dlx", "@n24q02m/better-notion-mcp@latest"]

yarn

yarn

["dlx", "@n24q02m/better-notion-mcp@latest"]

Option 2: Docker

{
  "mcpServers": {
    "better-notion": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "--name", "mcp-notion",
        "-e", "NOTION_TOKEN",                      // required: pass-through from env below
        "n24q02m/better-notion-mcp:latest"
      ],
      "env": {
        "NOTION_TOKEN": "ntn_..."                  // required: Notion integration token
      }
    }
  }
}

Self-Hosting (Remote Mode)

You can self-host the remote server with your own Notion OAuth app.

Prerequisites:

  1. Create a Public Integration at https://www.notion.so/my-integrations

  2. Set the redirect URI to https://your-domain.com/callback

  3. Note your client_id and client_secret

docker run -p 8080:8080 \
  -e TRANSPORT_MODE=http \
  -e PUBLIC_URL=https://your-domain.com \
  -e NOTION_OAUTH_CLIENT_ID=your-client-id \
  -e NOTION_OAUTH_CLIENT_SECRET=your-client-secret \
  -e DCR_SERVER_SECRET=$(openssl rand -hex 32) \
  n24q02m/better-notion-mcp:latest

Variable

Description

TRANSPORT_MODE

Set to http for remote mode (default: stdio)

PUBLIC_URL

Your server's public URL (used for OAuth redirects)

NOTION_OAUTH_CLIENT_ID

Notion Public Integration client ID

NOTION_OAUTH_CLIENT_SECRET

Notion Public Integration client secret

DCR_SERVER_SECRET

HMAC secret for stateless client registration

PORT

Server port (default: 8080)


Tools

Tool

Actions

pages

create, get, get_property, update, move, archive, restore, duplicate

databases

create, get, query, create_page, update_page, delete_page, create_data_source, update_data_source, update_database, list_templates

blocks

get, children, append, update, delete

users

list, get, me, from_workspace

workspace

info, search

comments

list, get, create

content_convert

markdown-to-blocks, blocks-to-markdown

file_uploads

create, send, complete, retrieve, list

help

Get full documentation for any tool


Token Optimization

~77% token reduction via tiered descriptions:

Tier

Purpose

When

Tier 1

Compressed descriptions

Always loaded

Tier 2

Full docs via help tool

On-demand

Tier 3

MCP Resources

Supported clients

{"name": "help", "tool_name": "pages"}

MCP Resources (Tier 3)

Clients that support MCP Resources can load full tool documentation:

URI

Description

notion://docs/pages

Pages tool docs

notion://docs/databases

Databases tool docs

notion://docs/blocks

Blocks tool docs

notion://docs/users

Users tool docs

notion://docs/workspace

Workspace tool docs

notion://docs/comments

Comments tool docs

notion://docs/content_convert

Content Convert tool docs

notion://docs/file_uploads

File Uploads tool docs


Build from Source

git clone https://github.com/n24q02m/better-notion-mcp
cd better-notion-mcp
mise run setup
bun run build

Requirements: Node.js 24+, bun

Compatible With

Claude Desktop Claude Code Cursor VS Code Copilot Antigravity Gemini CLI OpenAI Codex OpenCode

Also by n24q02m

Server

Description

Install

wet-mcp

Web search, content extraction, library docs

uvx --python 3.13 wet-mcp@latest

mnemo-mcp

Persistent AI memory with hybrid search

uvx mnemo-mcp@latest

better-email-mcp

Email (IMAP/SMTP) for AI agents

npx -y @n24q02m/better-email-mcp@latest

better-godot-mcp

Godot Engine for AI agents

npx -y @n24q02m/better-godot-mcp@latest

Contributing

See CONTRIBUTING.md

License

MIT - See LICENSE

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
7hResponse time
1dRelease cycle
155Releases (12mo)
Issues opened vs closed

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/n24q02m/better-notion-mcp'

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