Appearance
Issue Tools
Four tools for managing issues on the board: create, update, delete, and search.
create-issue
Create a new issue in a project.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | integer | Yes | The project to create the issue in |
title | string | Yes | Issue title (max 255 characters) |
description | string | Yes | Issue description (max 65,535 characters) |
lane_id | integer | No | Lane to place the issue in. Defaults to the first lane if omitted. |
priority | integer | No | 0 Highest, 1 High, 2 Medium (default), 3 Low, 4 Lowest |
type | integer | No | 0 Feature (default), 1 Bug |
assignee_id | integer | No | User ID to assign. Use project members to find IDs. |
sprint_id | integer | No | Sprint to add the issue to |
order | integer | No | Display order in the lane (default 0, minimum 0) |
blocked_by_ids | array | No | Issue IDs that block this issue (must be in the same project) |
blocks_ids | array | No | Issue IDs that this issue blocks (must be in the same project) |
estimated_minutes | integer | No | Estimated time in minutes (minimum 0) |
Behavior
- If
lane_idis omitted, the issue is placed in the project's first lane automatically - The lane, sprint, and assignee are all validated to belong to the specified project
- Blocking relations must reference issues within the same project
- Returns the created issue with its generated key (e.g.,
KD-0042), ID, lane, assignee, sprint, and blocking relations
Example Prompt
Create a high-priority bug in the kendo project: "Login form rejects valid email addresses". The form strips everything after a
+in the address. Assign it to Jasper.
update-issue
Update an existing issue. Only provided fields are changed — omitted fields keep their current values.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
issue_id | integer | Yes | The issue to update |
title | string | No | New title (max 255 characters) |
description | string | No | New description (max 65,535 characters) |
lane_id | integer | No | Target lane ID to move the issue to (must be in the same project) |
priority | integer | No | 0 Highest, 1 High, 2 Medium, 3 Low, 4 Lowest |
type | integer | No | 0 Feature, 1 Bug |
assignee_id | integer | No | User ID to assign, or null to unassign |
sprint_id | integer | No | Sprint ID, or null to remove from sprint |
blocked_by_ids | array | No | Replaces all "blocked by" relations. Omit to preserve, [] to clear. |
blocks_ids | array | No | Replaces all "blocks" relations. Omit to preserve, [] to clear. |
estimated_minutes | integer | No | Estimated time in minutes, or null to clear |
Behavior
- Partial updates: only fields you include are modified. This is different from the API which requires all fields.
- Lane changes: pass
lane_idto move an issue to a different lane on the board. The lane must belong to the same project. - Blocking relations: omitting
blocked_by_ids/blocks_idspreserves existing relations. Pass an empty array[]to explicitly clear them. - Pass
nullforassignee_id,sprint_id, orestimated_minutesto clear those values.
Example Prompt
Bump KD-42 to highest priority and assign it to Sarah
delete-issue
Permanently delete an issue and all its comments.
Destructive
This action cannot be undone. The issue and all associated comments are permanently removed.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
issue_id | integer | Yes | The issue to delete |
Example Prompt
Delete the duplicate issue KD-38, it's the same as KD-42
search-issues
Search issues within a project by text query and/or filters. This tool is read-only and safe to call repeatedly.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | integer | Yes | The project to search in |
query | string | No | Text search across title, description, and issue key (max 200 characters) |
lane_id | integer | No | Filter by lane |
assignee_id | integer | No | Filter by assignee |
sprint_id | integer | No | Filter by sprint |
epic_id | integer | No | Filter by epic |
priority | integer | No | Filter by priority (0–4) |
type | integer | No | Filter by type (0 Feature, 1 Bug) |
limit | integer | No | Max results (1–100, default 25) |
Behavior
- Results are ordered by most recently updated
- All filters are optional and combine with AND logic
- Returns matching issues with key, title, assignee, priority, and type
- Marked as
#[IsReadOnly]and#[IsIdempotent]— safe to call multiple times with no side effects
Example Prompt
Show me all high-priority bugs assigned to Jasper in the kendo project
See Also
- Resources — Read issue data via
kendo://issues/{id}andkendo://projects/{id}/issues - Issues & Board Guide — Understanding the board, lanes, and blocking relationships
- Issues API — REST endpoints for issue management