MCP server for agent-facing ticket platform operations, providing tools for assignment management, comments, dependencies, participants, routing, heartbeats, reports, and ticket actions
Server has 10 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names follow verb_noun convention (get_, read_, list_, send_, submit_, create_, ticket_action). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Input schemas exist but lack depth: most parameters have minimal descriptions, no enums for constrained values, no min/max bounds. Output schemas are not documented. Error handling returns structured TicketPlatformHttpError but lacks recovery guidance. Security: assignment_id can be optional via config (good), but no permission gates or audit trail visible. Composition: tools are single-purpose but lack chaining IDs in responses (e.g., create_ticket output not shown). Per-tool analysis reveals consistent pattern: schema present but sparse, description adequate but not LLM-optimized.
Create a new ticket through the agent-facing HTTP contract.
Read assignment contract via GET /api/v1/agent/assignments/:assignment_id.
Read assignment-scoped runtime context via GET /api/v1/agent/runtime/context.
Read participant registry via GET /api/v1/agent/participants.
Read assignment comments via GET /api/v1/agent/assignments/:assignment_id/comments.
Read assignment dependencies via GET /api/v1/agent/assignments/:assignment_id/dependencies.
create_ticket has empty input schema (no properties defined). Cannot validate or guide LLM on required fields.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract chaining IDs (e.g., ticket_id from create_ticket).
resolve_route has 8 parameters with minimal descriptions. No enums for session_kind, role_key, or capability, LLM must guess valid values.
Error responses (toToolErrorResult) return structured TicketPlatformHttpError but lack recovery guidance. LLM cannot determine if error is retryable or user-fixable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2025-06-18+ | v2 |
Resolve participant route via GET /api/v1/agent/routing/resolve.
Send assignment heartbeat via POST /api/v1/agent/assignments/:assignment_id/heartbeat.
Submit structured assignment report via POST /api/v1/agent/assignments/:assignment_id/reports.
Run a discoverable ticket action through the agent-facing HTTP contract.
No permission gates or audit trail visible. Tools accept assignment_id but do not verify caller authority. Destructive tools (send_heartbeat, submit_report, ticket_action) lack confirmation or dry-run support.