File uploads for MCP servers using short-lived upload tickets.
Three tools with clear, actionable descriptions (avg 156 chars, within 10-1024 range). Tool names follow verb_noun pattern (request_*, check_*). No parameter descriptions visible in schema definitions. No output schemas documented. No error handling guidance (e.g., what happens if upload expires or fails). No tool annotations (readOnlyHint, destructiveHint). Descriptions are good but lack dependency hints and recovery guidance.
Report what happened to an upload: issued, redeemed, completed, failed, expired or unknown. A completed upload includes the file's name, size and SHA-256.
Ask for a file. Returns a single-use upload URL that expires in fifteen minutes. Send the file there as a multipart POST with the field name 'file'.
Ask the user for a file through the client, if the client supports URL-mode elicitation. The client shows the upload link and asks for consent; this tool then reports the upload's status. Call check_upload later to see it complete.
request_upload and request_upload_interactive have empty input schemas ({}).
check_upload schema lacks type definition for 'id' parameter. Schema shows only {"id":{"type":"string","description":"..."}} but no format, pattern, or length constraints.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract fields without knowing return structure. Baseline: 100% of A+ tools have documented return types.
No error handling guidance. Descriptions do not explain what happens if upload expires, fails, or is rejected. No recovery hints (e.g., 'If expired, call request_upload again'). Per pattern:recovery-guide, errors must tell the LLM what to do next.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All three tools are read-only or safe, but this is not declared in the schema. Agents cannot infer safety properties without annotations.