Files
task-stream/apps/mcp/src/app/tools/params.ts
Josep Piguillem e6ac02d328 feat(mcp): sprints, epics, backlog, trash, checklists and release notes
Thirty new tools (54 in all) for what the API gained since the MCP:
create a project and read its public showcase; sprints (list, progress
and burndown, plan, change, start, close with carry-over, delete, move a
ticket in or out); epics and the backlog (list epics with progress, set
a ticket's parent, rank); bulk edit of up to 100 tickets by key, saying
which refused; the trash; checklists; following a ticket, removing a
relation, editing and deleting comments; editing and archiving releases,
drafting and saving their notes; notifications.

Searching filters by epic, sprint and dates and sorts by backlog order;
get_issue shows parent, checklist, commits and followers; create and
update take parent and start date.

API: `unreadOnly` and `dryRun` were documented as objects in the
OpenAPI; they are booleans now. Chapter 9 lists every tool; Word and PDF
regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:17:10 +02:00

29 lines
629 B
TypeScript

import { z } from 'zod';
/** Shared parameter schemas (descriptions are what the model reads). */
export const projectRef = z
.string()
.min(1)
.describe('Project key (e.g. "WEB") or id');
export const issueRef = z
.string()
.min(1)
.describe('Ticket key (e.g. "WEB-12") or id');
export const releaseId = z.string().min(1).describe('Release id');
export const sprintId = z
.string()
.min(1)
.describe('Sprint id (see list_sprints)');
export const limit = (max: number, fallback: number) =>
z
.number()
.int()
.min(1)
.max(max)
.default(fallback)
.describe(`How many (1-${max})`);