Skip to main content
Glama

Server Details

Connect AI agents to Suggix to manage feedback, roadmap items, changelogs, and users.

Ownership verified
Status
Healthy
Uptime
94.5% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A3.5/5.0

Scored across 21 tools

Disambiguation4/5

Each tool targets a clear resource+action (feedback, changelog, comment, user, file), so most are easily distinguished. The one soft overlap is roadmap_update versus feedback_update, since the roadmap is described as a filtered feedback view, but the descriptions clarify the narrower field set for roadmap editing.

Naming Consistency4/5

Names follow a consistent resource_action (noun_verb) pattern across changelog_*, comment_*, feedback_*, user_*, roadmap_*, and file_upload. The lone outlier is workspace_context, which uses noun_noun and breaks the verb pattern, but overall it is highly predictable.

Tool Count4/5

21 tools sit at the upper edge of comfortable but are justified by full CRUD across several distinct resources (feedback, changelog, comment) plus user, roadmap, file and context helpers. Each tool maps to a real operation rather than being redundant padding.

Completeness4/5

Strong CRUD lifecycle coverage for feedback, changelogs, and comments, plus user listing/updating and roadmap views. Gaps exist at the edges: no create/delete for users and no create/update for boards, statuses, or tags (only read via workspace_context), which agents must treat as external configuration.

Available Tools

21 tools
changelog_createAInspect

Create a changelog. title and text are required. text MUST be a serialized Editor.js document JSON string, never plain text. IMPORTANT: heading blocks MUST use type "heading", NEVER "header". Text fields must be serialized Editor.js document JSON strings, never plain text.

IMPORTANT:

  • The value must be a valid JSON string containing a "blocks" array and "version".

  • Heading block type is EXACTLY "heading". NEVER use "header".

  • heading.data.level must be 1, 2, or 3.

  • heading.data.text contains the heading content.

  • Normal text uses "paragraph" with data.text.

  • Do not invent, rename, or substitute Editor.js block types.

  • Use the exact block type names and field names defined below.

Supported block types:

  • heading: {"type":"heading","data":{"text":"Heading text","level":1}}

  • paragraph: {"type":"paragraph","data":{"text":"Normal text"}}

  • list: {"type":"list","data":{"style":"ordered","items":["Item 1","Item 2"]}}

  • checkList: {"type":"checkList","data":{"items":[{"text":"Item 1","checked":true}]}}

  • delimiter: {"type":"delimiter","data":{}}

  • table: {"type":"table","data":{"content":[["Cell 1","Cell 2"]]}}

  • image: {"type":"image","data":{"file":{"url":"https://example.com/image.png"}}}

  • attaches: {"type":"attaches","data":{"file":{"url":"https://example.com/file.json"},"title":"file.json"}}

Example: {"time":1789381788206,"blocks":[{"type":"heading","data":{"text":"This is a heading","level":2}},{"type":"paragraph","data":{"text":"This is normal text."}}],"version":"2.31.6"}

To insert an image: call file_upload (or POST /mcp/upload) first and embed the returned url in an image block: {"type":"image","data":{"caption":"","withBorder":false,"withBackground":false,"stretched":false,"file":{"url":"","size":37408,"name":"cover.webp","extension":"webp"}}}. For a downloadable attachment use an attaches block with the same data.file plus "title". Never reference local paths or external URLs that were not returned by file_upload. Set is_published and optional publish_at to publish or schedule it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and discloses the major hazard: text must be serialized Editor.js JSON, never plain text, with exact block-type names prohibited from substitution. It also warns against referencing URLs not returned by file_upload. It omits auth/permission requirements and any indication of the response or side effects beyond creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and well-sectioned (rules, block catalog, example), but the same rule is stated twice ('text MUST be serialized Editor.js document JSON string, never plain text' and the heading/header rule both appear both inline and in the IMPORTANT list), which inflates length without adding information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool with no annotations, no output schema, and an empty input schema, the description supplies the serialization contract, a complete block-type reference, a worked example, and the upload dependency. Auth requirements and return behavior are unaddressed, but those are minor for this operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The declared schema is effectively empty (no properties, additionalProperties: true), so the description is the sole source of parameter meaning. It documents title and text as required, defines the full Editor.js serialization contract for text, and covers is_published and publish_at as optional publishing controls — substantially more than the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Create a changelog') and immediately names the required fields, so an agent can distinguish it from changelog_update/delete/get/list without inference. The bulk of the text is precise operational detail rather than restatement of the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit procedural prerequisite for image/attachment blocks ('call file_upload first and embed the returned url') and explains how to publish or schedule via is_published/publish_at. It does not explicitly say when to prefer changelog_update over this tool, so the alternative routing is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

