Bug Description
When creating Notion database entries using the notion-create-pages tool with date properties in expanded format, the Date columns appear completely empty in the Notion UI, despite the API returning successful creation responses.
Environment
- Tool:
notion-create-pages (MCP)
- Notion API Version: 2022-06-28
- Date: September 16, 2025
- Impact: Critical - Date columns appear empty in Notion UI
🐛 Problem Description
When creating Notion database entries using the MCP (Model Context Protocol) notion-create-pages tool with date properties, the Date columns appear completely empty in the Notion UI, despite the API returning successful creation responses.
Symptoms
- ✅
notion-create-pages returns successful response
- ❌ Date column shows empty in Notion UI
- ❌ Only partial date properties saved (
date:PropertyName:is_datetime only)
- ❌ Missing crucial
date:PropertyName:start field in fetch results
Steps to Reproduce
- Create a database entry with date properties using expanded format:
{
"properties": {
"Activity": "Test Activity",
"date:Date:start": "2025-10-10",
"date:Date:is_datetime": 0
}
}
- Check the created entry using
notion-fetch
- Observe that only
"date:Date:is_datetime": 0 persists
- Verify in Notion UI that Date column appears empty
Expected Behavior
Both date:Date:start and date:Date:is_datetime should persist, and the date should display correctly in Notion UI.
Actual Behavior
Only date:Date:is_datetime persists; date:Date:start is silently dropped, resulting in empty date columns.
Root Cause Analysis
The notion-create-pages MCP tool silently drops the date:PropertyName:start field during creation, while preserving other expanded date properties like date:PropertyName:is_datetime. This appears to be a MCP serialization issue where the tool incorrectly processes expanded date properties.
Evidence
✅ Working Example (using different property name):
{
"date:Day:start": "2025-07-26",
"date:Day:is_datetime": 0
}
❌ Broken Example (same format, different property name):
{
"date:Date:is_datetime": 0
// Missing: "date:Date:start" field silently dropped!
}
Workaround
Use notion-update-page instead, which works correctly:
- Create entry without dates using
notion-create-pages
- Update with dates using
notion-update-page:
{
"page_id": "created-page-id",
"command": "update_properties",
"properties": {
"date:Date:start": "2025-10-10"
}
}
Related Issues
This appears related to the serialization bugs mentioned in:
Additional Details
Schema Evidence
The SQLite schema shows all required fields, but only some are saved:
"date:Date:start" TEXT, -- ❌ NOT SAVED by create-pages
"date:Date:end" TEXT, -- ❌ NOT SAVED by create-pages
"date:Date:is_datetime" INTEGER -- ✅ SAVED by create-pages
Impact Assessment
- Affected: All date properties in any Notion database using
notion-create-pages
- Scope: All expanded property formats (
date:X:start, date:X:end, etc.)
- Workaround: Use two-step process (create then update) until fixed
Testing Results
- Before Fix:
notion-fetch shows only "date:Date:is_datetime": 0
- After Fix:
notion-fetch shows both "date:Date:start": "2025-10-10" and "date:Date:is_datetime": 0
Bug Description
When creating Notion database entries using the
notion-create-pagestool with date properties in expanded format, the Date columns appear completely empty in the Notion UI, despite the API returning successful creation responses.Environment
notion-create-pages(MCP)🐛 Problem Description
When creating Notion database entries using the MCP (Model Context Protocol)
notion-create-pagestool with date properties, the Date columns appear completely empty in the Notion UI, despite the API returning successful creation responses.Symptoms
notion-create-pagesreturns successful responsedate:PropertyName:is_datetimeonly)date:PropertyName:startfield in fetch resultsSteps to Reproduce
{ "properties": { "Activity": "Test Activity", "date:Date:start": "2025-10-10", "date:Date:is_datetime": 0 } }notion-fetch"date:Date:is_datetime": 0persistsExpected Behavior
Both
date:Date:startanddate:Date:is_datetimeshould persist, and the date should display correctly in Notion UI.Actual Behavior
Only
date:Date:is_datetimepersists;date:Date:startis silently dropped, resulting in empty date columns.Root Cause Analysis
The
notion-create-pagesMCP tool silently drops thedate:PropertyName:startfield during creation, while preserving other expanded date properties likedate:PropertyName:is_datetime. This appears to be a MCP serialization issue where the tool incorrectly processes expanded date properties.Evidence
✅ Working Example (using different property name):
{ "date:Day:start": "2025-07-26", "date:Day:is_datetime": 0 }❌ Broken Example (same format, different property name):
{ "date:Date:is_datetime": 0 // Missing: "date:Date:start" field silently dropped! }Workaround
Use
notion-update-pageinstead, which works correctly:notion-create-pagesnotion-update-page:{ "page_id": "created-page-id", "command": "update_properties", "properties": { "date:Date:start": "2025-10-10" } }Related Issues
This appears related to the serialization bugs mentioned in:
Additional Details
Schema Evidence
The SQLite schema shows all required fields, but only some are saved:
Impact Assessment
notion-create-pagesdate:X:start,date:X:end, etc.)Testing Results
notion-fetchshows only"date:Date:is_datetime": 0notion-fetchshows both"date:Date:start": "2025-10-10"and"date:Date:is_datetime": 0