Regression: Notion MCP 'parent' parameter double-stringified in API-post-page (v2.1.29)

Resolved 💬 3 comments Opened Feb 3, 2026 by lucasclodic Closed Feb 7, 2026

Description

The parent parameter is being double-stringified when calling Notion MCP tools, causing validation errors. This was previously reported as fixed in v1.0.53 (#3023), but the issue has resurfaced in v2.1.29.

Environment

  • Claude Code version: 2.1.29
  • OS: macOS (Darwin 25.0.0)
  • Notion MCP: Remote (managed by Claude Code)

Steps to Reproduce

  1. Use the mcp__notion__API-post-page tool to create a page in a Notion database
  2. Pass the parent parameter as an object: {"database_id": "uuid-here"}
  3. Observe the validation error

Expected Behavior

The parent parameter should be passed as a JSON object to the Notion API.

Actual Behavior

The parameter is double-stringified, resulting in:

body failed validation: body.parent should be an object or `undefined`, 
instead was `"{\"database_id\": \"2fb39021-31ad-80fc-9d59-e95b791b35...`

The escaped quotes (\") indicate the object was serialized twice before reaching the API.

Workarounds Tested

  • Passing parent with different formats (with/without type field) → same error
  • Other MCP tools with simple string parameters work fine (e.g., API-retrieve-a-database)

Related Issues

Additional Context

The properties parameter (also an object) exhibits the same behavior. This blocks all write operations to Notion databases via MCP.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