Skip to main content
Glama

mcp-notion

An MCP server exposing eight narrow Notion tools. Reads pages and databases, writes additively. Nothing is deleted, archived, or overwritten.

Setup

  1. Create an internal integration at https://www.notion.com/my-integrations and copy its token.

  2. cp .env.example .env and set NOTION_API_KEY.

  3. Share each page or database with the integration. In Notion, open it, then ••• > Connections > your integration. Without this, every call returns a 404 — the token alone grants no access.

  4. Install: python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"

Optional aliases, so a database can be named rather than pasted:

NOTION_ALIAS_TASKS=https://www.notion.so/workspace/0123456789abcdef0123456789abcdef

list_databases reports configured aliases.

Related MCP server: Notion MCP Server

Registering with Claude Code

claude mcp add notion -- /absolute/path/to/mcp-notion/.venv/bin/mcp-notion

Refs

Every tool takes a ref, resolved in this order: configured alias, notion.so URL, page or database id, exact title. An ambiguous title is an error listing candidate URLs — the server never guesses.

Tools

Tool

Purpose

list_databases

Databases visible to the integration, with aliases

get_database_schema

Property names, types, and select options

query_database

Rows, filtered and sorted by property name

get_page

Page properties plus the body as markdown

search

Title search across shared pages and databases

create_page

New database row or subpage, with an optional markdown body

append_to_page

Append markdown to the end of a page

update_row

Set properties on a database row

Markdown subset

Both directions: headings 1-3, paragraphs, bulleted and numbered lists, to-dos, fenced code, quotes, dividers. Reading an unsupported block yields <!-- unsupported: TYPE -->. Writing an unsupported construct — tables, images, raw HTML — fails the whole call, naming the construct and the line.

Inline markup is one-way. Bold, italic, code, and links are rendered as markdown when reading, but written back as literal characters: appending **bold** writes those eight characters, not bold text. A half-correct inline parser would silently corrupt text, which is worse than a visible asterisk.

Tests

.venv/bin/pytest

No network, no API key required.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that enables natural language interaction with the Notion API, allowing users to search, comment, create pages, and access content within their Notion workspace.
    135,702
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for the Notion API, enabling management of pages, blocks, databases, data sources, comments, and users through natural language.
    6
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Comprehensive MCP server for the Notion API. Provides 22 tools for full CRUD operations on pages, databases, blocks, users, and comments.
    12
    MIT

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/pius-grainger/mcp-notion'

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