Skip to main content
mcpFirst-partyLow risk Safety Privacy
Notion logo

Notion MCP Server for Claude

Read docs, update pages, and manage tasks in Notion workspaces

HarnessClaude CodeCodexCursorClaude Desktop

Citation facts

Source-backed facts for citing this resource, derived directly from the registry — also available as plain text for AI assistants.

Source URLs
https://developers.notion.com/guides/mcp/overview, https://github.com/JSONbored/awesome-claude/blob/main/content/mcp/notion-mcp-server.mdx
Brand
Notion
Brand domain
notion.so
Brand asset source
brandfetch
Package URL
/downloads/mcp/notion-mcp-server.mcpb
Package SHA256
5be293afa3eadf51565061c1b49445b1f1f14610e7d3a275ded73155086d3d79
Safety notes
Share only intended Notion pages or databases and review writes that alter docs, tasks, or workspace records.
Privacy notes
Page contents, database rows, comments, attachments, user names, and workspace metadata may be sent through model context.
Author
Notion
Claim status
unclaimed
Last verified
2025-09-18

Decision playbook

Ready to evaluate for your workflow

Signals are comparatively strong, but you should still validate source, privacy posture, and package provenance for your environment.

Compare context
Selected

0

Current score

96

Baseline

Delta

No baseline selected

No major trust-signal divergence detected in the current selection.

Source and provenance checks

Complete

Confirm ownership and provenance before trusting install instructions.

  • Source link availableRequired

    Open the canonical repository and verify ownership.

    Done
  • Source provenance statusRequired

    Marked as first-party.

    Done
  • Metadata reviewed

    Registry metadata indicates a reviewed listing.

    Done

Safety and privacy checks

Complete

Validate risk disclosures before installation or API wiring.

  • Safety notes presentRequired

    Review the listed safety guidance before running commands.

    Done
  • Privacy notes presentRequired

    Review data handling notes before connecting accounts or secrets.

    Done
  • Trust level risk gateRequired

    Trust level does not block evaluation.

    Done

Package and install checks

Complete

Check package metadata and artifact integrity signals.

  • Install payload available

    Install or copy payload is available for review.

    Done
  • Package verification flag

    Package marked verified.

    Done
  • Checksum metadata

    SHA-256 hash is present.

    Done

Compare-driven decision checks

Needs review

Use compare context to validate trade-offs before adoption.

  • Compare tray has multiple entries

    Add at least one more entry to compare trust differences.

    Pending
  • Baseline comparison available

    No baseline peer selected yet.

    Pending
  • Diverging trust signals identified

    No major trust-signal divergence found.

    Pending

Setup at a glance

Package install

Copy-ready — paste the snippet to get started.

2 minutes

Install command

Provided

Config snippet

Provided

Copy snippet

Provided

Prerequisites

10 to clear

Platforms

4 listed

Difficulty

6/100

Adoption plan

Balanced adoption plan

Current risk score 0/100. Use staged verification before broader rollout.

Risk 0

Pre-adoption checks

Validate source and review signals before any execution.

  • Confirm source provenanceRequired

    Source URL/provenance metadata is present.

    Done
  • Confirm metadata review state

    Listing has review metadata.

    Done
  • Verify install payload

    Install/config payload exists and can be inspected.

    Done

Security checks

Confirm safety, privacy, and package integrity signals.

  • Review safety notesRequired

    Safety notes are present.

    Done
  • Review privacy notesRequired

    Privacy notes are present.

    Done
  • Verify package integrity metadata

    Package verification/checksum metadata is available.

    Done

Rollout

Adopt in controlled steps based on the selected plan.

  • Run in isolated sandbox firstRequired

    Use a constrained sandbox and observe behavior across multiple tasks.

    Pending
  • Roll out graduallyRequired

    Roll out to a small cohort before wider usage.

    Pending
  • Set monitoring and fallback

    Define rollback path and monitor errors after adoption.

    Pending