changelog_deleteBInspect

Permanently delete one changelog by id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the single most important trait: the deletion is permanent and irreversible. However, it says nothing about cascade behavior (e.g. whether comments or feedback tied to the changelog are removed), permission requirements, or error handling for a missing id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the destructive action and the resource, with no filler. Nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no annotations and no output schema, the description conveys the essential irreversibility but omits side effects and failure modes. Adequate as a minimum, but an agent could still be surprised by what else the call removes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema declares no properties (parameter count 0, additionalProperties true), so the description's 'by id' is the only statement of what the call actually needs. It adds real information but leaves the id's format and transport (path vs. body) unspecified against an otherwise empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (delete), resource (changelog), scope (one) and lookup key (id), which cleanly distinguishes it from the create/get/list/update siblings in the changelog family. It stops short of naming an alternative explicitly, but the action is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to reach for this tool versus changelog_update or changelog_list, no prerequisites, and no confirmation/undo workflow described. The only hint is the implied caveat in 'permanently', which is not framed as usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

changelog_getBInspect

Get a changelog by id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral load, but it only implies a read operation via 'Get'. It omits any mention of error behavior (e.g., missing id), permissions, rate limits, or the shape of the response, leaving essential behavior undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that precisely states the tool's function with no filler. It is appropriately sized for a simple retrieval tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-id tool with no annotations or output schema, the description is minimally informative but leaves critical gaps: the id parameter is not defined in the schema and the description does not explain expected return content or error cases. An agent lacks enough context to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero formally declared parameters and 100% (vacuous) schema coverage, establishing a baseline of 4. The description adds that an id is the required selector, which helps the agent call the tool despite the empty schema, though it doesn't specify the id format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a changelog') and the selection criterion ('by id'), which implicitly distinguishes it from changelog_list. However, it does not name alternative tools or clarify scope beyond the id-based single retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the phrase 'by id'—an agent can infer this tool is for retrieving a single changelog when the identifier is known. There is no explicit guidance on when to prefer this tool over changelog_list or other siblings, nor any stated exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

changelog_listBInspect

List changelogs by status, keywords, order_by or direction.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It conveys that this is a read operation, but says nothing about pagination, ordering defaults, result limits, or authentication needs for a list endpoint that could return large result sets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, and the filter dimensions are grouped cleanly. It is arguably too terse for a listing tool, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema and no annotations, the description is adequate but thin. It should disclose pagination behavior and at least gesture at default ordering, which an agent needs before issuing the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema declares zero parameters (only additionalProperties: true), so the description does meaningful work by naming the available filter axes (status, keywords, order_by, direction). It still omits value formats or defaults, but it adds useful meaning beyond an empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('changelogs') plus the dimensions it can be filtered by, so the agent knows exactly what the tool returns. It does not explicitly differentiate itself from sibling reads like changelog_get, but the 'list' scope is clear enough to disambiguate from create/update/delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description names filter options but never says when to use this tool versus changelog_get or how it relates to the other changelog verbs. No preconditions, no exclusions, no alternative routing guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

changelog_updateAInspect

Update a changelog by id; accepts title, text, is_published and publish_at. If text is supplied, it MUST be a serialized Editor.js document JSON string, never plain text. IMPORTANT: heading blocks MUST use type "heading", NEVER "header". Text fields must be serialized Editor.js document JSON strings, never plain text.

IMPORTANT:

  • The value must be a valid JSON string containing a "blocks" array and "version".

  • Heading block type is EXACTLY "heading". NEVER use "header".

  • heading.data.level must be 1, 2, or 3.

  • heading.data.text contains the heading content.

  • Normal text uses "paragraph" with data.text.

  • Do not invent, rename, or substitute Editor.js block types.

  • Use the exact block type names and field names defined below.

Supported block types:

  • heading: {"type":"heading","data":{"text":"Heading text","level":1}}

  • paragraph: {"type":"paragraph","data":{"text":"Normal text"}}

  • list: {"type":"list","data":{"style":"ordered","items":["Item 1","Item 2"]}}

  • checkList: {"type":"checkList","data":{"items":[{"text":"Item 1","checked":true}]}}

  • delimiter: {"type":"delimiter","data":{}}

  • table: {"type":"table","data":{"content":[["Cell 1","Cell 2"]]}}

  • image: {"type":"image","data":{"file":{"url":"https://example.com/image.png"}}}

  • attaches: {"type":"attaches","data":{"file":{"url":"https://example.com/file.json"},"title":"file.json"}}

