Find, read, inspect, then write is the sequence the tools are built around, and it is the one that avoids guessing at property JSON. The allowlist argument is worth knowing about: it is how you hand an agent a Notion workspace it can read and not touch.
A Notion client built for agents rather than for API completeness. Simplified tools cover the common path — find a target, read a page, inspect a data source, query it and write back — while the raw API tools stay available underneath for shapes the simple ones do not cover. It targets the current Notion API version and its database and data source model.
- One search tool for locating a page or a data source, so the workflow starts with finding rather than guessing an ID
- A page read compactly with stable block IDs, which is what makes a follow-up edit land on the right block
- A data source's schema inspected before it is queried or written to, and queried either by raw filter or by plain field values
- Items created from simple values rather than hand-built property JSON
- Page editing that speaks the document's own vocabulary — paragraphs, headings, lists, todos, quotes, callouts, code blocks and dividers — plus a safe Markdown append and batched content updates
- The raw Notion API underneath for blocks, pages, databases, data sources, comments and users, when the simplified tools do not reach
- Responses tunable per call: JSON when an exact API shape matters, Markdown when a person is reading, and compact or full list modes
- Two optional interactive apps — a data source explorer and a page workbench — for hosts that render MCP Apps
Node.js 22 or newer, run over stdio from npm as @suekou/mcp-notion-server, with NOTION_API_TOKEN set to an internal integration token. Access in Notion is explicit twice over: the integration is granted only the capabilities you tick — read, insert, update, comments, user information — and it can only see the pages and databases you have connected it to, children included. The token is sent as a bearer header against a pinned API version. Markdown conversion of API objects is experimental and off unless NOTION_MARKDOWN_CONVERSION is set. An --enabledTools allowlist restricts which tools are registered at all, which is how you make the server read-only.
One command plus a key — npx -y @suekou/mcp-notion-server, then supply credentials
