Fixes#4 — update_page silently drops all images from page content.
Bug
When updating a page via the update_page tool, all <img> nodes are silently stripped from the content. The resulting page saves successfully but with every image removed.
Root Cause
In src/lib/tiptap-extensions.ts, the TipTap Image extension is configured with inline: true. However, Docmost's editor uses inline: false, group: "block" for its Image extension. When the MCP server merges content into the Yjs document, the schema mismatch causes inline image nodes to be discarded during the Yjs merge — they don't match the expected block-level image node type.
Fix
One-line change: set inline: false in the Image extension configuration so it matches Docmost's schema.
## Summary
Fixes #4 — `update_page` silently drops all images from page content.
## Bug
When updating a page via the `update_page` tool, all `<img>` nodes are silently stripped from the content. The resulting page saves successfully but with every image removed.
## Root Cause
In `src/lib/tiptap-extensions.ts`, the TipTap `Image` extension is configured with `inline: true`. However, Docmost's editor uses `inline: false, group: "block"` for its Image extension. When the MCP server merges content into the Yjs document, the schema mismatch causes inline image nodes to be discarded during the Yjs merge — they don't match the expected block-level image node type.
## Fix
One-line change: set `inline: false` in the Image extension configuration so it matches Docmost's schema.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Fixes #4 —
update_pagesilently drops all images from page content.Bug
When updating a page via the
update_pagetool, all<img>nodes are silently stripped from the content. The resulting page saves successfully but with every image removed.Root Cause
In
src/lib/tiptap-extensions.ts, the TipTapImageextension is configured withinline: true. However, Docmost's editor usesinline: false, group: "block"for its Image extension. When the MCP server merges content into the Yjs document, the schema mismatch causes inline image nodes to be discarded during the Yjs merge — they don't match the expected block-level image node type.Fix
One-line change: set
inline: falsein the Image extension configuration so it matches Docmost's schema.🤖 Generated with Claude Code
Pull request closed