Skip to content

Report Tools

Seven tools for the report triage workflow and for sending feedback about Kendo itself: list incoming reports, fetch one by id, create new ones, promote to issues, dismiss, delete, or send feedback to the Kendo team. All report tools require the report-tool feature flag to be active for the tenant.

Triage Workflow

The typical flow for handling reports:

  1. List reports to see what's incoming
  2. Get a single report by id (for deep-links or focused triage)
  3. Create reports from external sources (bug reports, feature requests, feedback)
  4. Promote actionable reports to issues on the board
  5. Dismiss reports that aren't actionable (soft-archive)
  6. Delete reports that are spam or duplicates (permanent)

Permission Model

  • Listing reports: requires Reports: Read permission
  • Getting a single report: requires Reports: Read permission
  • Creating reports: requires Reports: Create permission
  • Promoting reports: requires Reports: Update permission (All scope)
  • Dismissing reports: requires Reports: Update permission (All scope)
  • Deleting reports: requires Reports: Delete permission (Own scope: own reports only, All scope: any report)
  • Project owners and admins bypass all permission checks

list-reports

List reports for a project, ordered by position. Read-only and safe to call repeatedly.

Parameters

ParameterTypeRequiredDescription
project_idintegerYesThe project to list reports for
statusintegerNoFilter by status: 0=Pending, 1=Promoted, 2=Dismissed. Omit to return all reports.

Behavior

  • Returns reports ordered by display position (order field)
  • When status is omitted, every report in the project is returned; pass status: 0 to fetch only pending reports for triage workflows
  • Each report includes title, description, source, author, status (pending/promoted/dismissed), and timestamps
  • Each report includes an attachments array with {id, filename, mime_type, size, download_url, created_at}download_url is a stable backend-proxy URL (e.g. https://{tenant}.kendo.dev/api/projects/1/reports/5/attachments/3/download). Fetch it with your Passport bearer token; no expiration.
  • Promoted reports include the promoted_issue_id they were converted to
  • Dismissed reports include a dismissed_at timestamp
  • Marked as #[IsReadOnly] and #[IsIdempotent] — safe to call multiple times with no side effects

Example Prompt

Show me the incoming reports in the kendo project so I can triage them

get-report

Fetch a single report by its ID. Use when a collaborator references a specific report (e.g. "look at report #42"), when following a shared deep-link URL, or when you need full detail on one report without loading the whole list.

Parameters

ParameterTypeRequiredDescription
report_idintegerYesThe report ID to fetch

Behavior

  • Returns the same per-report shape as list-reports (id, title, description, source, author, status, attachments, timestamps, etc.)
  • Project is derived from the report — no separate project_id needed
  • Marked as #[IsReadOnly] and #[IsIdempotent] — safe to call repeatedly
  • Also available as a resource: kendo://reports/{id}

Example Prompt

Pull up report #42 — my colleague just shared it with me

create-report

Create a new report in a project. Reports are incoming items that need triage before becoming issues.

Parameters

ParameterTypeRequiredDescription
project_idintegerYesThe project to create the report in
titlestringYesReport title (max 255 characters)
descriptionstringYesReport description — details of the bug, feature request, or feedback (max 65,535 characters)

Behavior

  • Source is automatically set to Api for MCP-created reports
  • Display order is auto-assigned
  • Returns the created report with ID, source, and timestamps

Example Prompt

Create a bug report in the kendo project: "Sidebar collapses on mobile when switching projects". The sidebar state resets on every navigation.

promote-reports

Promote one or more reports to a single issue on the board. This is the core triage action.

Parameters

ParameterTypeRequiredDescription
project_idintegerYesThe project containing the reports
report_idsarrayYesArray of report IDs to promote (min 1, all must belong to the project)
titlestringYesTitle for the new issue (max 255 characters)
descriptionstringYesDescription for the new issue (max 65,535 characters)
lane_idintegerNoLane to place the issue in. Defaults to the first lane if omitted.
priorityintegerNo0 Highest, 1 High, 2 Medium (default), 3 Low, 4 Lowest
typeintegerNo0 Feature (default), 1 Bug
assignee_idintegerNoUser ID to assign. Use project members to find IDs.
sprint_idintegerNoSprint to add the issue to
epic_idintegerNoEpic to link the issue to
estimated_minutesintegerNoEstimated time in minutes (minimum 0)
blocked_by_idsarrayNoIssue IDs that block this issue (must be in the same project)
blocks_idsarrayNoIssue IDs that this issue blocks (must be in the same project)

Behavior

  • Batch promotion: multiple reports can be promoted to a single issue — useful when several reports describe the same problem
  • Defaults: if lane_id is omitted, the issue is placed in the project's first lane. Priority defaults to Medium, type to Feature
  • Order: the new issue is automatically placed at the end of the target lane
  • Validation: all reports must belong to the specified project, and none can be already promoted or dismissed
  • Already promoted: returns an error if any report has already been converted to an issue
  • Already dismissed: returns an error if any report has been dismissed
  • Returns the created issue with key, lane, assignee, sprint, and blocking relations

Example Prompt

Promote reports 15 and 16 to a high-priority bug: "Sidebar collapses on mobile". Assign it to Jasper in the current sprint.

dismiss-report

Dismiss a report to mark it as not actionable. Dismissed reports are soft-archived.

Parameters

ParameterTypeRequiredDescription
report_idintegerYesThe ID of the report to dismiss

Behavior

  • Sets dismissed_at on the report — the report remains visible but is marked as resolved without action
  • Idempotent: dismissing an already-dismissed report is a no-op (returns success)
  • The report's project is derived from the report itself — no separate project_id needed
  • Requires Reports: Update permission (All scope)

Example Prompt

Dismiss report 23, it's a duplicate of the sidebar issue we already promoted

delete-report

Permanently delete a report.

Destructive

This action cannot be undone. The report is permanently removed.

Parameters

ParameterTypeRequiredDescription
report_idintegerYesThe ID of the report to delete

Behavior

  • Permanently removes the report from the database
  • Requires Reports: Delete permission (Own scope: own reports only, All scope: any report)
  • The report's project is derived from the report itself — no separate project_id needed
  • Consider using dismiss-report for soft-archival instead

Example Prompt

Delete report 25, it's spam

send-feedback

Send feedback, a bug report, a suggestion, or an idea about Kendo itself directly to the Kendo team from your LLM agent — no browser required. Unlike create-report, which writes into the tenant's own project queue, send-feedback targets the central Kendo report queue and works for any tenant.

Parameters

ParameterTypeRequiredDescription
titlestringYesShort headline for the feedback (max 255 characters)
descriptionstringYesDetailed feedback body — bug, suggestion, or idea (max 10,000 characters)

Behavior

  • Forwards the feedback to the central Kendo report queue via the pre-configured FEEDBACK_REPORT_URL / FEEDBACK_REPORT_TOKEN pipeline
  • source is set to Api and author_name is the authenticated user's full name
  • Requires only that the report-tool feature flag is active for the tenant — no project-level permissions needed
  • Returns a simple confirmation payload (status, message)
  • Every invocation is audited via AiMcpLogger

Example Prompt

Send feedback to the Kendo team: title "MCP tool is great", description "Love that I can triage reports straight from Claude Code now."

See Also

  • Issues — Create and manage issues that reports get promoted to
  • Resources — Read project data via kendo://projects/{id}
  • Workflows — Common multi-step MCP workflows