Notion
БесплатноНе проверенMCP server for common Notion page workflows: search pages, inspect content, create structured pages, append rich blocks, and start documents from reusable templ
Описание
MCP server for common Notion page workflows: search pages, inspect content, create structured pages, append rich blocks, and start documents from reusable templates.
README
Status: beta
MCP server + human CLI for common Notion page workflows: search pages, inspect content, create structured pages, append rich blocks, and start documents from reusable templates.
Requirements
- Node.js 18+
- A Notion token with access to the target pages
- A Notion page shared with the integration when you want to create or update content
Install
From npm after publishing:
npm install -g @mcp/notion
From source:
git clone https://github.com/ftaricano/mcp-notion.git
cd mcp-notion
npm install
npm run build
Configure Notion Auth
Create a local environment file:
cp .env.example .env
Set NOTION_TOKEN in .env or in your MCP client environment. Do not commit .env.
Internal Integration Token
- Open https://www.notion.so/my-integrations.
- Create an internal integration.
- Copy the integration secret into
NOTION_TOKEN. - Share the target Notion pages with that integration.
OAuth Token
Notion OAuth apps can also provide an access token. This package does not run the OAuth browser authorization flow; pass the OAuth access token as NOTION_TOKEN after your OAuth app obtains it.
Use the smallest workspace/page access needed. If a token leaks, revoke or rotate it in Notion and remove it from local env files, shell profiles, CI secrets, and MCP client configs.
Quickstart
Check local config without calling Notion:
notion --env-file .env auth status
Test the token against Notion:
notion --env-file .env --timeout 10s auth test
List available MCP tools:
notion list
Search pages:
notion --env-file .env search_pages --query "Release notes" --page_size=5
Create a page under a parent page:
notion --env-file .env create_page \
--parent_page_id=11111111-1111-1111-1111-111111111111 \
--title="Weekly Notes" \
--content="Draft agenda"
Create a formatted page from JSON:
notion --env-file .env create_rich_page --json '{
"parent_page_id": "11111111-1111-1111-1111-111111111111",
"title": "Project Overview",
"blocks": [
{ "type": "heading_1", "content": "Overview" },
{ "type": "paragraph", "content": "Current scope and next steps." },
{ "type": "to_do", "content": "Confirm milestones", "checked": false }
]
}'
MCP Client Setup
Use the built server entrypoint with any stdio MCP client:
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["/absolute/path/to/mcp-notion/dist/index.js"],
"env": {
"NOTION_TOKEN": "your-token-from-a-secret-store",
"VALIDATE_TOKEN": "true",
"MAX_REQUESTS_PER_MINUTE": "60"
}
}
}
}
For local source checkouts, build before connecting:
npm run build
node dist/index.js
For installed npm packages, point your client at the mcp-notion binary when your runtime can resolve global npm bins.
CLI Reference
notion list
notion schema <tool>
notion auth status
notion auth test
notion <tool> --key=value [--other=value]
notion <tool> --json '{"key":"value"}'
Global options:
--env-file <path>loads environment variables before running.--timeout <value>accepts values such as5000or10s.--compactprints JSON output on one line where supported.
Available MCP Tools
Core page operations:
search_pagesget_pageget_page_contentcreate_pageupdate_page
Rich content and templates:
create_rich_pagecreate_page_from_templateadd_content_blocks(appendonly)list_templatescreate_root_page
create_root_page requires NOTION_ROOT_PARENT_PAGE_ID or MCP_NOTION_ROOT_PARENT_PAGE_ID.
Runtime Guardrails
Environment variables:
NOTION_TOKEN- required for live Notion calls.VALIDATE_TOKEN=false- skips startup token validation for offline/local smoke tests.MAX_REQUESTS_PER_MINUTE=60- controls in-process request throttling.ENABLE_AUDIT_LOG=false- disables local operation audit logging.ALLOWED_PAGE_IDS=id1,id2- restricts operations to an allowlist.BLOCKED_PAGE_IDS=id3,id4- denies specific pages.NOTION_ROOT_PARENT_PAGE_ID=<page-id>- enablescreate_root_page.MCP_NOTION_ROOT_PARENT_PAGE_ID=<page-id>- compatibility alias for the same root parent.
Notion page IDs may use UUIDs with or without hyphens.
Templates
meeting_notesproject_plandocumentationarticleweekly_reportbug_report
Development
npm install
npm run build
npm run lint
npm run type-check
npm test
npm run pack:dry-run
npm run test:unit runs fast unit coverage. npm run test:integration verifies package metadata, security docs, and the npm pack file list.
Security
See SECURITY.md. The short version:
- keep real tokens out of git,
- use Notion workspace/page permissions to limit access,
- use
ALLOWED_PAGE_IDSandBLOCKED_PAGE_IDSfor runtime blast-radius control, - report vulnerabilities through GitHub Security Advisories.
MCP Hub Usage
If you use this server behind MCP Hub, see CLAUDE.md for hub-specific calling patterns and Portuguese examples.
License
Установка Notion
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ftaricano/mcp-notionFAQ
Notion MCP бесплатный?
Да, Notion MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Notion?
Нет, Notion работает без API-ключей и переменных окружения.
Notion — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Notion в Claude Desktop, Claude Code или Cursor?
Открой Notion на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Notion
Read and write pages in your workspace
автор: NotionLinear
Issues, cycles, triage — from Claude
автор: LinearGoogle Drive
Search and read your Drive files
автор: Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
автор: mindsdbCompare Notion with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории productivity