Example: {"time":1789381788206,"blocks":[{"type":"heading","data":{"text":"This is a heading","level":2}},{"type":"paragraph","data":{"text":"This is normal text."}}],"version":"2.31.6"}

To insert an image: call file_upload (or POST /mcp/upload) first and embed the returned url in an image block: {"type":"image","data":{"caption":"","withBorder":false,"withBackground":false,"stretched":false,"file":{"url":"","size":37408,"name":"cover.webp","extension":"webp"}}}. For a downloadable attachment use an attaches block with the same data.file plus "title". Never reference local paths or external URLs that were not returned by file_upload.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden, and it does disclose hard behavioral constraints: text must be serialized Editor.js JSON, heading type is exactly 'heading' not 'header', and images require a prior file_upload. It omits permission requirements, error behavior for a bad id, and whether unspecified fields are preserved or cleared.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and organized into rules plus a supported-block-type list, but it repeats itself: 'never plain text' appears twice and the heading/header warning appears twice in close succession. The image example is verbose with many unused default fields, so the content is useful but not tightly edited.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the definition is unusually complete about the hazardous payload format and required upload workflow. It still leaves partial-update semantics, authorization needs, and failure modes unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is an empty object, yet the description fully specifies four accepted parameters and, critically, the exact serialized JSON contract for 'text' including block type names, field names, level constraints, and a complete example. This is far more than structured fields provide and compensates entirely for the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Update a changelog by id') and enumerates the mutable fields (title, text, is_published, publish_at). The 'by id' scoping and update framing make it trivially distinguishable from changelog_create/get/list/delete siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a real prerequisite workflow: call file_upload first and embed the returned URL, never reference local paths or unreturned external URLs. It does not state when to prefer changelog_create versus this tool, nor whether updates are partial or full replacements, so it falls short of explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

comment_createAInspect

Create a comment on a feedback item. post_id and text are required; text is plain text, NOT Editor.js JSON. Optional reply_id replies to an existing comment. Optional attachment must be a JSON string of an array like [{"url":"https://.../file.png","size":37408,"name":"file.png","extension":"png"}]; upload with file_upload first and reuse its url.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses a format constraint and a cross-tool prerequisite (upload via file_upload first), but says nothing about permissions, whether the comment notifies the feedback author, or side effects of replying via reply_id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, and the required-field, format and prerequisite sentences each earn their place. The attachment example makes the single sentence dense, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema and an effectively empty input schema, the description supplies the required fields, formats and the upload prerequisite needed to call it successfully. Auth/permission expectations and the effect on the feedback item are the remaining gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is an empty object with additionalProperties, so it documents zero parameters; the description fully compensates by naming post_id and text as required, marking reply_id and attachment as optional, and giving an exact JSON shape example for the attachment array.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Create) and resource (comment) plus the target object (feedback item), which cleanly separates it from siblings comment_list, comment_update and comment_delete. An agent can identify the operation without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use constraints: text is plain text NOT Editor.js JSON, and attachments require calling file_upload first and reusing its url. It stops short of naming an alternative tool or an explicit when-not-to-use condition, so it is clear context rather than full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

comment_deleteBInspect

Permanently delete one comment by id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the key trait that deletion is permanent/irreversible. It says nothing about authorization requirements, behavior on a non-existent id, or whether removal is soft or hard beyond the word 'permanently'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple destructive tool with no annotations and no output schema, the description conveys purpose and irreversibility but omits permission needs and failure modes, leaving gaps an agent would want before invoking an irreversible operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero declared parameters, so the baseline is 4. The phrase 'by id' at least names the identifier the caller must supply even though the schema declares none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (delete) and resource (comment) with an id-based lookup, which is enough to distinguish it from sibling tools like comment_update and comment_create. No explicit sibling naming, but the delete action is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when this should be chosen over comment_update, no prerequisites, no note about a confirmation step or the sibling comment_list for discovering ids. The agent must infer everything about usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

comment_listAInspect

List comments for a required post_id. Optional reply_id returns replies to that root comment; also accepts limit, offset, order_by and direction.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses that this is a list operation and explains reply_id's effect, but omits auth requirements, pagination defaults/limits, rate limits, and return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences that front-load the main action and then add filtering options. No redundant or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list endpoint with no output schema and no annotations, the description covers the core required parameter and the main optional filters. It leaves default ordering, pagination behavior, and response shape unspecified, so an agent may need to infer those.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is an empty object with additionalProperties, so it provides no parameter documentation. The description is the only source for post_id, reply_id, limit, offset, order_by, and direction, and it clarifies reply_id's semantics. It does not specify value formats for order_by or direction, and it asserts a required post_id not reflected in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States 'List comments' and ties it to a required post_id plus reply_id filtering. It does not explicitly differentiate from sibling comment tools like comment_create or comment_update, so it stops at clear but not sibling-distinguishing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives context that post_id is required and reply_id returns replies to a root comment, which helps parameter use. It does not say when to choose this over other list endpoints or when reply_id should be omitted, leaving alternatives unstated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

