The Remarq MCP server has 5 well-defined tools with clear names and purposes. All tools have non-empty descriptions and most parameters include type information. However, there are significant gaps: parameter descriptions are minimal or absent for several inputs, output schemas are not documented, error handling guidance is limited, and no tool annotations (readOnlyHint/destructiveHint) are present. The naming follows verb_noun convention (check_connection, list_comments, create_comment, reply_to_comment, resolve_comment) which is clear and action-oriented. Input schemas use Zod validation on the backend (mcp-server/package.json shows zod dependency), but the documented schemas lack detail, for example, 'include_document' boolean has a description but 'uri' and 'status' parameters lack constraints or examples of valid values. Error responses are not visible in the provided code sample, making it impossible to verify recovery guidance. Output structure (what fields are returned) is not documented for any tool.
Check if the Remarq server is reachable
Create a new top-level comment on a document
List comments, optionally filtered by document URI and status
Reply to an existing comment
Resolve (close) a comment. Cannot be used on replies — only top-level comments.
Output schemas are not documented for any tool. LLMs cannot plan downstream calls or extract needed fields without knowing what structure they'll receive.
Parameter descriptions are vague or missing. 'uri' in list_comments says 'Filter by document URI' but doesn't explain format (URL? file path? identifier?). 'quote' in create_comment has no explanation of its role (selected text? exact match required?). 'prefix' and 'suffix' lack context on why they're needed (for anchoring?).
No pagination guidance for list_comments. If a document has 500 comments, will all be returned? The tool should document limit, offset/cursor, and total count behavior.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 56 | - | v1 |
No tool annotations for write operations. create_comment, reply_to_comment, and resolve_comment lack destructiveHint/idempotentHint metadata. Without these, agents cannot reason about retry safety or whether side effects are reversible.
No error handling guidance visible. If create_comment fails because the document URI doesn't exist, or the quote text isn't found in the document, what does the error response tell the LLM to do next? Recovery paths are not documented.
Parameter constraints are not enforced or documented. 'author' in create_comment and reply_to_comment has no length limit, character restrictions, or description. 'body' has no max length. LLMs will pass arbitrary strings.
status enum in list_comments only shows 'open' and 'closed' but doesn't explain what these mean or if other values exist. Parameter description is minimal.