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
- Use the
mcp__notion__API-post-pagetool to create a page in a Notion database - Pass the
parentparameter as an object:{"database_id": "uuid-here"} - 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
parentwith different formats (with/withouttypefield) → same error - Other MCP tools with simple string parameters work fine (e.g.,
API-retrieve-a-database)
Related Issues
- #3023 - Original report (marked as fixed in v1.0.53)
- https://github.com/makenotion/notion-mcp-server/issues/82 - Same issue reported on Notion MCP server repo
Additional Context
The properties parameter (also an object) exhibits the same behavior. This blocks all write operations to Notion databases via MCP.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