comment_updateBInspect

Update a comment by id. Optional fields: text (plain text), attachment (JSON array string), is_pinned and is_spam.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral-disclosure burden. It reveals the optional fields and an attachment format hint, but does not state permissions, whether updates are partial or full replacements, what happens to omitted fields, or any side effects—important gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action and lookup key front-loaded. Every phrase adds useful information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and an underspecified schema, the description covers the basic operation and optional fields but omits prerequisites, partial-update behavior, return information, and permission requirements. It is minimally adequate but leaves meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is effectively empty (additionalProperties true, no defined properties), so the description must supply parameter meaning. It names the lookup id and four optional fields, including type hints for text ('plain text') and attachment ('JSON array string'), though is_pinned and is_spam types and semantics are left implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Update a comment') plus the lookup key ('by id'), so the core action is clear. It does not explicitly distinguish itself from sibling tools like comment_create or comment_delete, relying on the tool name for that differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used to modify an existing comment by id, but it offers no when-to-use guidance, no exclusions, and no alternatives to consider. An agent gets no explicit routing help beyond the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

feedback_createAInspect

Create feedback. board_id and title are required. If supplied, text MUST be a serialized Editor.js document JSON string, never plain text. Text fields must be serialized Editor.js document JSON strings, never plain text.

IMPORTANT:

  • The value must be a valid JSON string containing a "blocks" array and "version".

  • Heading block type is EXACTLY "heading". NEVER use "header".

  • heading.data.level must be 1, 2, or 3.

  • heading.data.text contains the heading content.

  • Normal text uses "paragraph" with data.text.

  • Do not invent, rename, or substitute Editor.js block types.

  • Use the exact block type names and field names defined below.

Supported block types:

  • heading: {"type":"heading","data":{"text":"Heading text","level":1}}

  • paragraph: {"type":"paragraph","data":{"text":"Normal text"}}

  • list: {"type":"list","data":{"style":"ordered","items":["Item 1","Item 2"]}}

  • checkList: {"type":"checkList","data":{"items":[{"text":"Item 1","checked":true}]}}

  • delimiter: {"type":"delimiter","data":{}}

  • table: {"type":"table","data":{"content":[["Cell 1","Cell 2"]]}}

  • image: {"type":"image","data":{"file":{"url":"https://example.com/image.png"}}}

  • attaches: {"type":"attaches","data":{"file":{"url":"https://example.com/file.json"},"title":"file.json"}}

Example: {"time":1789381788206,"blocks":[{"type":"heading","data":{"text":"This is a heading","level":2}},{"type":"paragraph","data":{"text":"This is normal text."}}],"version":"2.31.6"}

To insert an image: call file_upload (or POST /mcp/upload) first and embed the returned url in an image block: {"type":"image","data":{"caption":"","withBorder":false,"withBackground":false,"stretched":false,"file":{"url":"","size":37408,"name":"cover.webp","extension":"webp"}}}. For a downloadable attachment use an attaches block with the same data.file plus "title". Never reference local paths or external URLs that were not returned by file_upload. owner_id, due_date, status_id, priority and tags are optional. Field format rules:

  • tags: An array of Tag IDs, NOT tag names. Tag IDs must come from workspace_context. Example: {"tags":[10005,10004]} Do not pass strings such as ["bug","feature"].

  • priority: An integer enum: 1 = Low 2 = Medium 3 = High 4 = Urgent Example: {"priority":3} means High. Do not use strings such as "high" or "urgent".

  • due_date: A 13-digit integer timestamp with a precision suffix encoded in the LAST digit. The timestamp represents the date/time, while the LAST digit specifies the precision: 0 = Month 1 = Quarter 2 = Year

    Examples: 1790784000000 = October 2026 (month precision) 1790784000001 = Q4 2026 (quarter precision) 1767196800002 = 2026 (year precision)

    IMPORTANT: due_date is NOT a standard Unix timestamp. Do not convert it to a normal date/time or remove the final precision digit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses strict serialization validation (Editor.js JSON with blocks/version), the image upload workflow prerequisite, and the unusual due_date precision-digit encoding. It still omits failure behavior, permissions, and whether the created record's ID is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded requirements are good, but the text repeats itself ('text MUST be a serialized Editor.js document JSON string, never plain text' immediately followed by 'Text fields must be serialized Editor.js document JSON strings, never plain text') and includes near-duplicate warnings about block type names. The long block-type catalog is justified by complexity, the redundancy is not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an empty schema, no annotations, and no output schema, the description supplies nearly everything an agent needs on the input side, including examples and edge-case formats. It is only incomplete in that it says nothing about return values, errors, or authorization requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema declares zero properties (bare object with additionalProperties), so the description is the only source of parameter meaning and it delivers: required fields, optional fields, tag IDs must be numeric IDs from workspace_context, priority integer enum 1-4, and the non-standard due_date last-digit precision encoding with worked examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create feedback') that clearly distinguishes it from feedback_update, feedback_delete, and feedback_get. However, it never explicitly contrasts itself with those siblings or states what kind of object a feedback is; the clarity comes mostly from the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage by naming required fields (board_id, title) and gives a concrete prerequisite for one case ('call file_upload first and embed the returned url'). But it never says when to use this tool versus feedback_update, comment_create, or other creation siblings, and there is no when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

