Skip to main content
Glama
Charpup

notion-mcp-wrapper

by Charpup

OpenClaw Notion MCP Wrapper

Version OpenClaw Skill Node.js License: MIT evals Oathe Security

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 install

When 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 healthy / degraded / down with latency

Auto Reconnect

Exponential backoff retry — configurable maxRetries and baseDelayMs

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 install

Environment:

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 suite

Supported Operations

Operation

MCP Tool

API Fallback

movePage

API-move-page

✅

getPage

API-retrieve-a-page

✅

updatePage

API-patch-page

✅

createPage

API-post-page

✅

deletePage

API-delete-a-block

✅

getBlockChildren

API-get-block-children

❌

appendBlocks

API-patch-block-children

❌

queryDatabase

API-query-data-source

❌

search

API-post-search

❌


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 unavailable

Evals

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 metadata.openclaw compliance block; add evals/evals.json (3 cases)

v2.0.0

Production rewrite: HealthMonitor, RetryPolicy, FallbackStrategy, full tests


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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Full-featured Notion MCP server enabling deep page reading, block editing, snapshot/restore, file uploads, table manipulation, page restore, and destructive page copying.
    33
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Unofficial 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.
    11
    13 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connects 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 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connects 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 npm
    MIT