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

GoCertius MCP Server

Official

evidence_create

Idempotent

Register a new evidence record in an evidence group with SHA-256 hash; for internal custody, upload file via presigned URL or provide a public file URL for automatic upload.

Instructions

Registers a NEW evidence record inside an evidence group. Requires: evidence_group_create → evidenceGroupId, case_file_create → caseFileId. Generate a UUID v4 for id. Compute the SHA-256 hex hash of the file BEFORE calling. Normal INTERNAL flow: call evidence_create with custodyType INTERNAL and NO fileUrl; the API returns uploadFileUrl, a presigned S3 URL. You MUST PUT the exact file bytes to uploadFileUrl, then verify with evidence_get/evidence_list, and ONLY THEN call evidence_seal. Do not seal an evidence group until every INTERNAL evidence file has been uploaded. Convenience flow: if you pass fileUrl (public HTTPS, no redirects, under 1 GiB), this tool downloads that URL and PUTs the bytes to uploadFileUrl for you. EXTERNAL flow: use custodyType EXTERNAL only when you intentionally register hash-only evidence; still generate a fresh UUID for each evidence. If an INTERNAL evidence creation/upload failed and you want to retry as EXTERNAL, create a NEW evidence id; do not reuse an id whose outcome is unknown. WARNING: the API sometimes returns {code:'EvidenceCreateError'} even when the evidence was successfully persisted — always verify with evidence_list before retrying.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesUUID v4 for the new evidence record (idempotency key)
hashYesSHA-256 hex digest of the file content (64 hex chars)
titleYesHuman-readable title for the evidence
fileUrlNoOptional public HTTPS URL to download and auto-upload to the returned uploadFileUrl (custodyType INTERNAL only). Omit this when you want the manual presigned-URL flow.
fileNameYesOriginal file name including extension
caseFileIdYesUUID of the case file
custodyTypeNoINTERNAL = GoCertius stores the file; EXTERNAL = only hash registeredINTERNAL
evidenceGroupIdYesUUID of the evidence group
Behavior5/5

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

Discloses important behavioral traits beyond annotations: the tool returns an uploadFileUrl for INTERNAL custody, describes the manual vs. convenience upload process, warns about potential false errors (EvidenceCreateError), and mandates verification. This adds significant context over the annotations (idempotentHint=true, readOnlyHint=false, destructiveHint=false). No contradiction with annotations.

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 long but well-organized, with clear sections for requirements, flows, and warnings. It front-loads the core purpose and prerequisites, then provides detailed flow instructions. While every sentence adds value, it could be slightly more concise by grouping repetitive warnings.

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?

Given the complexity (8 parameters, multiple flows, no output schema), the description is remarkably complete. It explains the return value (uploadFileUrl), outlines complete steps for each flow, and addresses edge cases like retry and error handling. Without an output schema, it compensates fully by describing expected behavior and post-call verification.

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 coverage is 100%, so the schema already documents each parameter. The description adds value by explaining the purpose of each parameter in the context of different flows (e.g., fileUrl for convenience, custodyType for storage vs. hash-only). It clarifies that id must be a fresh UUID v4 and hash must be computed beforehand, enriching understanding beyond the schema.

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 it registers a new evidence record inside an evidence group, distinguishing it from sibling tools like evidence_list, evidence_get, and evidence_seal. It specifies the verb 'Registers' and the resource 'evidence record', making the purpose unambiguous.

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?

Provides explicit guidelines on when to use each flow (INTERNAL, EXTERNAL, convenience), including prerequisites (evidenceGroupId, caseFileId) and exclusions (do not reuse failed IDs, do not seal before upload). It also mentions verification steps and error handling, offering clear context for agent decision-making.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/g-digital-by-Garrigues/GoCertius_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server