Skip to main content
Glama

insync_upload_slots

Read-only

Creates short-lived signed URLs for uploading insurance-card images (JPG, JPEG, PNG) from your machine; PUT each file, then pass its blobKey to attach the card to your profile.

Instructions

Get signed upload URLs for insurance-card images (JPG, JPEG or PNG), for a hosted server that cannot read files on your machine. PUT each file to its uploadUrl (the returned curl command does it), then pass its blobKey to insync_upload_insurance_card as front_blob_key or back_blob_key. Changes nothing on the portal; each URL is a short-lived credential to write that one file, so share it with no one else.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "files": "<files>"
    },
    "name": "insync_upload_slots"
  }
}

Input Schema

NameRequiredDescriptionDefault
filesYesOne entry per card side to upload (at most 2): the image filename, e.g. "front.jpg".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, destructiveHint=false and openWorldHint=true; the description reinforces this by stating 'Changes nothing on the portal' and adds non-obvious behavior: each URL is a short-lived single-file write credential that must not be shared, and a ready-made curl command is returned. It stops short of stating expiry duration or failure modes, but the safety and secrecy profile is well covered.

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

Conciseness4/5

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

Front-loaded with the purpose, then the workflow, then the safety caveat — a logical ordering with no filler sentences. It is a single dense run-on paragraph, so a light structural break would improve scanability, but nothing is wasted.

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

Completeness5/5

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

There is no output schema, yet the description compensates by naming the returned artifacts (uploadUrl, blobKey, curl command) and their downstream use. For a one-parameter tool with full schema coverage, an agent has everything needed to call it and chain it correctly.

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

Parameters4/5

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

Schema description coverage is already 100%, so the baseline is 3; the description still adds value by explaining what the returned uploadUrl and blobKey are for and how they map onto the front/back slots of the downstream tool. It does not add syntax detail beyond the schema for filename or mimeType, which the schema already handles.

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 verb and resource ('Get signed upload URLs for insurance-card images') plus the constraints (JPG/JPEG/PNG) and the motivating scenario (hosted server that cannot read local files). It is clearly distinct from the sibling insync_upload_insurance_card, which it names as the downstream consumer.

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?

Gives the full when-and-how: call this first to obtain URLs, PUT each file to its uploadUrl, then pass the resulting blobKey to insync_upload_insurance_card as front_blob_key or back_blob_key. The alternative/successor tool is named explicitly with the exact parameters to use.

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