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

EAD Factory MCP Server

Official

evidence_multipart_upload_start

Starts a MULTIPART upload session for a large evidence file (returns the upload coordinates for uploading the file in parts). Use when a single presigned PUT is not enough for the file size.

Instructions

Starts a MULTIPART upload session for a large evidence file (returns the upload coordinates for uploading the file in parts). Use when a single presigned PUT is not enough for the file size. Requires: an already-registered evidence (evidence_group_evidence_register or generate_evidence → evidenceId) and the file name.

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.6/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description adds useful behavioral context: the operation starts a session rather than performing the upload itself, and returns coordinates for subsequent partial uploads. However, it does not disclose session lifecycle details, completion/abort requirements, or expiry behavior, which would be valuable for a multipart flow.

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?

The description is compact and front-loaded: the core purpose is in the first sentence, followed by the usage condition and prerequisite in the second. Every sentence adds information. It is slightly dense and the phrase 'upload coordinates' is imprecise, but overall it is efficient.

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 complex tool with 10 parameters, 6 required fields, nested objects, no output schema, and nontrivial session semantics. The description mentions that upload coordinates are returned but does not describe required fields, the response shape, or the expected follow-up steps for completing the multipart upload. It is not complete enough for an agent to invoke this correctly without additional guidance.

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 compensates only for evidenceId and fileName, mentioning that evidenceId comes from evidence_group_evidence_register or generate_evidence. The schema also contains confusing 'MANDATORY' labels on optional UUID fields, and the description does not clarify the required createdBy, title, capturedAt, and testimony parameters. This leaves a substantial parameter-semantics gap.

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 states a specific action ('Starts a MULTIPART upload session') on a specific resource ('a large evidence file') and explains what it returns ('upload coordinates for uploading the file in parts'). It also distinguishes itself from the single-presigned-PUT flow by noting this is for cases where a single PUT is not enough, which separates it from siblings like evidence_upload_url_create.

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?

The description gives clear when-to-use guidance: 'Use when a single presigned PUT is not enough for the file size.' It also provides the prerequisite that the evidence must already be registered and references the precise tools used to obtain the required evidenceId. It does not explicitly name alternative tools or state when not to use it, so it stops short of a 5.

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