Skip to main content
Glama
g-digital-by-Garrigues

EAD Factory MCP Server

Official

evidence_temp_file_upload_url_create

Creates a presigned upload URL for a TEMPORARY file not yet registered as evidence. Use for staging content that another operation will reference; for real evidence prefer the register-then-upload flow (evidence_group_evidence_register) or…

Instructions

Creates a presigned upload URL for a TEMPORARY file not yet registered as evidence. Use for staging content that another operation will reference; for real evidence prefer the register-then-upload flow (evidence_group_evidence_register) or the evidence_create_sealed composite, which handle registration and upload together.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
fileNameYes
metadataNo
createdByYes
testimonyYes
capturedAtYes
caseFileIdNoMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceIdYesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
evidenceGroupIdNoMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
requiredTestimonyProvidersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.4.0
    • changedInput schema / properties / capturedAt / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
  2. First observedv1.3.1

TDQS

A3.9/5.0
Behavior3/5

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

Annotations provide no positive safety hints (all false), so the description carries the burden. It usefully discloses that the operation only creates a URL and does not register the file, and it frames the temporary staging lifecycle. However, it omits details such as URL expiration, upload method, side effects, or what happens if the staged file is never referenced.

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 with no filler. The core action is front-loaded, the staging use case is stated, and alternatives are named compactly in the second sentence.

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

Completeness2/5

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

This is a 10-parameter tool with nested objects, no output schema, and no useful annotations, yet the description only covers purpose and high-level usage. It does not explain the returned URL, required ID relationships, or upload semantics, so an agent lacks critical information needed to invoke it correctly.

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 30%, and the description adds no parameter-level guidance. It never explains required fields like evidenceId, createdBy, title, capturedAt, fileName, or testimony. The schema also self-contradicts by labeling caseFileId 'MANDATORY' while not listing it in the required array, and the description does nothing to resolve this.

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 uses a specific verb+resource combination: 'Creates a presigned upload URL for a TEMPORARY file not yet registered as evidence.' It clearly distinguishes this tool from sibling upload/registration flows by emphasizing the temporary, unregistered nature and by naming the alternatives it is not.

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 states when to use the tool ('Use for staging content that another operation will reference') and when not to ('for real evidence prefer the register-then-upload flow' and 'evidence_create_sealed composite'). It names concrete sibling alternatives, leaving no ambiguity.

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

Deploy Server

Other Tools