Notion's open-source Notion MCP Server turns the company's popular productivity platform into a first-class tool provider for AI agents. It implements the Model Context Protocol (MCP), a common language that lets clients like Cursor and Claude call tools through natural-language planning instead of bespoke REST integrations.
In practice, that means you can ask an AI assistant to create a project page, update a status, or search your workspace; behind the scenes, the MCP server translates those requests to Notion API calls safely and consistently.
The repository is practical, approachable, and production-minded: it provides both the standard STDIO transport used by desktop MCP clients and a streamable HTTP transport with bearer-token auth for web or server environments.
It also ships as an npm package and a Docker image, so you can run it however you prefer. For background on where this fits in Notion's broader agent strategy, the company's inside look at its hosted MCP server is a helpful overview (Sinder, 2025).
Key Takeaways
- MCP provides a tool-centric interface that’s easier for agents to use than bespoke REST integrations (Model Context Protocol, 2024).
- The open-source Notion MCP Server maps MCP tool calls to the public Notion API, with STDIO and streamable HTTP transports documented in the README.
- Secure, flexible setup: use NOTION_TOKEN or OPENAPI_MCP_HEADERS locally; for HTTP, use a bearer token with
--auth-token
orAUTH_TOKEN
.- Schema-first approach: OpenAPI plus Zod validation via the MCP TypeScript SDK
- Hosted Notion MCP adds OAuth and AI-optimized tools like Notion-flavored Markdown for lower token overhead (Sinder, 2025).
The Problem and the Solution
Traditional REST integrations can make LLM workflows brittle. Agents must learn endpoint paths, parameters, pagination, and idiosyncrasies of each provider, and they often waste tokens wrangling hierarchical JSON. MCP offers a uniform, tool-centric interface that tells the model what tools exist, when to use them, and what inputs they need.
Notion's open-source server maps those MCP tool calls 1:1 to the public Notion API, turning natural-language intents into real actions in your workspace. It lowers the integration barrier without compromising on auth, transport, or observability. For a primer on MCP itself, see the official introduction.
Why I Like It
This project is refreshingly pragmatic. It does not reinvent the Notion API; it wraps it cleanly, validates inputs with Zod via the MCP TypeScript SDK, and provides multiple ways to run it. The streamable HTTP transport includes a bearer-token flow with clear curl examples, and the README balances quick start guidance with deeper configuration details.
Key Features
Here is what stands out once you look under the hood and try it in a real workflow:
- Two transports, one interface: STDIO for Claude/Cursor, and streamable HTTP with bearer auth for web/server use, both exposing the same MCP surface.
- Frictionless install: run via
npx
, Docker Hub (mcp/notion
), or build locally with the provided Dockerfile.- Secure by design: token-based auth for HTTP; environment variables like
NOTION_TOKEN
orOPENAPI_MCP_HEADERS
for Notion API access.- Schema-first tooling: OpenAPI-driven client generation (scripts/notion-openapi.json) plus Zod validation via the MCP SDK (Model Context Protocol, 2025).
- Developer ergonomics: clear examples in the README, and a simple package.json script set (
build
,dev
) you can adopt quickly.
Under the Hood
The project is written in TypeScript and published as @notionhq/notion-mcp-server
. The package.json highlights the stack: @modelcontextprotocol/sdk
for server scaffolding and Zod schemas, openapi-client-axios
and openapi-schema-validator
for spec-driven HTTP calls, express
to host the optional HTTP transport, and yargs
for a friendly CLI. Build tooling relies on tsc
and a small CLI bundler script (scripts/build-cli.js), with entry points wired in bin/cli.mjs
.
On the Notion side, you connect an internal integration and scope it carefully - read-only is supported and recommended for cautious users. The server reads NOTION_TOKEN
from the environment (or a pre-baked OPENAPI_MCP_HEADERS
) and forwards MCP tool calls to Notion's public API. The OpenAPI spec anchors this mapping and keeps things consistent over time.
If you need to run it over HTTP, the README documents a straightforward bearer-token scheme: pass --auth-token
on the CLI or set AUTH_TOKEN
in the environment. Requests go to /mcp
and carry Authorization: Bearer ...
and mcp-session-id
headers. That is enough to integrate with browser-based clients and gateways without sacrificing the MCP model.
Use Cases
The simplest win is automation from an agent chat window: "Add a page titled 'Notion MCP' under 'Development'," or "Comment 'Hello MCP' on 'Getting started'." The server will search for the target, resolve IDs, and call the right endpoints. Beyond that, teams can orchestrate content intake, convert customer tickets or research summaries into Notion pages, or keep project boards in sync with code activity from a coding agent that updates statuses after merges.
For organizations exploring hosted agent platforms, the HTTP transport unlocks a service-style deployment behind your perimeter. It is a handy way to let many internal tools talk to Notion through a stable, MCP-compliant gateway, while centralizing auth and observability.
Community and Contribution
This repository has active traction, with dozens of contributors and ongoing issues and PRs. You can browse open items on Issues and see the people behind it on Contributors. While there is not a dedicated CONTRIBUTING.md, the codebase follows familiar TypeScript conventions and a lightweight script setup, so sending a focused PR is straightforward.
Usage and License Terms
The project is released under the MIT License (see LICENSE). In short: you can use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software, provided you include the copyright and permission notice. There is no warranty; use at your own risk.
Impact and What’s Next
Notion's open-source server showed how MCP translates natural-language workflows into concrete actions inside a complex product. That early experiment informed the company's next step: a hosted MCP service with OAuth, AI-optimized tools (including Notion-flavored Markdown), and less token overhead for common tasks. The two approaches can coexist: the open-source server is ideal for self-hosters and tinkerers; the hosted version is suited when you want the shortest path to value.
More broadly, MCP complements, not replaces, existing API practices. You will still see OpenAPI, schema validation, and code generation in mature MCP servers; Notion's codebase is a case in point. For a thoughtful perspective on why MCP is resonating with builders, see this analysis (Swyx, 2025) and the MCP TypeScript SDK quick start (Model Context Protocol, 2025).
About Notion
Notion builds a connected workspace used by individuals and teams to write, plan, and organize work. Its developer platform exposes a robust API, and the company is investing in agent-first patterns that let AI work alongside people across docs, projects, and databases. Learn more at the product page and the developer docs for MCP (Notion, 2025).
Try It: One-File Setup
To get hands-on quickly with a local client like Claude or Cursor, drop this block into your MCP config and add your Notion integration token (scoped as narrowly as you need):
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "ntn_****"
}
}
}
}
Conclusion
If you have been looking for a clean, low-friction bridge between AI agents and your Notion workspace, this repository delivers. It is standards-based, well-documented, and flexible enough to run on a laptop or inside your infrastructure. Explore the code, try the transports, and consider where MCP fits in your agent stack, then decide whether the open-source server or Notion's hosted MCP is the right fit for your team's stage and appetite.
Notion MCP Server: A Practical Bridge Between AI Agents and Your Workspace