Skip to main content
Glama

Create Case Attachment Upload Url

createCaseAttachmentUploadUrl

Issue a signed URL for uploading a file to a case. The client must PUT the bytes to the returned URL with the returned Content-Type, then call the finalize endpoint so the attachment becomes visible on the case.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
case_idYesThe case's unique identifier
filenameYes
queue_idYesThe queue's unique identifier
mime_typeYes
size_bytesYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, and the description is consistent with a mutating, prerequisite-issuing operation — no contradiction. The description adds real behavioral context beyond annotations: the two-phase protocol (URL issuance → PUT → finalize), and the fact that the attachment is not visible until finalize. Omits URL-expiry and auth details, but the protocol disclosure is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences and roughly 40 words, front-loaded with the primary action and followed by the minimal required continuation. Every clause carries protocol information; there is zero filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no output schema, the description covers the essential flow and hints at the response shape (returned URL and Content-Type). The 'finalize endpoint' is named generically, but the exact sibling tool finalizeCaseAttachment exists in the tool list, so an agent can chain the calls. Minor gaps — URL expiry, auth requirements, and exact response fields — keep it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40% — case_id and queue_id are documented, but filename, mime_type, and size_bytes have no schema descriptions. The tool description does not compensate: its only indirect hint is that the returned Content-Type relates to mime_type, and it says nothing about filename or size_bytes semantics beyond what the schema's constraints already imply.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action — issuing a signed URL for uploading a file to a case — with a clear resource and scope. The 'to a case' qualifier and the finalize-endpoint reference distinguish it from the many sibling upload-URL creators (createFileUploadUrl, createPulseDashboardAttachmentUploadUrl, createClarityImageUploadUrl, etc.) without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes the full protocol: PUT the bytes to the returned URL with the returned Content-Type, then call the finalize endpoint for the attachment to become visible. This clearly tells the agent that this tool alone is insufficient and routes it to the mandatory follow-up step. However, it does not explicitly name alternatives or state when not to use this tool versus other upload-URL siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.1/5.0
Disambiguation2/5

Despite detailed descriptions, many tool names are highly ambiguous, with multiple tools covering the same conceptual actions (e.g., acceptClarityCaptureSuggestion vs. acceptClarityTeamAssignmentSuggestion, or the many deleteClarity*Interview tools). The set is so large that distinguishing between, say, listClarityFolders, listClarityProcesses, and listClarityProcessSummaries requires reading deep into descriptions, reducing agent selection accuracy.

Naming Consistency4/5

The naming convention is predominantly verb_noun (e.g., createClarityProcess, listAgents, deleteQueue), and is remarkably consistent across the 316 tools. There are only minor deviations, such as 'fileSuggestedClarityProcesses' (verb + adjective noun) and 'bulkUpdateCasePriority' (where 'bulk' could be seen as a prefix), but overall the pattern holds strongly.

Tool Count1/5

With 316 tools, this server is extremely oversized for any single agent to manage effectively. The massive number of tools suggests poor modularization—many of these tools likely belong in separate, smaller servers focused on specific domains (e.g., Clarity, Pulse, Agent management). The cognitive load for an agent to choose from 316 options is very high, leading to frequent misselection.

Completeness4/5

The tool surface covers an extraordinarily wide range of operations across the Duvo platform: agents, runs, cases, queues, Clarity processes, skills, integrations, notifications, teams, and more. Most resource types have full CRUD and lifecycle management. Notable minor gaps exist (e.g., no tools for managing specific notification batch severities dynamically, and some interview management is missing batch operations), but for the platform's scope, coverage is impressively thorough.

Resources