feedback_deleteAInspect

Permanently delete one feedback item by id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does add one critical behavioral trait beyond the name: the deletion is 'permanently' destructive and irreversible. However, it says nothing about required permissions, side effects, or error behavior for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word (permanently, one, by id) adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple destructive tool with no annotations and no output schema, the description covers the key facts: what is deleted, its granularity, and irreversibility. Auth requirements and error handling are not covered, which are minor gaps for a tool this simple.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema defines zero properties, so the baseline for zero-parameter tools applies. The description mentions deletion 'by id', hinting at the identifying input, but since the schema declares no id field, the guidance is only partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (delete), a specific resource (feedback item), and a scope qualifier (one, by id). The resource name clearly separates it from sibling delete tools such as changelog_delete and comment_delete, so an agent can identify it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no reference to alternatives like feedback_update. Usage is only implied by the verb 'delete' and the singular 'one feedback item'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

feedback_getBInspect

Get a feedback item by id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says nothing about error behavior (e.g., not found), permissions, rate limits, or return characteristics beyond the implication that it is a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a simple retrieval tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, a nearly empty input schema, and no output schema, the description is too thin. It mentions an id but does not resolve how the id is supplied when the schema declares no properties, nor does it describe return content or failure cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero declared parameters, so the baseline is 4. The description adds useful semantics by indicating that an id is needed to retrieve a specific item, though the schema itself does not formally define that parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('a feedback item') with scoping by id. It is clear enough to distinguish from feedback_list and feedback_update, but it does not explicitly name sibling alternatives or contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' implies single-item retrieval, so the intended context is inferable. However, there is no explicit guidance on when to use this versus feedback_list or what preconditions are required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

feedback_listBInspect

List feedback with optional board_ids, status_ids, owner_ids, priority, keywords, limit, offset, order_by and direction filters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It only enumerates filters and says nothing about read-only nature, authentication requirements, pagination behavior (beyond naming limit/offset as filters), or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. The comma-separated filter list is dense but efficient; no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no annotations, an empty schema, and no output schema, the description is minimally adequate: it says what it lists and what filters exist. It omits return fields, pagination defaults, parameter formats, and any safety or auth context, leaving notable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero declared properties and provides no parameter descriptions, so the description adds substantial value by enumerating the available filters (board_ids, status_ids, owner_ids, priority, keywords, limit, offset, order_by, direction). It does not specify types, accepted values, or defaults, so it is not fully complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb+resource ('List feedback') that an agent can distinguish from siblings like feedback_get or feedback_create. However, it does not explicitly state that it returns multiple feedback records or differentiate its list semantics from sibling list tools beyond the resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by listing available optional filters, suggesting it is used to retrieve feedback with filtering. It does not state when to prefer this over feedback_get, feedback_list alternatives, or any prerequisites, so guidance remains only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

feedback_updateAInspect

Update feedback by id. Optional fields: board_id, title, text, is_pinned, is_spam, owner_id (0 unassigns), due_date (0 clears), status_id (0 clears), priority and tags. If text is supplied, it MUST be a serialized Editor.js document JSON string, never plain text. Text fields must be serialized Editor.js document JSON strings, never plain text.

IMPORTANT:

  • The value must be a valid JSON string containing a "blocks" array and "version".

  • Heading block type is EXACTLY "heading". NEVER use "header".

  • heading.data.level must be 1, 2, or 3.

  • heading.data.text contains the heading content.

  • Normal text uses "paragraph" with data.text.

  • Do not invent, rename, or substitute Editor.js block types.

  • Use the exact block type names and field names defined below.

