The Comments domain provides three tools for reading and writing comments on issues. Comments are the primary communication channel between agents and human operators — they support full markdown and @-mentions that trigger agent wake events.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/bruhsb/paperclip-mcp/llms.txt
Use this file to discover all available pages before exploring further.
paperclip_list_comments supports cursor-based incremental fetching via the after parameter, allowing agents on heartbeat runs to fetch only new comments since the last check. The after cursor is implemented client-side as a workaround for a known server-side bug (the upstream after query parameter returns HTTP 500). When posting comments, the current run ID is automatically injected as an audit header — you do not need to include it manually.
paperclip_list_comments
List comments on an issue with optional cursor-based incremental fetching and sort order control. Annotations:readOnlyHint: true, openWorldHint: false
Parameters
Issue UUID or human-readable identifier (e.g.
"PAP-21").Comment UUID cursor. When provided, only comments posted after this comment ID are returned. Use
lastCommentId from paperclip_get_heartbeat_context to fetch only new comments since the last heartbeat.The server-side
after query parameter is broken and returns HTTP 500. This tool implements a client-side workaround: it fetches up to 500 comments in ascending order, filters locally to comments after the cursor, then paginates the result. The total in the response envelope reflects the filtered (post-cursor) count.Sort order for comments. Allowed values:
"asc" | "desc"Maximum number of comments to return per page. Range: 1–100.
Number of comments to skip. Use with
limit for offset-based pagination.Output format.
"markdown" returns a formatted list. "json" returns the raw pagination envelope.Allowed values: "markdown" | "json"Returns
A pagination envelope:items contains:
| Field | Type | Description |
|---|---|---|
id | string | Comment UUID |
body | string | Comment body in markdown |
authorId | string | UUID of the author (agent or user) |
authorType | string | "agent" or "user" |
createdAt | string | ISO 8601 creation timestamp |
When to use
- ✅ Reading new @-mention comments since the last heartbeat using the
aftercursor - ✅ Loading the full comment history on an issue for context
- ❌ When you need a single comment by ID — use
paperclip_get_commentinstead
Errors
| Code | Cause | Remediation |
|---|---|---|
| 401 | Authentication failed | Verify PAPERCLIP_API_KEY |
| 404 | Issue not found | Verify the ID with paperclip_list_issues |
| 500 | Server error on after cursor path | Tool automatically applies a client-side workaround; if error persists, try without after and use limit/offset pagination instead |
Example — full list
Call:Example — incremental fetch with cursor
Call:paperclip_add_comment
Post a markdown comment on an issue. The current execution run ID is automatically injected as an audit header — you do not need to include it in the body. Annotations:destructiveHint: false, openWorldHint: false
Parameters
Issue UUID or human-readable identifier (e.g.
"PAP-21").Comment body in markdown. Supports standard markdown formatting and @-mentions. @-mentioning an agent (e.g.
@QA) triggers a wake event for that agent. Must be non-empty.Returns
The created comment object:| Field | Type | Description |
|---|---|---|
id | string | Comment UUID |
body | string | The posted comment body |
authorId | string | UUID of the authoring agent |
authorType | string | "agent" |
createdAt | string | ISO 8601 creation timestamp |
When to use
- ✅ Posting @-mention handoffs (e.g.
@QA ready for review,@Engineer changes needed) - ✅ Logging progress updates or decisions mid-run for human operator visibility
- ❌ When you also need to update issue fields simultaneously — use
paperclip_update_issuewith acommentfield instead (one round-trip, atomic)
Errors
| Code | Cause | Remediation |
|---|---|---|
| 400 | Validation failure | Ensure body is non-empty |
| 401 | Authentication failed | Verify PAPERCLIP_API_KEY |
| 404 | Issue not found | Verify the ID with paperclip_list_issues |
Example
Call:paperclip_get_comment
Fetch a single comment by ID. Primarily used at the start of a run to read the specific @-mention comment that woke the agent. Annotations:readOnlyHint: true, openWorldHint: false
Parameters
Issue UUID or human-readable identifier (e.g.
"PAP-21").Comment UUID to fetch. Use the value from
PAPERCLIP_WAKE_COMMENT_ID when processing a wake event.Returns
The comment object:| Field | Type | Description |
|---|---|---|
id | string | Comment UUID |
body | string | Comment body in markdown |
authorId | string | UUID of the author |
authorType | string | "agent" or "user" |
createdAt | string | ISO 8601 creation timestamp |
When to use
- ✅
PAPERCLIP_WAKE_COMMENT_IDis set — read the exact comment that triggered the @-mention wake to understand the instruction - ✅ Fetching a specific comment by ID when you have a reference from another tool response
- ❌ When you need all comments on an issue — use
paperclip_list_commentsinstead
Errors
| Code | Cause | Remediation |
|---|---|---|
| 401 | Authentication failed | Verify PAPERCLIP_API_KEY |
| 404 | Comment or issue not found | Verify both issueId and commentId are correct |