Skip to main content
Glama

SMI Aware Assistant

Request Deep Report Upload URL

smi_request_upload_url

Requests a presigned URL for uploading a large deep-report reference file (csv, doc, docx, gif, jpg, jpeg, pdf, png, txt, webp, xls, xlsx) directly to storage. This server never proxies file bytes: the caller must PUT the file to the returned signedUrl, capture the x-amz-version-id response header from that PUT, and then call smi_confirm_upload with that version to persist the upload record.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNameYes
deepReportIdYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNameYes
signedUrlYes
uploadMethodYes
versionHeaderYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds valuable behavioral context: the server never proxies file bytes, the caller must perform the PUT, and the version header must be captured. This goes beyond annotations and clarifies the non-idempotent, state-changing nature of the operation.

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?

The description is two sentences, front-loaded with the core purpose and file types, then the critical workflow steps. Every sentence earns its place with no 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?

The description covers the essential workflow, file types, and the required follow-up call. It doesn't describe the output schema (though one exists) or potential error cases, but for a tool with an output schema and clear workflow, this is largely complete. The only minor gap is not explaining what the response contains beyond the signedUrl.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It mentions deepReportId and fileName implicitly by describing the upload context, but doesn't explain the format or constraints of these parameters beyond what the schema provides. The description adds some context (file types) but not detailed parameter semantics.

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?

The description clearly states the tool requests a presigned URL for uploading a large deep-report reference file, lists supported file types, and distinguishes it from a direct upload by explaining the server never proxies file bytes. This is a specific verb+resource with clear scope.

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

Usage Guidelines5/5

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

The description explicitly explains the workflow: caller must PUT to the returned signedUrl, capture the x-amz-version-id header, then call smi_confirm_upload. It also names the sibling tool (smi_confirm_upload) and the condition for using it, providing clear when-to-use guidance.

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.

Resources