Supported block types:

  • heading: {"type":"heading","data":{"text":"Heading text","level":1}}

  • paragraph: {"type":"paragraph","data":{"text":"Normal text"}}

  • list: {"type":"list","data":{"style":"ordered","items":["Item 1","Item 2"]}}

  • checkList: {"type":"checkList","data":{"items":[{"text":"Item 1","checked":true}]}}

  • delimiter: {"type":"delimiter","data":{}}

  • table: {"type":"table","data":{"content":[["Cell 1","Cell 2"]]}}

  • image: {"type":"image","data":{"file":{"url":"https://example.com/image.png"}}}

  • attaches: {"type":"attaches","data":{"file":{"url":"https://example.com/file.json"},"title":"file.json"}}

Example: {"time":1789381788206,"blocks":[{"type":"heading","data":{"text":"This is a heading","level":2}},{"type":"paragraph","data":{"text":"This is normal text."}}],"version":"2.31.6"}

To insert an image: call file_upload (or POST /mcp/upload) first and embed the returned url in an image block: {"type":"image","data":{"caption":"","withBorder":false,"withBackground":false,"stretched":false,"file":{"url":"","size":37408,"name":"cover.webp","extension":"webp"}}}. For a downloadable attachment use an attaches block with the same data.file plus "title". Never reference local paths or external URLs that were not returned by file_upload. Field format rules:

  • tags: An array of Tag IDs, NOT tag names. Tag IDs must come from workspace_context. Example: {"tags":[10005,10004]} Do not pass strings such as ["bug","feature"].

  • priority: An integer enum: 1 = Low 2 = Medium 3 = High 4 = Urgent Example: {"priority":3} means High. Do not use strings such as "high" or "urgent".

  • due_date: A 13-digit integer timestamp with a precision suffix encoded in the LAST digit. The timestamp represents the date/time, while the LAST digit specifies the precision: 0 = Month 1 = Quarter 2 = Year

    Examples: 1790784000000 = October 2026 (month precision) 1790784000001 = Q4 2026 (quarter precision) 1767196800002 = 2026 (year precision)

    IMPORTANT: due_date is NOT a standard Unix timestamp. Do not convert it to a normal date/time or remove the final precision digit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose useful behavioral traits: sentinel values (owner_id 0 unassigns, due_date/status_id 0 clears), that fields are optional (implying partial update), and that text must be serialized Editor.js JSON. It does not cover permissions, whether unlisted fields are preserved or wiped, or any rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and sections are labeled, which aids scanning. However there is clear redundancy: the Editor.js warning is stated twice in consecutive sentences, and the block-type catalog plus repeated examples inflate the description well beyond the minimum needed to call the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, an empty schema and no output schema, the description supplies the essential payload semantics and the difficult date/priority encodings. It still omits what the response looks like and whether omitted fields are left intact, but it is close to complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema declares no properties, so the description must define the payload, and it does so in depth: tags are Tag IDs from workspace_context (not names), priority is an integer enum 1-4 with meanings, and due_date is a 13-digit timestamp with an encoded precision suffix and worked examples. This is far more than the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+key: 'Update feedback by id', which cleanly distinguishes it from the feedback_create, feedback_get, feedback_list and feedback_delete siblings. An agent can identify the operation without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The action and target are implied clearly, but there is no explicit when-to-use guidance, no statement of prerequisites (e.g. fetch with feedback_get first, resolve tag IDs via workspace_context), and no exclusions. The guidance given is about payload format, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

file_uploadAInspect

Upload a file to this workspace's storage. The result is an object under the file key holding url, size, name and extension, identical to what POST /mcp/upload returns. Args: name (required, e.g. "cover.png") and content_base64 (required, base64-encoded file bytes, max 5MB). Optional content_type overrides the detected MIME type. Use the returned url inside Editor.js image or attaches blocks when creating or updating feedback and changelogs. For files larger than 5MB, POST multipart/form-data to /mcp/upload with the same Bearer MCP API key instead.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the 5MB ceiling, base64 encoding requirement, MIME auto-detection with an override, and the exact shape of the returned object. It does not state auth/permission requirements for this call (only for the HTTP alternative) or error behavior, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph, front-loaded with purpose, then args, then the escape hatch. Everything earns its place, though the return-shape sentence and the alternative-endpoint sentence make it longer than strictly needed for a simple upload.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, no annotations, and an empty input schema, the description supplies return structure, argument contract, size limit, and the large-file alternative, which is nearly everything an agent needs. Missing auth/permission context and any failure-mode hints keep it below 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema declares no properties, so the description is the sole documentation of the arguments and it delivers: name (with an example), content_base64 (format plus size cap), and optional content_type (overrides detection). Names and semantics are fully usable, though the schema itself remains empty so nothing is machine-validated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Upload a file to this workspace's storage') and disambiguates from the only near-neighbor flow by specifying the path (POST /mcp/upload) used for the oversized case. An agent knows exactly what this tool produces (an object with url, size, name, extension).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit alternative with its trigger condition: files over 5MB should go to the multipart /mcp/upload endpoint instead. It also tells the agent where the resulting url is consumed (Editor.js image/attaches blocks in feedback and changelogs), so the downstream use case is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roadmap_listAInspect

