Laraue Boards
Server Details
List, view, create, edit, delete, comment on, and see the history of Laraue Boards issues.
- Status
- Healthy
- Uptime
- 98.8% over 21 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
- Repository
- Laraue/Laraue.Apps.Boards
- GitHub Stars
- 0
TDQS
Scored across 18 tools
Each tool pairs a distinct resource with a distinct action: issues, comments, attachments, history, statuses, and organization entities are all clearly separated. edit_issue (content) vs edit_issue_status (status) and get_issue vs get_issue_history have well-defined, non-overlapping boundaries.
Every tool follows a strict verb_noun snake_case pattern (create_/edit_/delete_/get_/list_ + resource). The convention is applied uniformly with no deviations or mixed styles.
18 tools is slightly heavy but each earns its place in a full issue-tracker surface spanning issues, comments, attachments, epics, spaces, members, statuses, attributes, and history. No redundant or filler tools are present.
Issue and comment lifecycles are fully covered (create/get/list/edit/delete plus status moves), with rich read coverage for spaces, epics, statuses, members, and history. Minor gaps remain: attachments are read-only and there is no creation for spaces/epics/statuses/attributes.
Available Tools
18 toolscreate_commentCInspect
Creates a comment on an issue and returns its id. The text is limited to 4096 characters.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The comment's text, max 4096 characters. | |
| issueKey | Yes | The issue's key, e.g. 'BRD-42'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the write nature and the return value (id) and the size limit, but says nothing about authorization requirements, who the comment is attributed to, whether posting triggers notifications, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and the result. The trailing sentence largely restates the schema's maxLength, a minor redundancy, but the text is otherwise tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter create tool with no output schema, the description covers purpose, return value, and the input limit. It omits side effects (attribution, notifications) and any error/authorization behavior, so it is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (issueKey, text) are already fully documented with format hints ('BRD-42') and the maxLength constraint. The description only repeats the 4096-character limit, adding no semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (creates) and resource (comment on an issue) plus the return value (its id). It is clear on its own, though it does not explicitly distinguish itself from siblings like edit_comment or list_issue_comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. The description never mentions the alternatives in a crowded comment lifecycle (edit_comment, delete_comment) or any prerequisite such as an existing issueKey.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_issueAInspect
Creates a new issue in the space the given status belongs to, and returns its key. Requires canCreateIssue on that space (see list_spaces).
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Files to attach, base64-encoded - each becomes an attachment on the issue. Only image/jpeg, image/jpg and image/png; max 3MB each. | |
| title | Yes | The issue's title: a short one-line summary, max 256 characters. Required. | |
| content | Yes | The issue's text content, max 4096 characters. | |
| statusId | Yes | The status to create the issue in, from list_statuses - this also determines the destination space. | |
| assigneeId | No | User id to assign the issue to, from list_members. Must belong to the caller's organization. Omit to assign yourself. | |
| attributes | No | Attribute id -> plain-text value, e.g. {"5": "7"}. See list_attributes for ids/types/allowed values - for a List attribute, the value is one of its list value ids. Omit to leave every attribute unset. |
TDQS
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 the tool creates a new issue and returns its key, and that it requires canCreateIssue on the space. It does not mention side effects (e.g., notifications), whether creation is transactional, rate limits, or what happens on validation failure. This is a mutation tool, so more detail would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and return value, followed by the prerequisite. Every sentence earns its place; no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 and no output schema, the description covers the essential action, return value, and a required permission. It could be slightly more complete by mentioning that files are attached, or by hinting at validation constraints already in the schema (max lengths, file types). However, the schema handles parameter details thoroughly, so this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage; every parameter is fully described in the input schema. The description adds no parameter-level semantics beyond what the schema already states. Per the rules, with high schema coverage the baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ("Creates a new issue") and adds a scope detail: the issue is created in the space the given status belongs to, and it returns the issue key. It is clear, though it doesn't explicitly contrast with the sibling edit_issue or create_comment, so it falls short of perfect sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the prerequisite permission (canCreateIssue) and points to list_spaces for context, which gives some usage context. However, it does not say when to use this tool versus alternatives like edit_issue, nor does it mention any exclusions or typical call flow beyond the permission note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_commentAInspect
Deletes a comment - it stops appearing anywhere except the issue's audit history, and this cannot be undone through this API. Only the comment's own author can delete it - check canManage in list_issue_comments before calling. To just change its text instead, use edit_comment.
| Name | Required | Description | Default |
|---|---|---|---|
| commentId | Yes | The comment's id, from list_issue_comments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it delivers: it discloses the permanent effect (cannot be undone), the visibility change (stops appearing except in audit history), and the author-only permission constraint. This is comprehensive for a destructive operation and contradicts nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences front-load the core action, then add irreversibility, permission, and alternative routing. Every sentence carries essential information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter delete tool with no output schema and no annotations, the description covers the action, consequences, permission, and alternative. Nothing an agent needs to call it correctly is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents commentId as 'The comment's id, from list_issue_comments,' so with 100% coverage the baseline is 3. The description mentions list_issue_comments again in the context of canManage, but adds no new parameter-specific semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action ('Deletes a comment') and the resource, and differentiates it from the sibling 'edit_comment' by directing the user to that alternative for text changes. It also clearly notes the irreversibility and the audit-history retention, making the tool's scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use guidance: delete vs. edit ('To just change its text instead, use edit_comment'), and a prerequisite check ('Only the comment's own author can delete it - check canManage in list_issue_comments before calling'). This fully instructs the agent on selecting this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_issueAInspect
Deletes an issue - it stops appearing anywhere except its own audit history. Requires canDelete (see get_issue/list_issues).
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | The issue's key, e.g. 'BRD-42'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior, and it does so well: it explains the destructive effect, notes the audit-history exception, and states the required permission. It does not cover cascading effects or reversibility, but for a one-parameter delete operation the key behavioral facts are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with the core action front-loaded, followed by the permission note. Every clause earns its place and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter delete tool with no output schema, the description covers the purpose, the behavioral effect, and the authorization requirement. It does not describe the success/failure response or discuss sibling alternatives, but these are minor gaps given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the only parameter, issueKey, is already documented with a format example. The description adds no parameter-level meaning beyond what the schema provides, so it neither enhances nor detracts from the schema's coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Deletes an issue' and adds a useful behavioral clarification: the issue stops appearing everywhere except its audit history. It is specific about the verb and resource, but it does not explicitly differentiate from sibling mutating tools like edit_issue or create_issue, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: call this when an issue needs to be removed. The permission prerequisite, 'Requires canDelete', and the pointer to get_issue/list_issues provide useful context, but the description gives no explicit guidance about when not to use it or which alternative tool to prefer instead, leaving selection largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_commentAInspect
Edits a comment's text (max 4096 characters). Only the comment's own author can edit it - check canManage in list_issue_comments before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The comment's new text, replacing what's there now, max 4096 characters. | |
| commentId | Yes | The comment's id, from list_issue_comments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It does disclose a real permission constraint (author-only) and the length cap, which is meaningful. It omits what happens on rejection, whether the prior text is recoverable, and what a successful call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the action is front-loaded ahead of the constraint and the permission caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter edit with no output schema and no annotations, the description covers what is edited, the limit, and the authorization gate. Only the success/failure outcome is left unstated, which is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are documented in the schema itself, so the baseline is 3. The description restates the 4096 limit already present in the schema and only hints at where commentId comes from.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Edits a comment's text') with a scope constraint (max 4096 characters). It is clearly distinguishable from edit_issue or create_comment by resource, though it never explicitly contrasts itself with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete precondition: only the comment's own author can edit it, and it routes the agent to list_issue_comments / canManage to verify that before calling. No explicit when-not or alternative-tool guidance beyond that, but the usage condition is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_issueAInspect
Fully replaces an issue's text content - not an append or merge. Fetch the existing content via get_issue first if you need to preserve any of it. Also requires the title - pass the current one (from get_issue) to keep it. Does not change status. Requires canEdit (see get_issue/list_issues).
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Files to attach, base64-encoded - each becomes a new attachment, in addition to the issue's existing ones. Same format as create_issue. | |
| title | Yes | The issue's title: a short one-line summary, max 256 characters. Required - pass the current title to keep it. | |
| content | Yes | The issue's complete new text content, replacing what's there now, max 4096 characters. | |
| issueKey | Yes | The issue's key, e.g. 'BRD-42'. | |
| assigneeId | No | User id to reassign the issue to, from list_members. Must belong to the caller's organization. Omit to leave the current assignee unchanged. | |
| attributes | No | Attribute id -> plain-text value, same format as create_issue. Omit to leave every attribute untouched; pass {} to clear all of them. | |
| removeAttachmentIds | No | Ids of existing attachments to remove, from get_issue's Attachments list. Can be combined with files to replace one attachment with another. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and mostly delivers: it discloses destructive replacement semantics (not append/merge), the pre-fetch workflow to avoid data loss, the required title to preserve, an explicit permission prerequisite (canEdit), and the scope limit (status unchanged). It stops short of stating what happens to existing attachments or attribute side effects, but the core mutation risk profile is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five short sentences, zero filler, and the most important fact (full replacement, not merge) is front-loaded before the workflow and permission notes. Every sentence adds a distinct constraint or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no annotations and no output schema, the description covers the critical gaps: replacement semantics, the destructive data-loss risk, the canEdit requirement, and the status boundary. Attachment and attribute handling are left entirely to the (fully covered) schema, which is a minor gap given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters, including the title-preservation note and attachment/attribute semantics. The description's title guidance largely duplicates the schema's own 'Required - pass the current title to keep it' text, adding little beyond the baseline. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Fully replaces an issue's text content') and immediately disambiguates the operation type ('not an append or merge'). It also separates the tool from the sibling edit_issue_status by stating 'Does not change status.' An agent can distinguish it from edit_comment, create_issue, and edit_issue_status 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing guidance: fetch get_issue first if content must be preserved, pass the current title from get_issue to keep it, and requires canEdit (pointing at get_issue/list_issues for the check). It also names the boundary condition (no status change) that would otherwise push the agent to edit_issue_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_issue_statusAInspect
Moves an issue to a different status by id, optionally posting a comment in the same call. Requires canEdit (see get_issue/list_issues).
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | A comment to post on the issue as part of this status change, e.g. explaining why, max 4096 characters. Omit to move the status with no comment. | |
| issueKey | Yes | The issue's key, e.g. 'BRD-42'. | |
| statusId | Yes | The target status's id, from list_statuses. Can belong to a different epic than the issue's current one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add useful behavior: the permission requirement and the fact that a comment can be posted atomically in the same call. It is silent on side effects such as history entries, notifications, or what happens on an invalid statusId, so mutation behavior is only partially disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and the permission caveat second; nothing is redundant or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers purpose, permission, and the optional comment but leaves failure modes and downstream effects unexplained. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains issueKey format, the comment's max length and purpose, and where statusId comes from. The description's 'by id' and 'optionally posting a comment in the same call' restate rather than extend that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Moves an issue to a different status by id') plus the optional comment side-effect, which is far more informative than the bare name. It does not, however, contrast itself with the neighboring edit_issue tool, so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a precondition ('Requires canEdit') and points to get_issue/list_issues for permission checking, which is genuine usage context. It never states when to choose this tool over edit_issue or list_statuses, nor any exclusions, so the guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_attachmentAInspect
Downloads an attachment's original file content, by its id from get_issue's attachments (the issue's own) or list_issue_comments' attachments (a comment's). Only image attachments are supported today.
| Name | Required | Description | Default |
|---|---|---|---|
| attachmentId | Yes | The attachment's id, from get_issue or list_issue_comments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral disclosure burden. It usefully adds that only image attachments are currently supported and that the content returned is the original file content, implying a read/download operation. However, it does not mention authentication needs, failure modes for unsupported attachment types, or whether the response is binary/base64/streamed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences convey the action, the source of the id, and the image-only limitation with no redundancy. The core operation is front-loaded, and every clause adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers what the tool does, where the id comes from, and the main current limitation. It does not describe the exact output format or error behaviors, but for this level of simplicity, the description is nearly complete and would let an agent call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description mirrors the schema's guidance that attachmentId comes from get_issue or list_issue_comments. The description adds some context about the file content being original, but it does not substantially go beyond the structured parameter description, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Downloads'), the resource ('an attachment's original file content'), and the exact source contexts (get_issue attachments or list_issue_comments attachments). It precisely identifies what the tool does and how it differs from the surrounding issue/comment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use this when you have an attachment id from get_issue or list_issue_comments and need the original file content. It also provides a behavioral constraint ('Only image attachments are supported today'), which is an implicit when-not-to-use signal, though it does not explicitly name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_issueAInspect
Gets one issue's title, full content and attachments by its key (e.g. 'BRD-42'). Includes statusCategory/statusCategoryId (what its status means - Created, InProgress or Completed), canEdit/canDelete, commentCount (read the comments themselves with list_issue_comments), each attachment's id (for get_attachment and edit_issue's removeAttachmentIds parameter), and url - the issue's page in the web app, to give the user as a link.
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | The issue's key, e.g. 'BRD-42'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full disclosure burden and does it well: it enumerates the returned fields and explains the meaning of statusCategory (Created/InProgress/Completed) and the purpose of canEdit/canDelete and url. It omits error behavior (e.g. non-existent key) and permission requirements, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the core action and key, then the return details. The parenthetical cross-references make it dense but each clause adds a distinct fact, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema and no annotations, describing the returned payload and its cross-tool references is exactly the missing piece an agent needs. Nothing essential to correct invocation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single issueKey parameter, so the schema already documents format and semantics; the description only restates the same 'BRD-42' example. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Gets one issue's title, full content and attachments') with the lookup key, and 'one issue' clearly distinguishes it from list_issues and get_issue_history in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Points the agent to the right follow-on tools for data it does not return (comments via list_issue_comments, attachments via get_attachment/edit_issue's removeAttachmentIds), which is effective routing. It does not explicitly say when to prefer this over list_issues, so it stops short of full 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.
get_issue_historyAInspect
Lists an issue's change history (the issue and its comments), newest first, up to 50 per page - check hasNextPage for more. Each entry has when, who (and the API key name if made through one), what (issue or comment; create, update or delete) and readable change lines, e.g. 'status: To Do -> Done', 'assignee: none -> Ada'. Long content is shortened.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Zero-based page number - pass the previous result's page + 1 for the next page. Omit for the first page. | |
| count | No | Max entries per page, 1-50. Omit for the default of 50. | |
| issueKey | Yes | The issue's key, e.g. 'BRD-42'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden and meets it thoroughly. It reveals ordering behavior (newest first), pagination limits (50 per page, hasNextPage), entry composition (when, who, API key attribution, what operation, readable change lines), and a truncation behavior ('Long content is shortened').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is information-dense with no filler: every clause contributes (scope, ordering, pagination, entry fields, examples, truncation). It is a single long sentence that could be split for readability, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must carry the full burden of explaining the return shape, and it does: entry fields, field semantics, representative change-line examples, and truncation behavior are all specified. An agent has everything needed to call and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline of 3 applies. The page and count descriptions in the schema already explain their semantics well; the tool description adds context about the 50-per-page default and hasNextPage linkage, but does not materially extend what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb-resource pair ('Lists an issue's change history') and clarifies scope ('the issue and its comments'), which distinguishes it from siblings like get_issue (current state) and list_issue_comments (comments only). The ordering and pagination details further pin down exactly what this tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete operating instructions: newest-first ordering, a 50-entry page cap, and how to detect more pages via hasNextPage. It does not explicitly name sibling alternatives or state when not to use this tool, but the pagination and filtering context is clear enough for an agent to invoke it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_meAInspect
Returns who you are: your user id (usable as list_issues' assigneeId to find your own issues) and display name, and the organization (id, name, whether it's personal).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates this is a read operation (returns information) and lists the exact data points returned, including user id, display name, and organization details. It does not mention side effects or limitations, but for a pure identity lookup this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that front-loads the core purpose and then explains the usability of the user id. It is concise and well-structured, covering all essential aspects without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description is the sole source of return information. It enumerates the key fields (user id, display name, organization id/name/personal flag) and even provides a practical use case, making it complete enough for an agent to invoke and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially 100%. The description adds no parameter details, but none are needed. Per the baseline for 0 parameters, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Returns') and a clear resource ('who you are'), detailing exactly what is returned: user id, display name, and organization details. It is distinct from all sibling tools, which focus on issues, comments, attachments, etc., so there is no ambiguity about its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete usage hint by noting the user id is usable as list_issues' assigneeId to find your own issues, which implies when to use this tool. While it doesn't explicitly state when not to use it, there are no alternatives for identity retrieval, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_attributesAInspect
Lists the caller's organization's custom issue attributes - id, name, type, and (for List-typed ones) allowed values with their own ids. What create_issue/edit_issue's attributes map accepts, keyed by id.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It states the tool is a read-only listing operation and describes the return format (id, name, type, allowed values). However, it does not mention potential pagination, rate limits, or authentication requirements, which could be relevant. The description adds value beyond the minimal information but is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, with the core purpose front-loaded. The second sentence adds valuable context about how the output is used. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description's explanation of the return fields and its relevance to issue creation is quite complete. The only minor gap is the lack of mention of ordering or any potential list size limits, but for a simple listing tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter semantics. The description compensates by clearly explaining the output structure and its relation to create_issue/edit_issue. This is excellent for a no-parameter tool, earning a 4 rather than the baseline 4 for zero params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it lists custom issue attributes for the caller's organization, specifies the exact fields returned (id, name, type, allowed values), and directly connects it to the attributes parameter used by create_issue/edit_issue. This is specific and differentiates it from sibling tools like list_issues or list_statuses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly explains when to use this tool: when you need to know the valid attributes for create_issue or edit_issue. It does not explicitly mention alternatives or when not to use it, but the connection to those sibling tools provides clear context. A score of 4 reflects the clear context without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_epicsAInspect
Lists epics - of one space, or of every space the caller can read - up to 50 per page, ordered by space key - check hasNextPage for more. Each epic has its id (what list_issues' epicId filter accepts), name, spaceKey, isDefault (the space's backlog epic) and status (New, Active or Done).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Zero-based page number - pass the previous result's page + 1 for the next page. Omit for the first page. | |
| count | No | Max epics per page, 1-50. Omit for the default of 50. | |
| spaceKey | No | Only epics of this space, e.g. 'BRD', from list_spaces. Omit to list epics of every space. |
TDQS
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 permission scoping ('every space the caller can read'), ordering (by space key), page size cap, and the hasNextPage continuation signal. It doesn't discuss auth specifics or failure modes, but the read-only nature and pagination behavior are clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb and scope, then pagination, then the return shape. Every clause carries information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so describing the returned fields (id, name, spaceKey, isDefault, status with its enum values) plus pagination and ordering is exactly what an agent needs to call and consume this tool. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds cross-tool meaning the schema lacks: it explains that the returned epic id is what list_issues' epicId filter accepts and what isDefault denotes. That linkage is genuinely useful beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Lists) and resource (epics), plus the scope variants (one space or every readable space). It is clearly distinguishable from siblings like list_issues and list_spaces, and even names the field that feeds list_issues' epicId filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete routing guidance: omit spaceKey to span all spaces, pass page+1 for the next page, and check hasNextPage because pages cap at 50. It doesn't state when NOT to use it (e.g., when get_issue is a better fit), so it stops short of a full when/when-not/alternatives treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_issue_commentsAInspect
Lists an issue's comments, oldest first, up to 50 per page - check hasNextPage for more. Each comment has its id and canManage (for edit_comment/delete_comment - only the author can manage a comment), author, text, createdAt/updatedAt, and attachments (ids usable with get_attachment).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Zero-based page number - pass the previous result's page + 1 for the next page. Omit for the first page. | |
| count | No | Max comments per page, 1-50. Omit for the default of 50. | |
| issueKey | Yes | The issue's key, e.g. 'BRD-42'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers: pagination behavior, ordering, canManage semantics for mutation tools, comment fields, and attachment id usage with get_attachment. This gives an agent enough behavioral context to call and interpret the result correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the core listing behavior front-loaded and the valuable field/permission detail following directly. Every clause adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema and no annotations, this description is unusually complete: it explains pagination, result ordering, returned fields, permission implications, and how attachment ids relate to another tool. An agent has what it needs to invoke the tool and use the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the three parameters clearly. The description adds general context about pagination and defaults but doesn't materially improve on the parameter-level documentation provided in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Lists'), the resource ('an issue's comments'), and key behavioral details ('oldest first', 'up to 50 per page'). This clearly distinguishes it from sibling tools like create_comment, edit_comment, and delete_comment, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the tool's use context clear: retrieve an issue's comments with pagination, and use canManage to decide whether edit_comment/delete_comment is permitted. It doesn't explicitly state when not to use it, but the purpose is unmistakable relative to the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_issuesAInspect
Lists issues in the caller's organization, optionally filtered by space, epic id, status id, status category id, or assignee id. Returns up to 50 per page, most recently updated first - check hasNextPage for more. Each issue has a title, and its canEdit/canDelete reflect the caller's actual permissions on it, statusCategory/statusCategoryId tell what its status means (Created, InProgress or Completed), and url is its page in the web app.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Zero-based page number - pass the previous result's page + 1 for the next page. Omit for the first page. | |
| count | No | Max issues per page, 1-50. Omit for the default of 50. | |
| epicId | No | Only issues in this epic id, from list_epics. Omit to include every epic. | |
| spaceKey | No | Only issues in this space (e.g. 'BRD'), from list_spaces. Omit to search every space. | |
| statusId | No | Only issues with this exact status id, from list_statuses. Omit to include every status. | |
| assigneeId | No | Only issues assigned to this user id, from list_members. Omit to include every assignee. | |
| statusCategoryId | No | Only issues whose status has this category id, from list_statuses' categoryId: 0 = Created (not started), 1 = InProgress, 2 = Completed (finished). Works across epics whatever their statuses are named. Omit to include every category. |
TDQS
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 page size (up to 50), sort order (most recently updated first), pagination via hasNextPage, and that canEdit/canDelete reflect the caller's real permissions. It omits obvious caveats like read-only nature and any scoping/auth limits, but the behavioral disclosure is substantially richer than typical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then pagination, then return-field semantics in a logical flow. The third sentence enumerating return fields is dense but earns its place given no output schema; overall efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates by describing the return payload (title, canEdit/canDelete, statusCategory/statusCategoryId, url) and pagination signals. Combined with the fully documented input schema, an agent has everything needed to call and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters in detail (page, count, epicId, spaceKey, statusId, assigneeId, statusCategoryId). The description merely summarizes the filterable dimensions, adding little beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Lists issues in the caller's organization') and immediately scopes it with the available filters. An agent can distinguish this from siblings like list_epics, list_spaces, and get_issue 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: the filter parameters reference list_epics, list_spaces, list_statuses, and list_members, hinting at a workflow, and the pagination note implies iteration. But there is no explicit statement of when to use this versus get_issue or the other list_* tools, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_membersAInspect
Lists organization members visible to the caller - the ids list_issues' assigneeId filter, and create_issue/edit_issue's assigneeId, accept.
| Name | Required | Description | Default |
|---|---|---|---|
| spaceKey | No | Only members visible in this space, from list_spaces. Pass it when picking an assignee for that space, so they're guaranteed to see issues there. Omit to list every member visible anywhere. |
TDQS
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 disclose that results are scoped to members 'visible to the caller' and that the output provides ids for assignee fields. It does not mention pagination, output shape, or read-only status, but those are less critical for a simple 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action, which is good. However, the second clause is grammatically tangled: 'the ids list_issues' assigneeId filter, and create_issue/edit_issue's assigneeId, accept' makes the sentence harder to parse than it should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with one optional parameter and a thorough schema explanation, the description plus schema is nearly sufficient. It clearly states the purpose and integration with assignee fields; the main gap is the lack of an output schema or explicit return-field explanation, though 'the ids' hints at the core output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter spaceKey already has 100% schema description coverage, including what happens when passed versus omitted. The tool description adds no parameter-level meaning, but the schema already covers it fully, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase 'Lists organization members visible to the caller' clearly identifies the action and resource, and the second clause connects the result to assigneeId fields in list_issues/create_issue/edit_issue. This makes the tool's purpose unambiguous and differentiates it from the other list_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent that the returned ids feed list_issues' assigneeId filter and create_issue/edit_issue's assigneeId, which is a clear when-to-use signal. The schema additionally explains when to pass spaceKey. There is no explicit exclusion statement, but no obvious competing member-listing sibling exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_spacesAInspect
Lists the spaces available to the caller - the keys list_issues' spaceKey filter and list_statuses accept. Each space's canCreateIssue reflects the caller's actual permission there.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals that each space includes a canCreateIssue field reflecting the caller's actual permission, which is valuable for decision-making. It does not mention pagination or other side effects, but for a listing tool this is acceptable given its simplicity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The purpose is front-loaded, and the cross-tool references are placed strategically. Every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with no output schema, the description fully covers what it does, what it returns, and how it connects to sibling tools. No additional information is needed for an agent to correctly invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description adds context about the return fields (space keys and canCreateIssue), which is helpful for understanding the output shape, though it does not need to explain parameters since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists spaces available to the caller and explicitly ties the output to the spaceKey filters of sibling tools (list_issues, list_statuses). This distinguishes it from other list_* tools by specifying the exact resource and its cross-tool utility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by noting that the spaces' keys are accepted by list_issues and list_statuses, and that canCreateIssue reflects the caller's permission. This gives an agent a clear reason to call the tool, though it does not explicitly state when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_statusesAInspect
Lists the statuses in a space, grouped by epic (with the epic's id, as list_epics returns it) - the ids create_issue/edit_issue_status accept. Each status has a category - Created (not started), InProgress or Completed (finished) - telling what it means whatever its name, and its categoryId, what list_issues' statusCategoryId filter takes.
| Name | Required | Description | Default |
|---|---|---|---|
| spaceKey | Yes | The space to list statuses for, e.g. 'BRD', from list_spaces. |
TDQS
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 the return shape (grouped by epic, per-status category and categoryId) which is genuinely useful given there is no output schema, but it says nothing about permissions, whether statuses are workspace- or space-scoped beyond the parameter, caching, or ordering of the epic grouping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but well-structured sentence: the listing action and grouping are front-loaded, followed by id provenance and category semantics. Slightly overstuffed with multiple parenthetical cross-references, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only lookup with no output schema, the description covers the important ground: what is returned, how it is grouped, what each id feeds into, and the meaning of the category values. Only auth/permission expectations and any ordering guarantees are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single spaceKey parameter already carries an example ('BRD') plus its source ('from list_spaces') in its own description. The prose adds no further parameter semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lists the statuses in a space, grouped by epic') and immediately distinguishes itself from list_epics and list_issues by qualifying exactly which ids it returns and where they are consumed. An agent can tell this apart from its siblings 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description routes usage implicitly but clearly: the returned ids are the ones 'create_issue/edit_issue_status accept' and the categoryId is what 'list_issues statusCategoryId filter takes', so an agent knows this is a lookup step before creating/editing issues or filtering them. There is no explicit when-not-to-use statement or named alternative list tool, keeping it short of a 5.
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.
5 tool updates
- Changed
create_comment2 fields changed- changed
Input schema / properties / text / descriptionPrevious value: -"The comment's text."New value: +"The comment's text, max 4096 characters." - added
Input schema / properties / text / maxLengthAdded value: +4096
- Changed
create_issue3 fields changed- changed
Input schema / properties / content / descriptionPrevious value: -"The issue's text content."New value: +"The issue's text content, max 4096 characters." - added
Input schema / properties / content / maxLengthAdded value: +4096 - added
Input schema / properties / title / maxLengthAdded value: +256
- Changed
edit_comment2 fields changed- changed
Input schema / properties / text / descriptionPrevious value: -"The comment's new text, replacing what's there now."New value: +"The comment's new text, replacing what's there now, max 4096 characters." - added
Input schema / properties / text / maxLengthAdded value: +4096
- Changed
edit_issue3 fields changed- changed
Input schema / properties / content / descriptionPrevious value: -"The issue's complete new text content, replacing what's there now."New value: +"The issue's complete new text content, replacing what's there now, max 4096 characters." - added
Input schema / properties / content / maxLengthAdded value: +4096 - added
Input schema / properties / title / maxLengthAdded value: +256
- Changed
edit_issue_status2 fields changed- changed
Input schema / properties / comment / descriptionPrevious value: -"A comment to post on the issue as part of this status change, e.g. explaining why. Omit to move the status with no comment."New value: +"A comment to post on the issue as part of this status change, e.g. explaining why, max 4096 characters. Omit to move the status with no comment." - added
Input schema / properties / comment / maxLengthAdded value: +4096
2 tool updates
- Changed
create_issue2 fields changed- added
Input schema / properties / titleAdded value: +{ + "description": "The issue's title: a short one-line summary, max 256 characters. Required.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "content", - "statusId" -]New value: +[ + "content", + "title", + "statusId" +]
- Changed
edit_issue2 fields changed- added
Input schema / properties / titleAdded value: +{ + "description": "The issue's title: a short one-line summary, max 256 characters. Required - pass the current title to keep it.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "issueKey", - "content" -]New value: +[ + "issueKey", + "content", + "title" +]
1 tool update
- Changed
list_issues1 field changed- added
Input schema / properties / statusCategoryIdAdded value: +{ + "default": null, + "description": "Only issues whose status has this category id, from list_statuses' categoryId: 0 = Created (not started), 1 = InProgress, 2 = Completed (finished). Works across epics whatever their statuses are named. Omit to include every category.", + "type": [ + "integer", + "null" + ] +}
2 tool updates
- Added
list_epics - Changed
list_issues1 field changed- added
Input schema / properties / epicIdAdded value: +{ + "default": null, + "description": "Only issues in this epic id, from list_epics. Omit to include every epic.", + "type": [ + "integer", + "null" + ] +}
6 tool updates
- Changed
delete_comment1 field changed- changed
Input schema / properties / commentId / descriptionPrevious value: -"The comment's id, from get_issue's comment list."New value: +"The comment's id, from list_issue_comments."
- Changed
edit_comment1 field changed- changed
Input schema / properties / commentId / descriptionPrevious value: -"The comment's id, from get_issue's comment list."New value: +"The comment's id, from list_issue_comments."
- Changed
get_attachment1 field changed- changed
Input schema / properties / attachmentId / descriptionPrevious value: -"The attachment's id, from get_issue's Attachments list."New value: +"The attachment's id, from get_issue or list_issue_comments."
- Added
get_issue_history - Added
get_me - Added
list_issue_comments
1 tool update
- Changed
edit_issue_status1 field changed- added
Input schema / properties / commentAdded value: +{ + "default": null, + "description": "A comment to post on the issue as part of this status change, e.g. explaining why. Omit to move the status with no comment.", + "type": [ + "string", + "null" + ] +}
1 tool update
- Added
delete_comment
10 tool updates
- Removed
add_comment - Added
create_comment - Changed
create_issue4 fields changed- added
Input schema / properties / assigneeIdAdded value: +{ + "default": null, + "description": "User id to assign the issue to, from list_members. Must belong to the caller's organization. Omit to assign yourself.", + "format": "uuid", + "type": [ + "string", + "null" + ] +} - changed
Input schema / properties / attributes / descriptionPrevious value: -"Attribute id -> plain-text value, e.g. {\"5\": \"7\"}. Call list_attributes first for the ids/types/expected format per attribute - for a List-typed attribute, the value is one of its list value ids (also from list_attributes), not its display text. Omit to leave every attribute unset."New value: +"Attribute id -> plain-text value, e.g. {\"5\": \"7\"}. See list_attributes for ids/types/allowed values - for a List attribute, the value is one of its list value ids. Omit to leave every attribute unset." - changed
Input schema / properties / files / descriptionPrevious value: -"Files to attach, base64-encoded. Only image/jpeg, image/jpg and image/png are supported, max 3MB each."New value: +"Files to attach, base64-encoded - each becomes an attachment on the issue. Only image/jpeg, image/jpg and image/png; max 3MB each." - changed
Input schema / properties / statusId / descriptionPrevious value: -"The status id to create the issue in, from list_statuses - this also determines which space the issue lands in."New value: +"The status to create the issue in, from list_statuses - this also determines the destination space."
- Added
delete_issue - Changed
edit_comment1 field changed- changed
Input schema / properties / commentId / descriptionPrevious value: -"The id of the comment to edit, from get_issue's comment list."New value: +"The comment's id, from get_issue's comment list."
- Changed
edit_issue5 fields changed- added
Input schema / properties / assigneeIdAdded value: +{ + "default": null, + "description": "User id to reassign the issue to, from list_members. Must belong to the caller's organization. Omit to leave the current assignee unchanged.", + "format": "uuid", + "type": [ + "string", + "null" + ] +} - changed
Input schema / properties / attributes / descriptionPrevious value: -"Attribute id -> plain-text value, e.g. {\"5\": \"7\"}. Call list_attributes first for the ids/types/expected format per attribute - for a List-typed attribute, the value is one of its list value ids (also from list_attributes), not its display text. Omit entirely to leave every attribute untouched; pass an empty object {} to clear every attribute the issue currently has."New value: +"Attribute id -> plain-text value, same format as create_issue. Omit to leave every attribute untouched; pass {} to clear all of them." - changed
Input schema / properties / content / descriptionPrevious value: -"The issue's complete new text content. Fully replaces the existing content - fetch it via get_issue first if you need to preserve any of it."New value: +"The issue's complete new text content, replacing what's there now." - changed
Input schema / properties / files / descriptionPrevious value: -"Files to attach, in addition to the issue's existing ones. Same base64 format as create_issue."New value: +"Files to attach, base64-encoded - each becomes a new attachment, in addition to the issue's existing ones. Same format as create_issue." - changed
Input schema / properties / removeAttachmentIds / descriptionPrevious value: -"Ids of existing attachments to remove, from get_issue's Attachments list. Can be combined with files to replace an attachment with another."New value: +"Ids of existing attachments to remove, from get_issue's Attachments list. Can be combined with files to replace one attachment with another."
- Added
edit_issue_status - Changed
list_issues2 fields changed- changed
Input schema / properties / count / descriptionPrevious value: -"Max issues to return per page, 1-50. Omit for the default of 50."New value: +"Max issues per page, 1-50. Omit for the default of 50." - changed
Input schema / properties / page / descriptionPrevious value: -"Zero-based page number. Omit or pass 0 for the first page; pass the previous result's page + 1 to get the next page."New value: +"Zero-based page number - pass the previous result's page + 1 for the next page. Omit for the first page."
- Changed
list_members1 field changed- added
Input schema / properties / spaceKeyAdded value: +{ + "default": null, + "description": "Only members visible in this space, from list_spaces. Pass it when picking an assignee for that space, so they're guaranteed to see issues there. Omit to list every member visible anywhere.", + "type": [ + "string", + "null" + ] +}
- Removed
update_issue_status
7 tool updates
- Changed
create_issue5 fields changed- changed
Input schema / properties / attributes / descriptionPrevious value: -"Attribute name -> plain-text value, e.g. {\"Priority\": \"High\"}. Call list_attributes to see what's available and the expected value format per type. Omit to leave every attribute unset."New value: +"Attribute id -> plain-text value, e.g. {\"5\": \"7\"}. Call list_attributes first for the ids/types/expected format per attribute - for a List-typed attribute, the value is one of its list value ids (also from list_attributes), not its display text. Omit to leave every attribute unset." - added
Input schema / properties / filesAdded value: +{ + "default": null, + "description": "Files to attach, base64-encoded. Only image/jpeg, image/jpg and image/png are supported, max 3MB each.", + "items": { + "properties": { + "base64Content": { + "type": [ + "string", + "null" + ] + }, + "contentType": { + "type": [ + "string", + "null" + ] + }, + "fileName": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "fileName", + "contentType", + "base64Content" + ], + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] +} - removed
Input schema / properties / spaceKeyRemoved value: -{ - "description": "The space to create the issue in, e.g. 'BRD'.", - "type": "string" -} - changed
Input schema / properties / statusId / descriptionPrevious value: -"The status id to create the issue in, from list_statuses - must belong to spaceKey."New value: +"The status id to create the issue in, from list_statuses - this also determines which space the issue lands in." - changed
Input schema / requiredPrevious value: -[ - "spaceKey", - "content", - "statusId" -]New value: +[ + "content", + "statusId" +]
- Changed
edit_issue4 fields changed- changed
Input schema / properties / attributes / descriptionPrevious value: -"Attribute name -> plain-text value, same as create_issue. Omit to leave every attribute untouched (not cleared)."New value: +"Attribute id -> plain-text value, e.g. {\"5\": \"7\"}. Call list_attributes first for the ids/types/expected format per attribute - for a List-typed attribute, the value is one of its list value ids (also from list_attributes), not its display text. Omit entirely to leave every attribute untouched; pass an empty object {} to clear every attribute the issue currently has." - changed
Input schema / properties / content / descriptionPrevious value: -"The issue's new text content, replacing what's there now."New value: +"The issue's complete new text content. Fully replaces the existing content - fetch it via get_issue first if you need to preserve any of it." - added
Input schema / properties / filesAdded value: +{ + "default": null, + "description": "Files to attach, in addition to the issue's existing ones. Same base64 format as create_issue.", + "items": { + "properties": { + "base64Content": { + "type": [ + "string", + "null" + ] + }, + "contentType": { + "type": [ + "string", + "null" + ] + }, + "fileName": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "fileName", + "contentType", + "base64Content" + ], + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] +} - added
Input schema / properties / removeAttachmentIdsAdded value: +{ + "default": null, + "description": "Ids of existing attachments to remove, from get_issue's Attachments list. Can be combined with files to replace an attachment with another.", + "items": { + "format": "uuid", + "type": "string" + }, + "type": [ + "array", + "null" + ] +}
- Added
get_attachment - Changed
list_issues5 fields changed- added
Input schema / properties / assigneeIdAdded value: +{ + "default": null, + "description": "Only issues assigned to this user id, from list_members. Omit to include every assignee.", + "format": "uuid", + "type": [ + "string", + "null" + ] +} - removed
Input schema / properties / assigneeNameRemoved value: -{ - "default": null, - "description": "Only issues assigned to a user whose display name contains this text. Omit to include every assignee.", - "type": [ - "string", - "null" - ] -} - changed
Input schema / properties / spaceKey / descriptionPrevious value: -"Only issues in this space (e.g. 'BRD'). Omit to search every space."New value: +"Only issues in this space (e.g. 'BRD'), from list_spaces. Omit to search every space." - added
Input schema / properties / statusIdAdded value: +{ + "default": null, + "description": "Only issues with this exact status id, from list_statuses. Omit to include every status.", + "type": [ + "integer", + "null" + ] +} - removed
Input schema / properties / statusNameRemoved value: -{ - "default": null, - "description": "Only issues with this exact status name (e.g. 'In Progress'). Omit to include every status.", - "type": [ - "string", - "null" - ] -}
- Added
list_members - Added
list_spaces - Changed
list_statuses1 field changed- changed
Input schema / properties / spaceKey / descriptionPrevious value: -"The space to list statuses for, e.g. 'BRD'."New value: +"The space to list statuses for, e.g. 'BRD', from list_spaces."
9 tool updates
- First observed
add_comment - First observed
create_issue - First observed
edit_comment - First observed
edit_issue - First observed
get_issue - First observed
list_attributes - First observed
list_issues - First observed
list_statuses - First observed
update_issue_status
Publisher details
- Operator
- Laraue ยท Publisher source
- Operator website
- https://laraue.com
- Vendor relationship
- Not available
- Documentation
- https://boards.laraue.com/en/documentation
- Trust center
- Not available
- Restrictions
- Not available
Related MCP Connectors
Issue board for teams: find, create and move issues, run sprints, comment and keep project docs.
Read and update Markboard kanban boards: cards, checklists, labels, comments and files.
Issue tracking for software projects: issues, epics, releases, docs and boards, from your AI.
1Read and manage your EasyKanban kanban boards: to-do summaries, create, update, and move cards.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables an authenticated owner to manage a personal task board over MCP: creating and updating tasks with project, status, assignee, and revision checks, reading ready or blocked items and recent changes, and appending reported workflow activity. It can also open an embedded workspace app in MCP Apps hosts and inspect or retry experimental board notification state.MIT
- FlicenseBqualityBmaintenanceEnables AI clients to list, retrieve, create, update, and delete tracked issues through MCP tools that call an underlying FastAPI REST API over HTTP. Issue status and priority values are validated, and API or network failures surface as MCP tool errors.6-
- AlicenseNot gradedqualityDmaintenanceEnables creating, fetching, and updating Jira issues via the REST API with support for ADF descriptions and common fields like priority, labels, and issue types.51 npm2Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables agents to read and drive a local-first Kanban board for issue tracking, allowing them to list, create, update, and resolve issues from Claude Code sessions.11 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.