Evidence readiness

Evidence readiness matrix · balanced

Required evidence gates are covered (6/6 signals complete).

Risk 0

Source provenance

Present

Source repository/provenance is listed.

Required in this preset

Metadata review

Present

Review metadata is present.

Required in this preset

Safety notes

Present

Safety notes are present.

Required in this preset

Privacy notes

Present

Privacy notes are present.

Optional in this preset

Package integrity

Present

Package integrity metadata is present.

Optional in this preset

Install payload

Present

Install payload is available.

Required in this preset

Required evidence gates are covered for this preset.

Decision timeline

Decision timeline · balanced

6/6 steps complete with no blocking gaps for this preset.

Risk 0

triage

Confirm source provenanceRequired

Source/provenance metadata is available.

Done

triage

Check metadata review statusRequired

Review metadata is available.

Done

verify

Review safety notesRequired

Safety notes are available.

Done

verify

Review privacy notes

Privacy notes are available.

Done

verify

Validate package integrity metadata

Package integrity metadata is available.

Done

rollout

Verify install payload and commandsRequired

Install payload is available.

Done

No required blockers for this timeline preset.

Prerequisite readiness

Prerequisite readiness

10 prerequisites to line up before setup. Have accounts and credentials ready first.

0/10 ready
Account & credentials2Configuration3Permissions & scopes1Network & hosting2General22 minutes

Safety & privacy surface

Safety & privacy surface

1 safety and 1 privacy notes across 1 risk area.

1 area
  • SafetyGeneralShare only intended Notion pages or databases and review writes that alter docs, tasks, or workspace records.
  • PrivacyGeneralPage contents, database rows, comments, attachments, user names, and workspace metadata may be sent through model context.

Safety notes

  • Share only intended Notion pages or databases and review writes that alter docs, tasks, or workspace records.

Privacy notes

  • Page contents, database rows, comments, attachments, user names, and workspace metadata may be sent through model context.