List feedback as roadmap items; roadmap is a feedback view filtered by status, owner, priority and due date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It adds the useful conceptual model that a roadmap is a filtered feedback view, but says nothing about read-only safety, permissions, pagination or ordering of a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence that front-loads the action and then the conceptual clarification. No wasted words, though the second clause packs several concepts into one phrase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter list tool with no output schema and no annotations, the description covers the basic concept but omits return shape, ordering, and any indication of what the caller receives, leaving an agent to infer the rest.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes 0 parameters, so per the rubric the baseline is 4. The description names filter dimensions (status, owner, priority, due date) that aren't reflected in the schema, which is mildly ambiguous but not harmful given additionalProperties is allowed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('List') and resource ('feedback as roadmap items') and clarifies the conceptual relationship — roadmap is a feedback view. This distinguishes it reasonably from feedback_list, though it doesn't state the distinction as sharply as it could.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: mentioning it is a 'feedback view' hints that roadmap_list is the preferred entry point for roadmap-shaped reads, but there is no explicit when-to-use or when-not-to-use guidance relative to feedback_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roadmap_updateAInspect

Update a roadmap item (the underlying feedback) by id. Optional fields: status_id, owner_id, priority and due_date. Field format rules:

  • tags: An array of Tag IDs, NOT tag names. Tag IDs must come from workspace_context. Example: {"tags":[10005,10004]} Do not pass strings such as ["bug","feature"].

  • priority: An integer enum: 1 = Low 2 = Medium 3 = High 4 = Urgent Example: {"priority":3} means High. Do not use strings such as "high" or "urgent".

  • due_date: A 13-digit integer timestamp with a precision suffix encoded in the LAST digit. The timestamp represents the date/time, while the LAST digit specifies the precision: 0 = Month 1 = Quarter 2 = Year

    Examples: 1790784000000 = October 2026 (month precision) 1790784000001 = Q4 2026 (quarter precision) 1767196800002 = 2026 (year precision)

    IMPORTANT: due_date is NOT a standard Unix timestamp. Do not convert it to a normal date/time or remove the final precision digit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral disclosure burden. It signals a mutation by 'Update' and adds a crucial warning that due_date is not a standard Unix timestamp, but it does not cover permissions, reversibility, partial-update semantics, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose before using bullets for field rules, and the length is justified by non-obvious formats. Minor redundancy exists in the due_date warning, but there is little waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the empty schema and no annotations, the description covers purpose and the trickiest parameter formats well. It still omits status_id and owner_id type details, partial-update behavior, and response information, so some inference remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is an empty object, so the description is the only source of parameter semantics. It names optional fields and gives detailed enum mapping for priority and non-standard encoding for due_date, plus tag ID rules, substantially compensating for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific verb 'Update' and resource 'roadmap item', and clarifies it is the underlying feedback identified by id. It does not explicitly differentiate from sibling feedback_update, but the roadmap context is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, alternatives, or prerequisites are provided. It only lists optional fields and format rules, leaving the agent to infer when this tool is appropriate relative to feedback_update or other update tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

user_getBInspect

Get one workspace user by id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only retrieval via 'Get,' but says nothing about auth requirements, error behavior, or safety beyond that weak implication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single, front-loaded sentence with no wasted words. The core action and scope are immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup with no output schema, the description covers the basic action. However, with no annotations and no defined id parameter, it leaves the id format, auth needs, and failure behavior unspecified, making it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero documented parameters, so the baseline is 4 under the scoring rules. The description usefully mentions an 'id' identifier that is absent from the schema, but adds no type, format, or validation detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get one workspace user by id.' The singular 'one' distinguishes it from the list sibling user_list, but it does not explicitly name alternatives or scope beyond the id lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: call this when you have a user id and need a single workspace user. There is no explicit when-not guidance or mention of user_list as the alternative for browsing multiple users.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

user_listBInspect

