Read and write Notion pages, databases, and blocks via the official API with safety guardrails built in.
Data & analysis
Notion MCP
Try itOperate Notion workspace content through Notion MCP using the UXC CLI, including search, fetch, users/teams lookup, page/database creation and updates, and c...
What it does
Operate Notion workspace content through Notion MCP using the UXC CLI, including search, fetch, users/teams lookup, page/database creation and updates, and c...
The skill document
Notion MCP Skill
Use this skill to run Notion MCP operations through uxc with OAuth and guarded write behavior.
Reuse the uxc skill guidance for discovery, schema inspection, OAuth lifecycle, and error recovery.
Do not assume another skill is auto-triggered in every runtime. Keep this skill executable on its own.
Prerequisites
uxcis installed and available inPATH.- Network access to
https://mcp.notion.com/mcp. - OAuth callback listener is reachable (default examples use
http://127.0.0.1:8788/callback). uxcskill is available for generic discovery/describe/execute patterns.
Core Workflow (Notion-Specific)
Endpoint argument style in this skill:
- Prefer shorthand
mcp.notion.com/mcp(scheme omitted). - Full URL
https://mcp.notion.com/mcpis also valid.
- Ensure endpoint mapping exists:
uxc auth binding match mcp.notion.com/mcp
- If mapping/auth is not ready, start OAuth login:
uxc auth oauth start notion-mcp --endpoint mcp.notion.com/mcp --redirect-uri http://127.0.0.1:8788/callback --scope read --scope write- Prompt user to open the printed authorization URL.
- Ask user to paste the full callback URL after consent.
- Complete login with
uxc auth oauth complete notion-mcp --session-id --authorization-response ''
- Bind endpoint to the credential:
uxc auth binding add --id notion-mcp --host mcp.notion.com --path-prefix /mcp --scheme https --credential notion-mcp --priority 100
- Use fixed link command by default:
command -v notion-mcp-cli- If missing, create it:
uxc link notion-mcp-cli mcp.notion.com/mcp notion-mcp-cli -h- If command conflict is detected and cannot be safely reused, stop and ask skill maintainers to pick a different fixed command name.
- Discover tools and inspect schema before execution:
notion-mcp-cli -hnotion-mcp-cli notion-fetch -hnotion-fetchrequiresid(URL or UUID). Examples:notion-mcp-cli notion-fetch id="https://notion.so/your-page-url"notion-mcp-cli notion-fetch id="12345678-90ab-cdef-1234-567890abcdef"
- Common operations include
notion-search,notion-fetch, andnotion-update-page.
- Prefer read path first:
- Search/fetch current state before any write.
- Execute writes only after explicit user confirmation:
- For
notion-update-pageoperations that may delete content, always confirm intent first.
- For
OAuth Interaction Template
Use this exact operator-facing flow:
- Start login command and wait for authorization URL output.
- Tell user:
- Open this URL in browser and approve Notion access.
- Copy the full callback URL from browser address bar.
- Paste the callback URL back in chat.
- Run
uxc auth oauth complete notion-mcp --session-id --authorization-response ''. - Optionally confirm success with:
uxc auth oauth info
Do not ask user to manually extract or copy bearer tokens. Token exchange is handled by uxc.
Use uxc auth oauth login ... --flow authorization_code only for a single-process interactive fallback.
Guardrails
- Keep automation on JSON output envelope; do not use
--text. - Parse stable fields first:
ok,kind,protocol,data,error. - Use
notion-mcp-clias the default command path for all Notion MCP calls in this skill. notion-mcp-cli ...is equivalent touxc mcp.notion.com/mcp ....- Use direct
uxc mcp.notion.com/mcp ...only as a temporary fallback when link setup is unavailable. - Call
notion-fetchbeforenotion-create-pagesornotion-update-pagewhen targeting database-backed content to obtain exact schema/property names. - Treat operations as high impact by default:
- Require explicit user confirmation before create/update/move/delete-style actions.
- If OAuth/auth fails, use
uxcskill OAuth/error playbooks first, then apply Notion-specific checks in this skill's references.
References
- Notion-specific auth notes (thin wrapper over
uxcskill OAuth guidance):references/oauth-and-binding.md
- Invocation patterns by task:
references/usage-patterns.md
- Notion-specific failure notes (thin wrapper over
uxcskill error guidance):references/error-handling.md
Related skills
Access Notion workspaces via a managed OAuth proxy for search, database queries, and reads, with explicit approval for writes.
Search, read, and update Monday.com boards, workspaces, items, updates, and columns via Monday.com's hosted MCP server (https://mcp.monday.com/mcp). Use when...
Builds and debugs Notion API integrations: data sources, pages, blocks, properties, filters, files, webhooks, bulk imports. Use when calling api.notion.com from code, curl, or an SDK, when a request returns 404 on an object that exists, a 400 validation_error, a 401, or a 429, when a database query returns the wrong rows or none at all, when results stop at 100, when a relation or rollup comes back with only part of its entries, when property names or select options do not match, when Notion-Version has to be bumped and database_id becomes data_source_id, when setting up an internal integration token or an OAuth flow, when importing a CSV or another tool's data into a workspace, exporting it, backfilling a property across thousands of pages, syncing Notion with an external system by webhook or polling, or uploading and attaching files. Not for calendar and rescheduling workflows (`notion-calendar`), writing notes across apps (`notes`), or generic REST and OAuth mechanics with no Notion
Search, read, and update Pipedrive deals, contacts, organizations, activities, pipelines, and sales workflows through a local MCP wrapper. Use when the user...
Query, insert, edit, and delete flomo memos through the flomo Web UI using Chrome MCP tools (no official API required). Use when a user wants CRUD operations...