## Summary
- Add 5 new MCP tools for managing Docmost page comments: `list_comments`, `get_comment`, `create_comment`, `update_comment`, `delete_comment`
- Comment content is automatically converted between **Markdown** (agent-facing) and **ProseMirror/TipTap JSON** (Docmost API format)
- Supports page-level comments, inline (text selection) comments, and threaded replies via `parentCommentId`
## New Tools
| Tool | Description |
|------|-------------|
| `list_comments` | List all comments on a page (paginated), content as Markdown |
| `get_comment` | Retrieve a single comment by ID |
| `create_comment` | Create a page or inline comment. Accepts Markdown, converts to ProseMirror JSON |
| `update_comment` | Update comment content (creator only) |
| `delete_comment` | Delete a comment (creator or space admin) |
## Implementation Details
- Uses Docmost's internal `/comments/*` API endpoints (available in open-source core)
- Reuses existing `convertProseMirrorToMarkdown()` for reading comments
- New `markdownToTiptapJson()` utility (via `marked` + `@tiptap/html generateJSON`) for writing
- New `filterComment()` in `filters.ts` for consistent response formatting
- All tools follow the existing `registerTool()` pattern
## Test plan
- [ ] `list_comments` returns comments for a page with Markdown content
- [ ] `get_comment` returns a single comment with correct fields
- [ ] `create_comment` creates a page-level comment visible in Docmost UI
- [ ] `create_comment` with `type: "inline"` and `selection` creates inline comment
- [ ] `create_comment` with `parentCommentId` creates a reply
- [ ] `update_comment` updates comment content
- [ ] `delete_comment` removes the comment
🤖 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
list_comments,get_comment,create_comment,update_comment,delete_commentparentCommentIdNew Tools
list_commentsget_commentcreate_commentupdate_commentdelete_commentImplementation Details
/comments/*API endpoints (available in open-source core)convertProseMirrorToMarkdown()for reading commentsmarkdownToTiptapJson()utility (viamarked+@tiptap/html generateJSON) for writingfilterComment()infilters.tsfor consistent response formattingregisterTool()patternTest plan
list_commentsreturns comments for a page with Markdown contentget_commentreturns a single comment with correct fieldscreate_commentcreates a page-level comment visible in Docmost UIcreate_commentwithtype: "inline"andselectioncreates inline commentcreate_commentwithparentCommentIdcreates a replyupdate_commentupdates comment contentdelete_commentremoves the comment🤖 Generated with Claude Code
Pull request closed