List workspace users with optional keywords, is_star, disabled, limit and offset filters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions optional filters and limit/offset pagination controls, but does not state whether the operation is read-only, what permissions are required, default result size, ordering, or how multiple filters combine.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose and the available filters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no annotations and no output schema, the description covers basic purpose and filter names but omits return format, default pagination behavior, sort order, and permission scoping. It is minimally adequate but leaves clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is an empty object with additionalProperties, so the description is the only source of parameter information. It lists five filter names (keywords, is_star, disabled, limit, offset), which adds meaningful semantic content beyond the schema, though it does not specify types, defaults, or allowed values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('List') and resource ('workspace users'), with an explicit scope. It distinguishes itself from user_get and user_update by name and function, though it does not name those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only states what the tool does; it gives no guidance on when to use it versus alternatives like user_get or workspace_context. There are no exclusions or conditions that would help an agent choose between sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

user_updateCInspect

Update a user's is_star, disabled or monthly_spend fields by id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden for a mutation tool, yet it says nothing about permission requirements, whether field values are set vs toggled (e.g. is_star), reversibility, or what the response contains. It only names the mutable fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the resource and mutable fields are stated immediately. It is efficient, though arguably too terse to be optimally structured for a mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, an unconstrained input schema, and no output schema, the description is not complete enough: it omits parameter types, the identifier requirement in the schema, permission/reversibility behavior, and any sense of the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is an empty object with additionalProperties, so the description's naming of three updatable fields (is_star, disabled, monthly_spend) and the 'id' key genuinely adds parameter meaning. However it omits value types and formats (e.g. boolean vs numeric monthly_spend), leaving gaps the schema cannot fill.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (update), resource (user), and the exact fields it can change, which clearly distinguishes it from user_get and user_list siblings. It lacks no sibling-routing nuance but is unambiguous about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' hints at a required identifier, but there is no guidance on when to use this instead of siblings like user_get or workspace_context, nor any note on prerequisites or permissions. Usage must be inferred entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workspace_contextAInspect

Get this workspace's non-sensitive configuration plus all Boards, Statuses and Tags in one call. IMPORTANT: Before creating or updating Feedback, call workspace_context and use the returned IDs for board_id, status_id, owner_id and tags. Tags must be passed as an array of Tag IDs, never tag names.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that it returns non-sensitive configuration and lists Boards, Statuses, and Tags, but does not explicitly state read-only status, authentication requirements, rate limits, or other side effects. 'Get' and 'non-sensitive' imply a safe read, but the disclosure is incomplete for a tool with zero annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states purpose and scope, the second provides critical usage constraints. It is front-loaded, wastes no words, and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description adequately explains what is returned and why to call it, which is enough for an agent to invoke correctly. However, it leaves some behavioral details (e.g., read-only nature, exact return structure) unspecified, so it is not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4 per the rubric. The description adds useful guidance about IDs returned for other tools' parameters (e.g., tags as an array of Tag IDs, never tag names), but there are no parameters of this tool to describe.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('this workspace's non-sensitive configuration plus all Boards, Statuses and Tags'), clearly distinguishing it from sibling CRUD tools. It also front-loads the scope in one call, so an agent knows exactly what the tool provides.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to call it ('Before creating or updating Feedback, call workspace_context') and how to use the returned IDs, which is strong context. However, it does not mention when not to use it or name any alternative tools, so it falls short of the 5-level rubric.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 21 tool updates
    • First observedchangelog_create
    • First observedchangelog_delete
    • First observedchangelog_get
    • First observedchangelog_list
    • First observedchangelog_update
    • First observedcomment_create
    • First observedcomment_delete
    • First observedcomment_list
    • First observedcomment_update
    • First observedfeedback_create
    • First observedfeedback_delete
    • First observedfeedback_get
    • First observedfeedback_list
    • First observedfeedback_update
    • First observedfile_upload
    • First observedroadmap_list
    • First observedroadmap_update
    • First observeduser_get
    • First observeduser_list
    • First observeduser_update
    • First observedworkspace_context

Publisher details

Operator
Not available
Vendor relationship
Not available
Trust center
Not available
Restrictions
Unknown

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Connect your AI assistant to Featuriq — the product feedback and roadmap tool for SaaS teams. Browse top feature requests, search feedback with natural language, update statuses, notify users when features ship, and manage your roadmap — all from your AI client. Authenticates via OAuth. No manual API key setup needed.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with VoteShip feature requests, voting boards, roadmaps, and changelogs, including public board access without credentials and authenticated project administration with a project secret.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Gives AI agents direct access to your Arcate product discovery workspace to read signals, browse roadmaps, and ingest new customer feedback. It enables users to search existing data and link signals to initiatives through natural language commands.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources