MCP Server for Notion
This tool provides the Notion API as an MCP (Model Context Protocol) server. It enables AI agents to search, view, create, and update Notion pages, as well as operate on databases.
Features
Page & Database Operations
Supports major operations such as search, retrieval, creation, updates, and appending blocks.
File-based Operations
Drastically reduces LLM token usage by saving/loading page content (JSON) to/from files.
Response Extraction (extract)
Optimizes context size by extracting only the necessary properties from the API response.
Quick Start
Local Development Environment
-
Install:
git clone https://github.com/acckkiie/mcp-notion cd mcp-notion npm install -
Configure: Copy
.env.exampleto create.envand set your Notion API key.cp .env.example .env # Edit .env: NOTION_API_KEY=secret_... -
Run:
npm run dev
Image Build
npm run build
docker build -t mcp-notion:latest .
MCP Client Configuration
Via Docker (Recommended)
Using Docker reduces environment dependencies and enables security control via proxy.
{
"mcpServers": {
"mcp-notion": {
"disabled": false,
"command": "bash",
"args": [
"-c",
"docker compose -f /path/to/mcp-notion/docker-compose.yml down 2>/dev/null; docker compose --env-file /path/to/mcp-notion/.env -f /path/to/mcp-notion/docker-compose.yml run --rm -i mcp-notion"
],
"env": {
"HOST_WORKSPACE_PATH": "/path/to/your/workspace"
}
}
}
}
Local Execution
{
"mcpServers": {
"notion": {
"command": "node",
"args": [
"/path/to/mcp-notion/build/index.js"
],
"env": {
"NOTION_API_KEY": "secret_...",
"HOST_WORKSPACE_PATH": "/path/to/your/workspace"
}
}
}
}