MCP server for creating support tickets in Pylon on behalf of users
Single tool with clear naming (create_issue) and comprehensive schema. Description is well-written (186 chars) and explains the purpose and context. Input schema is complete with all parameters typed and described. However, output schema documentation is minimal (only visible in code as CreateIssueResponse model), and error handling lacks recovery guidance for LLMs. No tool annotations (destructiveHint, idempotentHint) despite this being a write operation. Missing dependency hints (e.g., 'Get account_id from get_pylon_account_id tool' is mentioned but not actionable in the description itself).
Create a support ticket in Pylon on behalf of a user. The requester is emailed the ticket and can reply to it, so write body_html as a message addressed to the support team, not a summary.
No tool annotations despite destructive operation. create_issue modifies state (creates ticket) but lacks destructiveHint annotation to signal to LLMs that this is irreversible.
Error handling lacks recovery guidance. Rate limit error mentions 'wait X seconds' but other errors (API failures, validation errors) provide raw exception text without actionable next steps for the LLM.
Output schema not documented in tool description. CreateIssueResponse model exists in code but is not described in the tool docstring, forcing LLMs to infer response structure.
Dependency on get_pylon_account_id tool mentioned in parameter description but not discoverable. LLMs may not know this tool exists or when to call it.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 83 | 2026-07-28+ | v2 |
No idempotency guarantee documented. If create_issue is retried with identical parameters, will it create a duplicate ticket or return the existing one? This is critical for agent reliability.