Notion公式のMCPサーバー(@notionhq/notion-mcp-server)で踏んだバグメモ。
既存ブロックを直接書き換える API-update-a-block を呼ぶと、毎回バリデーションエラーになる。
body.type should be not present, instead was {"paragraph":...}
原因は、ツールに渡すパラメータ名がそのままtypeというキーでリクエストボディに入ってしまうこと。Notion API本来の仕様では、ブロック種別のオブジェクト(paragraph等)はbody直下に展開されるべきで、typeというキー自体があってはいけない。つまり有効な値を渡しても必ず弾かれる。
回避策は、直接書き換えず「新規ブロックを追加→旧ブロックをアーカイブ」で代替すること。
テキストブロックを扱う人は普通に踏む不具合だと思うので共有。
複数回チェックしてるけど、間違ってたらごめんなさい。