Prerequisites

  • Notion workspace account (not Guest workspace - Guest workspaces don't support integrations)
  • OAuth 2.0 integration (create public integration in Notion with client ID and client secret)
  • HTTP transport support (remote MCP server at https://mcp.notion.com/mcp)
  • Internet connection (remote Notion API access required)
  • Understanding of Notion API rate limits (3 requests/second average per integration, bursts allowed)
  • Understanding of Notion integration permissions (pages/databases must be explicitly shared with integration)
  • Understanding of Notion API versioning (Notion-Version header required, e.g., 2022-06-28)
  • Claude Desktop 0.7.0+ or Claude Code with MCP support
  • Understanding of Notion concepts (pages, databases, blocks, properties, relations, rollups)
  • Integration capabilities configured (Read content, Update content, Insert content - any combination)

Schema details

Install type
package
Reading time
1 min
Difficulty score
6
Troubleshooting
Yes
Breaking changes
No
Package metadata
Package verified
Yes
SHA-256
5be293afa3eadf51565061c1b49445b1f1f14610e7d3a275ded73155086d3d79
Collection metadata
Estimated setup
2 minutes
Difficulty
beginner
Full copyable content
{
  "notion": {
    "url": "https://mcp.notion.com/mcp",
    "transport": "http"
  }
}

About this resource

Content

Streamline your documentation and knowledge management by connecting Claude to Notion. Read and update pages, create databases, query with advanced filters, manage tasks and workflows, search across workspaces, handle relations and rollups, and automate content creation—all through natural language commands. Leverage Notion's powerful API with rate limit monitoring and comprehensive workspace integration.

Features

  • Read and update Notion pages with rich content (blocks, formatting, embeds)
  • Create new pages and databases programmatically (with properties and structure)
  • Query database content with filters and sorts (advanced filtering and pagination)
  • Manage tasks and project workflows (database operations and relations)
  • Search across entire workspace content (with filters and sorting)
  • Manage database properties and schemas (add, update, configure property types)
  • Handle database relations and rollups (cross-database references and calculations)
  • Access comments and user information (collaboration features)
  • Advanced Notion database and page management with block manipulation, database querying, and team collaboration features
  • Batch operations support for efficient bulk page operations, database management, and content processing with automatic rate limit handling and retry logic
  • Real-time workspace synchronization capabilities with webhook integration support for monitoring Notion events and triggering automated workflows

Use Cases

  • Create meeting notes automatically from discussions with structured formatting
  • Update project documentation with latest information and cross-references
  • Generate reports from database content with custom filters and aggregations
  • Sync tasks across different systems via API integration
  • Build knowledge base entries from research with automatic categorization
  • Query and filter databases using advanced search for data analysis
  • Automate content creation workflows with page templates and property population
  • Manage team collaboration with comments, mentions, and user assignments
  • Build automated knowledge management workflows that sync external systems with Notion for real-time documentation and content management

Installation

Claude Code

  1. Create a public integration in Notion (Settings & members > Connections > Develop or manage integrations > New integration)
  2. Get your OAuth client ID and client secret from integration settings
  3. claude mcp add --transport http notion https://mcp.notion.com/mcp
  4. Authenticate via OAuth when prompted (authorize integration in Notion)
  5. Verify installation: claude mcp list
  6. Test connection: claude mcp status notion
  7. Share a page/database with your integration in Notion to verify access

Claude Desktop

  1. Create a public integration in Notion (Settings & members > Connections > Develop or manage integrations > New integration)
  2. Get your OAuth client ID and client secret from integration settings
  3. Open Claude Desktop configuration file (see configPath below)
  4. Add the Notion server configuration with HTTP transport pointing to https://mcp.notion.com/mcp
  5. Add OAuth credentials to environment variables or configuration
  6. Restart Claude Desktop
  7. Authenticate via OAuth when prompted (authorize integration in Notion)
  8. Share a page/database with your integration in Notion to verify access

Requirements

  • Notion workspace account (not Guest workspace - Guest workspaces don't support integrations)
  • OAuth 2.0 integration (create public integration in Notion with client ID and client secret)
  • HTTP transport support (remote MCP server at https://mcp.notion.com/mcp)
  • Internet connection (remote Notion API access required)
  • Understanding of Notion API rate limits (3 requests/second average per integration, bursts allowed)
  • Understanding of Notion integration permissions (pages/databases must be explicitly shared with integration)
  • Understanding of Notion API versioning (Notion-Version header required, e.g., 2022-06-28)
  • Claude Desktop 0.7.0+ or Claude Code with MCP support
  • Understanding of Notion concepts (pages, databases, blocks, properties, relations, rollups)
  • Integration capabilities configured (Read content, Update content, Insert content - any combination)

Configuration

{
  "notion": {
    "url": "https://mcp.notion.com/mcp",
    "transport": "http"
  }
}

Examples

Create a new page for today's meeting notes

Common usage pattern for this MCP server

Ask Claude: "Create a new page for today's meeting notes"

Update the project status in Notion

Common usage pattern for this MCP server

Ask Claude: "Update the project status in Notion"

Find all tasks due this week

Common usage pattern for this MCP server

Ask Claude: "Find all tasks due this week"

Add this conversation summary to Notion

Common usage pattern for this MCP server

Ask Claude: "Add this conversation summary to Notion"

Create Page with Blocks

Create a new Notion page in a database with custom blocks

// Create Notion page with blocks
const page = await notion.pages.create({
  parent: { database_id: "database-id" },
  properties: {
    Title: { title: [{ text: { content: "New Page" } }] },
  },
  children: [
    {
      object: "block",
      type: "paragraph",
      paragraph: { rich_text: [{ text: { content: "Page content" } }] },
    },
  ],
});

Security

  • OAuth tokens are securely managed by Notion (OAuth 2.0 authorization flow)
  • Respect workspace permissions and sharing settings (pages/databases must be explicitly shared)
  • Be cautious with bulk update operations (rate limits apply)
  • Regular backups recommended for critical data (integration can modify content)
  • Monitor rate limit headers and implement exponential backoff to avoid service disruption
  • Notion API keys and integration tokens must be securely stored and never exposed in client-side code or public repositories - use environment variables and secure credential management
  • Notion OAuth access tokens should be used for third-party integrations to ensure proper access control, token lifecycle management, and automatic token refresh
  • Notion page, database, and workspace IDs may expose organizational structure and knowledge base information - ensure Notion resource identifiers are kept private and not shared in public configurations
  • Rate limiting and API quota management are critical for Notion MCP servers - implement proper rate limit handling, retry logic, and quota monitoring to prevent service disruption
  • Notion webhook configurations and payloads may contain sensitive page content and database information - ensure webhook endpoints are properly secured with authentication and HTTPS encryption

Troubleshooting

Rate limit reached - 429 error with rate_limited code

Rate limit: 3 requests/second average per integration. Bursts beyond this average are allowed. Implement 350ms delay between requests for sustained operations. Use burst capacity sparingly. Back off exponentially on 429 errors. Check Retry-After header in response to determine wait time. Implement request queuing for pending requests to manage rate limits effectively.

Page or database not accessible - integration permissions

Share page/database with integration explicitly in Notion. Click Share > Add connection > select your integration. Verify integration has appropriate capabilities (Read content, Update content, Insert content). Check parent page sharing settings if accessing nested pages. For database relations and rollups, related databases must also be shared with integration. Guest workspaces don't support integrations.

OAuth authentication fails or bad gateway error

Re-authenticate at https://mcp.notion.com/mcp. Verify workspace allows integrations (not Guest workspace). Check OAuth client ID and client secret are correct. Ensure redirect URI matches integration settings. Check internet connectivity. Verify Notion-Version header is included in requests (e.g., 2022-06-28). Restart MCP client if persistent 502 errors occur.

API returns empty results or stale data from queries

Verify query filters match exact database property names (case-sensitive). Check integration has access to specific database. Refresh integration permissions. Use property IDs instead of names for reliability. For search, pages/databases directly shared with integration are guaranteed to be returned immediately. For nested content, ensure parent pages are also shared. Check integration capabilities match required operations.

Notion MCP server authentication errors with integration tokens

Verify integration token is valid and not expired. Check integration permissions match required operations. Ensure token format is correct (Bearer token in Authorization header). For OAuth integrations, verify token refresh logic is working correctly.

Notion rate limit errors when processing multiple requests

Implement exponential backoff retry logic with jitter. Use Notion API rate limit headers to monitor usage. Reduce concurrent requests. Cache frequently accessed page data. Notion allows 3 requests per second per integration.

Notion page or database access denied errors

Verify integration has access to the page or database. Check page permissions and workspace sharing settings. Ensure integration has required capabilities (read, update, insert) for target operations.

Notion MCP server connection timeouts or network errors

Check network connectivity and firewall settings. Verify Notion API endpoints are accessible. Increase request timeout values. Implement connection pooling and retry mechanisms with exponential backoff.

Source citations

Add this badge to your README

Show that Notion MCP Server for Claude is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.

Listed on HeyClaude
[![Listed on HeyClaude](https://heyclau.de/badge/mcp/notion-mcp-server.svg)](https://heyclau.de/entry/mcp/notion-mcp-server)

How it compares

Notion MCP Server for Claude side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.

2 trust signals differ across this comparison (Package trust, Submitter).

Field

Read docs, update pages, and manage tasks in Notion workspaces

Open dossier

Apache-licensed TypeScript MCP server for Obsidian vaults with stdio and Streamable HTTP transports, Local REST API access, note search, section-aware edits, tag/frontmatter management, path policies, and read-only controls.

Open dossier

Official Yuque MCP server that connects Claude to Yuque knowledge bases for user lookup, search, books, documents, notes, resources, and table-of-contents workflows, including read, create, and update tools over stdio with personal or group API tokens.

Open dossier

MCP server for connecting Claude to AFFiNE Cloud or self-hosted AFFiNE workspaces, documents, databases, comments, collections, folders, tags, notifications, blobs, access tokens, semantic page composition, templates, edgeless canvas data, and workspace organization workflows over stdio or HTTP.

Open dossier
Next steps
Trust
Review statusReviewedMaintainer reviewedReviewedMaintainer reviewedReviewedMaintainer reviewedReviewedMaintainer reviewed
Package trustDiffersPackage verifiedPackage not verifiedPackage not verifiedPackage not verified
Source provenanceSource-backedSource-backedSource-backedSource-backed
SubmitterDiffersoktofeesh1oktofeesh1oktofeesh1
Install riskLow riskReview firstReview firstReview first
Notes Safety Privacy Safety Privacy Safety Privacy Safety Privacy
BrandNotion logoNotion
Categorymcpmcpmcpmcp
Sourcefirst-partysource-backedsource-backedsource-backed
AuthorNotioncyanheadsYuqueDAWNCR0W
Added2025-09-182026-06-062026-06-062026-06-06
Platforms
Claude CodeCodexCursorClaude Desktop
Claude CodeClaude Desktop
Claude CodeClaude Desktop
Claude CodeClaude Desktop
Source repo
Safety notesShare only intended Notion pages or databases and review writes that alter docs, tasks, or workspace records.Cyanheads Obsidian MCP can read, list, search, create, append, patch, replace, delete, tag, and edit frontmatter in the configured vault through the Local REST API plugin. The server defaults to full-vault access unless read paths, write paths, or read-only mode are configured. Set `OBSIDIAN_READ_ONLY=true` for research-only workflows, then narrow writes with `OBSIDIAN_WRITE_PATHS` before allowing note edits. Delete operations are permanent in the vault and should require human review even when the MCP host supports destructive-tool prompts. Command-palette tools are disabled unless `OBSIDIAN_ENABLE_COMMANDS=true`; command execution can trigger opaque or destructive Obsidian plugin behavior. Streamable HTTP deployments should use JWT or OAuth auth before being exposed beyond a trusted local machine.Yuque MCP Server can search and read content, but it also exposes create, update, and delete workflows for books, documents, notes, resources, and tables of contents. The upstream security policy recommends read-only tokens when only read access is needed. Tokens passed as CLI arguments can appear in shell history, process listings, or client logs; prefer environment variables or a secrets manager. Custom YUQUE_BASE_URL values should point only to trusted Yuque deployments and should use HTTPS for remote services. Rate limits, deleted resources, token expiration, private-deployment behavior, and Yuque API changes can affect tool results.The full tool surface can create, update, publish, revoke, move, replace, and delete AFFiNE workspaces, documents, folders, collections, comments, database rows, blobs, surface elements, tags, and access tokens. Start with AFFINE_TOOL_PROFILE=read_only or disable groups such as destructive, admin, blobs, users, access_tokens, docs.database, or write when the assistant only needs discovery or reading. HTTP mode exposes MCP endpoints and must be protected with bearer or OAuth authentication, HTTPS, allowed origins, and deployment-level access controls. AFFiNE Cloud requires API tokens for MCP usage; avoid trying to automate email/password login against Cloud deployments. Cookie and password-based auth can grant broad account access and should be avoided for unattended or shared deployments.
Privacy notesPage contents, database rows, comments, attachments, user names, and workspace metadata may be sent through model context.Vault notes, headings, block references, frontmatter, tags, file metadata, outgoing links, search queries, command names, plugin status, and edit history may be exposed to the MCP client and model provider. API keys, local plugin endpoints, HTTP auth settings, path allowlists, logs, OpenTelemetry traces, and Docker environment variables can reveal private vault structure or credentials. Tag listing is vault-wide in upstream behavior and can reveal tag names outside narrowed read paths. Notes may contain personal journals, client work, credentials, meeting notes, research plans, health data, or other sensitive knowledge-base content.Yuque searches, user details, book metadata, document titles, document bodies, notes, resources, TOC data, group names, repo namespaces, slugs, and private deployment URLs can be sent to the MCP client and model. Created or updated Yuque content persists in the selected knowledge base and may be visible to collaborators according to Yuque permissions. Keep YUQUE_PERSONAL_TOKEN, YUQUE_GROUP_TOKEN, YUQUE_TOKEN, and private deployment URLs out of prompts, committed config, screenshots, public issues, and shared logs.Workspaces, document titles, document bodies, comments, tags, database schemas, database rows, edgeless canvas data, notifications, user profiles, access-token metadata, blobs, and exported markdown can be sent to the MCP client and model. API tokens, cookies, passwords, bearer tokens, OAuth config, and saved config files should be treated as secrets and kept out of prompts, logs, screenshots, issues, and committed MCP config. Generated or modified documents can persist in AFFiNE and may become visible to collaborators depending on workspace permissions and sharing state. Blob upload, cleanup, export, and publish/revoke workflows can expose files, generated content, or collaboration state beyond the current prompt.
Prerequisites
  • Notion workspace account (not Guest workspace - Guest workspaces don't support integrations)
  • OAuth 2.0 integration (create public integration in Notion with client ID and client secret)
  • HTTP transport support (remote MCP server at https://mcp.notion.com/mcp)
  • Internet connection (remote Notion API access required)
  • Node.js 24 or newer, or Bun 1.3.11 or newer.
  • Obsidian vault with the Obsidian Local REST API community plugin enabled.
  • Local REST API key stored in the MCP client environment.
  • Stdio MCP client, or reviewed Streamable HTTP deployment with authentication.
  • Node.js 18 or newer and npx.
  • Yuque personal, group, or legacy API token with the minimum scope needed for the workflow.
  • Yuque Cloud account or approved private Yuque deployment base URL.
  • Read-only token for search and retrieval workflows whenever document or book writes are not required.
  • Node.js and npm for installing the affine-mcp-server package.
  • AFFiNE Cloud API token or approved self-hosted AFFiNE credentials.
  • AFFiNE base URL for the Cloud or self-hosted deployment.
  • Clear workspace scope and least-privilege tool profile before enabling write, admin, destructive, blob, or access-token tools.
Install
claude mcp list && claude mcp status notion
npx -y obsidian-mcp-server@latest
npx -y yuque-mcp
npm i -g affine-mcp-server
Config
{
  "mcpServers": {
    "notion": {
      "url": "https://mcp.notion.com/mcp",
      "type": "http"
    }
  }
}
{
  "mcpServers": {
    "cyanheads-obsidian": {
      "command": "npx",
      "args": ["-y", "obsidian-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "OBSIDIAN_API_KEY": "{obsidian-local-rest-api-key}",
        "OBSIDIAN_READ_ONLY": "true"
      }
    }
  }
}
{
  "mcpServers": {
    "yuque": {
      "command": "npx",
      "args": ["-y", "yuque-mcp"],
      "env": {
        "YUQUE_PERSONAL_TOKEN": "<yuque-personal-token>",
        "YUQUE_BASE_URL": "<yuque-api-base-url>"
      }
    }
  }
}
{
  "mcpServers": {
    "affine": {
      "command": "affine-mcp",
      "env": {
        "AFFINE_BASE_URL": "<affine-base-url>",
        "AFFINE_API_TOKEN": "<affine-api-token>",
        "AFFINE_TOOL_PROFILE": "read_only"
      }
    }
  }
}
Citations
ClaimUnclaimedUnclaimedUnclaimedUnclaimed
Open 4 picks in the interactive comparison tool

Signals

Loading live community signals…

More like this, weekly

A short, calm digest of reviewed Claude resources. Unsubscribe any time.