Skip to content

[Bug] Write operations fail on pages containing bookmark blocks #298

Description

@fuleinist

Bug: Write operations fail on pages with bookmark blocks

Summary

Any write operation (notion-update-page, insert_content, replace_content) fails with a validation_error (HTTP 400) on pages that contain Notion bookmark blocks — even when the edit target has nothing to do with them:

"Invalid Notion page or block URL: https://example.com"

Read operations (notion-fetch) work fine. Write operations are blocked entirely.

Steps to Reproduce

  1. Create or open a Notion page containing one or more bookmark blocks (the rich-link embed type)
  2. Call notion-update-page with any write command targeting unrelated content on the page
  3. Observe validation_error referencing one of the bookmark URLs

Expected Behavior

Write succeeds; bookmark blocks should be irrelevant to operations targeting other content on the page.

Actual Behavior

HTTP 400 validation_error, operation blocked entirely. The error references an external URL from a bookmark block, not the target of the edit.

Environment

  • MCP server: Remote (https://mcp.notion.com/mcp) via Claude.ai connector
  • Observed with remote MCP server — not confirmed if affects self-hosted

Possible Root Cause (speculative)

The write path may be validating all URLs present in the page's block tree (including bookmark block URLs) rather than only the URLs being written. A bookmark's external URL gets checked against Notion's internal URL validation and fails because it's not a Notion internal URL.

The fix likely involves either:

  1. Skipping URL validation for bookmark block URLs during write operations
  2. Only validating URLs that are being written/modified, not all URLs present in the page

Workaround

Manual edits in Notion UI. notion-fetch unaffected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions