MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Markdown-First MCP Server for Notion - Composite Actions, Auto-Pagination, Bulk Operations optimized for AI Agents

Created 12/6/2025
Updated 7 days ago
Repository documentation and setup instructions

Better Notion MCP

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

GitHub stars License: MIT npm version Docker

Why "Better"?

7 mega action-based tools that consolidate Notion's 28+ REST API endpoints into composite 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 (verbose) | | Operations | Composite actions (create page + content + properties in 1 call) | Atomic operations (2+ separate calls required) | | Pagination | Auto-pagination (transparent) | Manual cursor management | | Bulk Operations | Native batch support (create/update/delete multiple items at once) | Loop through items manually | | Tool Architecture | 7 mega action-based tools (30+ actions) | 28+ individual endpoint tools | | Database Query | Smart search (auto-detect best match) | Manual filters + sorts required | | Token Efficiency | Optimized for AI context | Standard API responses | | Setup | Simple (NOTION_TOKEN only) | OAuth flow or token |


Installation

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

Quick Start

NPX (Recommended)

{
  "mcpServers": {
    "better-notion": {
      "command": "npx",
      "args": ["-y", "@n24q02m/better-notion-mcp@latest"],
      "env": {
        "NOTION_TOKEN": "your_token_here"
      }
    }
  }
}

Docker

{
  "mcpServers": {
    "better-notion": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "NOTION_TOKEN", "n24q02m/better-notion-mcp:latest"],
      "env": {
        "NOTION_TOKEN": "your_token_here"
      }
    }
  }
}

Tools Overview

7 mega tools with 30+ actions:

  • Composite Actions: Combine operations (e.g., create page + content + properties in 1 call)
  • Auto-Pagination: Transparent handling of large datasets
  • Bulk Operations: Process multiple items efficiently
  • Smart Search: Auto-detect best matches in database queries

Limitations

Supported Block Types (Markdown Conversion):

  • ✅ Headings (H1-H3), Paragraphs, Lists (bulleted/numbered)
  • ✅ Code blocks, Quotes, Dividers
  • ✅ Inline formatting (bold, italic, code, strikethrough, links)

Unsupported Block Types:

  • ❌ Tables, Toggles, Callouts, Columns
  • ❌ Databases, Embeds, Images, Files
  • ❌ Synced blocks, Templates

Build from Source

This project uses mise for tool version management. If you don't have mise installed, see mise.jdx.dev.

git clone https://github.com/n24q02m/better-notion-mcp
cd better-notion-mcp

mise trust
mise install

pnpm install
pnpm build

uv venv
uv pip install pre-commit
uv run pre-commit install
uv run pre-commit run --all-file

Prerequisites: mise or Node.js 22+ and pnpm.

Available Commands

pnpm dev                    # Run development server with auto-reload
pnpm build                  # Build the project
pnpm test                   # Run tests
pnpm test:watch             # Run tests in watch mode
pnpm test:coverage          # Run tests with coverage report
pnpm check                  # Check formatting, linting & types (Biome + TypeScript)
pnpm check:fix              # Auto-fix formatting and linting issues

Contributing

Contributions welcome! See CONTRIBUTING.md for:

  • Development workflow (verified via CI)
  • Commit convention (enforced via git hooks)
  • Testing and code quality standards

License

MIT License - See LICENSE


Star this repo if you find it useful! ⭐

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-better-notion-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "n24q02m-better-notion-mcp": { "command": "npx", "args": [ "n24q02m-better-notion-mcp" ] } } }