Notion MCP Server
Provides CRUD operations for Notion API access, enabling management of Notion workspaces, databases, and pages through OpenAPI tools.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Notion MCP Servercreate a new page in my Projects database with title 'Q4 Planning'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Notion MCP Server
Connect Claude Desktop (and other MCP clients) directly to Notion using a real MCP server with SSE support.
No flaky local scripts. No tokens in URLs. Run it securely in the cloud.
🚀 Quick Start (Recommended)
The easiest way to run this securely 24/7 is on Apify.
Connect your MCP client
Base URL (Apify Container URL):
https://<run-id>.runs.apify.netSSE endpoint:
GET /sseClient-to-server messages:
POST /message?sessionId=...
Authentication is done via:
Authorization header:
Authorization: Bearer <SECRET_TOKEN>
Related MCP server: Notion MCP Server
✨ Features
MCP Protocol with SSE
Secure Bearer Authentication
Notion API access (CRUD via OpenAPI tools)
Rate-limiting & basic DDoS protection (
express-rate-limit)Security headers (
helmet)
💻 Local Development (For Geeks)
Install
npm installBuild
npm run buildRun
npm startDocker (optional)
If you use Docker locally:
docker build -t notion-mcp-server .
docker run -p 8080:8080 --env-file .env notion-mcp-server⚙️ Configuration
This project is designed to read configuration from environment variables (and Apify Actor input).
Required ENV variables
NOTION_TOKENYour Notion integration token.
SECRET_TOKENBearer token required to access
/sseand/message.
Optional (advanced):
NOTION_API_VERSION(default:2022-06-28)OPENAPI_MCP_HEADERS(JSON string of headers; overridesNOTION_TOKENwhen present)BASE_URL(override OpenAPI server base URL)
Claude Desktop configuration
Add (or merge) something like this into claude_desktop_config.json:
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/dist/start-apify.js"],
"env": {
"NOTION_TOKEN": "YOUR_NOTION_TOKEN",
"SECRET_TOKEN": "YOUR_SECRET_TOKEN"
}
}
}
}On Apify, you typically configure secrets via Actor input / secrets and use the Container URL as the server endpoint.
Security Notes
Never commit
.envfiles or Apifystorage/directories.Use a strong
SECRET_TOKENand rotate it if it leaks.
Contributing
PRs are welcome!
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP Server for the Notion API, enabling Claude to interact with Notion workspaces.31801 npm920MIT
- AlicenseNot gradedqualityDmaintenanceA simple server that integrates with Claude to allow querying and manipulating Notion pages and databases through natural language prompts.1,642 npmMIT
- AlicenseNot gradedqualityDmaintenanceA server that connects to the Notion API and exposes functionality through Claude's Machine Context Protocol, enabling search, retrieval, querying, and creation of Notion pages and databases.1,642 npmMIT
- FlicenseNot gradedqualityBmaintenanceRemote MCP server that exposes Notion as tools (search, get, create pages, append blocks, query databases) via Streamable HTTP with bearer auth, designed for deployment on Railway.-