Labsco
MCP SERVER

Notion MCP Server

by SAhmadUmass

Notion from an assistant: search the workspace, read and write pages, create databases, query them with filters and sorting, and add or update rows.

Team Wikis & Documentation Platforms
Summary
Property structures are passed through, not simplified.

Row writes take the Notion API's actual property shapes, which means a select value, a date range or rich text lands correctly instead of arriving as a flattened string. The cost is that the caller has to match the property type — the README says so and shows the structures. The permission model is the other thing to get right on day one: an integration only sees pages that have been explicitly shared with it, so "no results" usually means access, not absence.

What it is

An MCP server for a Notion workspace covering both pages and databases. Beyond reading, it creates databases with custom property schemas and manipulates rows using the Notion API's own property structures, so select options, dates and rich text behave as Notion expects.

What you get
  • Search across the entire workspace, and retrieval of a specific page's content by id
  • Page creation and updates, including changing the title as well as adding content
  • Database creation with a custom property schema — title, select with coloured options, date and the rest
  • Database queries with filters and sorting, expressed in the Notion API's own filter and sort structures
  • Row-level writes: add a new row with its properties, or update the properties of an existing entry — `create-database-row`, `update-database-entry`
Requirements

A Notion integration and its API key, created in the Notion Developers portal — and the integration must be granted access to the pages you want it to touch, which is the step people miss. The key can go in a `.env` file or be passed on the command line as `--notion-api-key`; the README recommends the latter. Node.js: `npm install`, `npm run build`, then point the client at `dist/index.js`. The package is `notion-mcp-server` (1.0.0 in package.json).

Setup effort

One command plus a key — npx -y notion-mcp-server, then supply credentials