notion-mcp-wrapper
Provides tools for interacting with Notion's API, enabling AI agents to manage pages, databases, and blocks in Notion workspaces, with support for health monitoring, automatic reconnection, and fallback to direct REST API.
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-wrappermove page abc123 to parent xyz789"
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.
OpenClaw Notion MCP Wrapper
Production-ready Notion MCP Server wrapper with health monitoring, automatic reconnection, and transparent fallback to direct REST API. Built for OpenClaw agents operating in headless / cloud environments.
Companion skill: openclaw-notion-md-converter — Markdown → Notion blocks conversion.
AI Agent Quick Reference
# Skill identity (SKILL.md frontmatter)
name: notion-mcp-wrapper
version: "2.0.1"
triggers:
- "notion"
- "mcp"
- "notion-mcp-wrapper"
- "move page"
- "notion health"
# Runtime requirements
requires:
bins: [node, npm]
env: [NOTION_TOKEN] # or NOTION_API_KEY
# Install
run: cd ~/.openclaw/skills/notion-mcp-wrapper && npm installWhen to invoke:
Check Notion MCP connectivity / health status
Execute Notion operations (movePage, createPage, updatePage, deletePage) via MCP
Auto-reconnect after MCP server crash or timeout
Fall back to direct Notion REST API when MCP is unavailable
When NOT to invoke:
Simple Notion reads that work directly via MCP tools
Non-Notion operations
Related MCP server: notion-private-api-mcp
Features
Feature | Description |
Health Monitoring | Continuous MCP ping; reports |
Auto Reconnect | Exponential backoff retry — configurable |
Seamless Fallback | Auto-switches to Notion REST API when MCP fails; transparent to callers |
Operation Support | movePage, getPage, updatePage, createPage, deletePage (with fallback) |
Full Test Suite | Unit + integration tests via Jest |
Installation
git clone https://github.com/Charpup/openclaw-notion-mcp-wrapper.git \
~/.openclaw/skills/notion-mcp-wrapper
cd ~/.openclaw/skills/notion-mcp-wrapper
npm installEnvironment:
export NOTION_TOKEN="ntn_YOUR_INTERNAL_INTEGRATION_TOKEN"
# Alternative:
export NOTION_API_KEY="ntn_YOUR_INTERNAL_INTEGRATION_TOKEN"Headless / cloud setup: Use an Internal Integration Token — no browser OAuth needed. Share target Notion pages with your integration before use.
Usage
As a Library
const { NotionMCPWrapper } = require('./lib/notion-mcp-wrapper');
const wrapper = new NotionMCPWrapper({
maxRetries: 5,
baseDelayMs: 1000,
enableHealthMonitor: true,
enableFallback: true,
});
await wrapper.start();
// Execute with automatic MCP → API fallback
const result = await wrapper.execute('movePage', {
page_id: 'abc123def456',
parent: { page_id: 'xyz789ghi012' },
});
console.log(result.source); // 'mcp' | 'fallback'
await wrapper.stop();CLI
npm run health # Check MCP health
node bin/notion-mcp-wrapper.js move-page <page-id> <parent-id>
npm test # Run test suiteSupported Operations
Operation | MCP Tool | API Fallback |
|
| ✅ |
|
| ✅ |
|
| ✅ |
|
| ✅ |
|
| ✅ |
|
| ❌ |
|
| ❌ |
|
| ❌ |
|
| ❌ |
Architecture
NotionMCPWrapper ← entry point
├── HealthMonitor periodic MCP ping → healthy / degraded / down
├── RetryPolicy exponential backoff, configurable maxRetries
├── MCPClient stdio-based MCP protocol communication
└── FallbackStrategy Notion REST API when MCP unavailableEvals
Skill test cases live in evals/evals.json following the skill-creator standard:
ID | Scenario | Expected Trigger |
1 | Check Notion MCP health status | ✅ Yes |
2 | Move page via MCP wrapper with fallback | ✅ Yes |
3 | Write a JavaScript string-reversal function | ❌ No |
Version History
Version | Changes |
v2.0.1 | Add |
v2.0.0 | Production rewrite: HealthMonitor, RetryPolicy, FallbackStrategy, full tests |
Related Projects
openclaw-notion-md-converter — Markdown → Notion blocks
triadev — Golden Triangle workflow (uses this skill)
OpenClaw — The agent framework
License
MIT — Charpup
Changelog
2026-03-11: Skill audit upgrade — normalized SKILL.md frontmatter to
name+description, revalidated trigger wording, and rechecked lightweight lint/smoke compatibility with OpenClaw.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted Notion MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseAqualityCmaintenanceFull-featured Notion MCP server enabling deep page reading, block editing, snapshot/restore, file uploads, table manipulation, page restore, and destructive page copying.33MIT
- AlicenseAqualityCmaintenanceUnofficial Notion MCP server built on Notion's private API (token_v2 cookie). Gives LLM agents full read/write access to the entire workspace — no integration token and no per-page sharing.1113 npm4MIT
- AlicenseNot gradedqualityAmaintenanceConnects AI agents and MCP-speaking clients such as Claude, Cursor, VS Code and ChatGPT to Notion using a single token, enabling them to create and edit pages, query databases, append blocks, apply templates, comment, and upload files in plain language. It runs headless for CI and background agents, keeps context usage low by loading only three tools, and supports batched mutations with idempotency and retries.4,756 npmMIT
- AlicenseNot gradedqualityAmaintenanceConnects MCP-capable AI clients such as Claude, Cursor, VS Code and Codex to Notion with a single token, letting them search, create and edit pages, query databases, comment and upload files in plain language. It supports headless and CI use, batched idempotent writes, markdown round-tripping, and low context overhead.4,756 npmMIT