Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.g-digital-by-Garrigues/ead-factory

NPM · @G-DIGITAL/MCP-EAD-FACTORY

MCP server for EAD Factory: qualified evidence, signature, notifications and chat via AI agents.

−3 this week 86 Trust /100

Last scanned (47 minutes ago)

Scores higher than 90% of npm servers

Category Documents and Files

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security90
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects js-yaml 4.2.0, reached via @hey-api/client-fetch > @hey-api/openapi-ts > @hey-api/json-schema-ref-parser > js-yaml. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 43 of 173 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to g-digital-by-Garrigues/EAD-Factory-MCP). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 56 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability67
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 9085 tokens (~141/item across 64 items; 64 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management77
  • Stability observed for 23 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage81
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 34% of tool parameters carry a description.Partial
  • Structured output schemas are declared (59% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 64 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 −3
    • Stability: pass → 0.77 functional
  • 30 Oct 26 0
    • Stability: 0.97 → pass security
  • 29 Oct 26 0
    • Stability: pass → 0.97 functional
  • 23 Oct 26 0
    • Stability: 0.97 → pass security
  • 22 Oct 26 0
    • Stability: pass → 0.97 functional
  • 16 Oct 26 +1
    • Stability: 0.97 → pass security
  • 15 Oct 26 0
    • Package version: 1.3.1 → 1.4.0 functional
  • 14 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/@g-digital/mcp-ead-factory@1.4.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo g-digital-by-Garrigues/EAD-Factory-MCP
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/g-digital-by-Garrigues/MCP_Market_Distribution/.github/workflows/publish.yml@refs/heads/main
Rekor log index 2767634841
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:e8f40698d311106b3dc0ab27c3a007161788a7b9758063230a28bdd408580966d534612c99cf4af2339f5c6a638a7044ffc16b1a321968c037407b3b4

Background: How many MCP packages publish verified provenance →

Vulnerabilities 3 findings
ID CVE Severity Vector Fix available
GHSA-2883-xcg3-v3hh CVE-2026-84375 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-52cp-r559-cp3m CVE-2026-59869 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-5p4m-2wfm-xmqj high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 173 packages
Packages resolved 173
Deprecated 1
Stale 42
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 64 exposed · ~9,085 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
activate_signature_request ~146

Activates a signature request, sending signing notifications to every added signatory — after this, no more documents or signatories can be added (use add_validator_to_signatory / add_observer_to_document before activating if you need those roles). Requires: create_signature_request → signatureRequestId, at least one document (add_document_to_signature_request) with its bytes uploaded, and at least one signatory per document (add_signatory_to_document). Prefer signature_request_full for a new request — it creates, adds documents+signatories, and activates in one call.

NameTypeReqDescription
signatureRequestIdstringyesMANDATORY. UUID of the signature request. Obtain from create_signature_request.
NameTypeReqDescription
idstring––
statusstring––

No examples provided.

add_document_to_signature_request ~331

Adds a document to a signature request — the first step of a 2-step upload (add, then PUT the file bytes to the returned upload URL). Use once per document that needs signing. Requires: create_signature_request → signatureRequestId, and the document's SHA-256 hash (compute it before calling, or use the signature_request_full composite tool). Add signatories with add_signatory_to_document before activating. Signature type: INTERPOSITION = EAD Factory mediates the signing act on the signatory's behalf (e.g. an OTP sent via WhatsApp/SMS) — the signatory needs no software or certificate. | ADVANCED = Advanced electronic signature — the signatory signs directly (signing pad or certificate); a stronger legal tier than INTERPOSITION. | OTHER = A signature type not covered by INTERPOSITION or ADVANCED.

NameTypeReqDescription
certificateFilesobject––
convertToPdfboolean––
descriptionstring––
detachedboolean––
evidenceIdstring–MANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
fileSizeinteger––
filenamestringyes–
hashstringyes–
metadataobject––
providerstring––
sequenceinteger––
signatureDeadlinestring––
signatureRequestIdstringyesMANDATORY. UUID of the signature request. Obtain from create_signature_request.
signatureTypestringyes–
titlestringyes–
NameTypeReqDescription
expirationstring––
idstring––
urlstring––

No examples provided.

add_observer_to_document ~138

Adds an observer to a signature request's document: a person who receives read-only visibility of the process and the signed result without signing. Add observers BEFORE activate_signature_request. Requires: create_signature_request → signatureRequestId, add_document_to_signature_request → documentId.

NameTypeReqDescription
documentIdstringyesMANDATORY. UUID of the document within the signature request. Obtain from add_document_to_signature_request.
emailstringyes–
namestringyes–
signatureRequestIdstringyesMANDATORY. UUID of the signature request. Obtain from create_signature_request.
surnamesstring––
NameTypeReqDescription
emailstring––
idstring––
namestring––
notificationsarray––
surnamesstring––

No examples provided.

add_signatory_to_document ~181

Adds a signatory (by name + email) to a document within a signature request. Use once per person who needs to sign that specific document. Requires: create_signature_request → signatureRequestId, add_document_to_signature_request → documentId. Add all signatories before calling activate_signature_request — signatories cannot be added after activation.

NameTypeReqDescription
coordinatesarray––
documentIdstringyesMANDATORY. UUID of the document within the signature request. Obtain from add_document_to_signature_request.
emailstringyes–
namestringyes–
phonestring––
sequenceinteger––
signatureRequestIdstringyesMANDATORY. UUID of the signature request. Obtain from create_signature_request.
surnamesstring––
uniqueValidatorboolean––
NameTypeReqDescription
coordinatesarray––
documentIdstring––
emailstring––
idstring––
metadataobject––
namestring––
notificationsarray––
participantTypestring––
phonestring––
registeredAtstring––
roleTypestring––
sequencenumber––
signatureStatusstring––
signaturesarray––
surnamesstring––
taxIdstring––
uniqueValidatorboolean––
validatorsarray––

No examples provided.

add_validator_to_signatory ~163

Adds a validator to a document's signatory: a person who must approve (validate) that signatory's identity or the document before the signature can proceed. Add validators BEFORE activate_signature_request. Requires: add_document_to_signature_request → documentId, add_signatory_to_document → signatoryId. The signature_request_full composite accepts validators inline.

NameTypeReqDescription
documentIdstringyesMANDATORY. UUID of the document within the signature request. Obtain from add_document_to_signature_request.
emailstringyes–
namestringyes–
phonestring––
signatoryIdstringyesMANDATORY. UUID of the signatory. Obtain from add_signatory_to_document.
surnamesstring––
NameTypeReqDescription
documentIdstring––
emailstring––
idstring––
namestring––
phonestring––
signatoryIdstring––
surnamesstring––

No examples provided.

create_signature_request ~181

Creates a new signature request — the top-level container for documents and signatories in a signing flow. Use this first, before add_document_to_signature_request. No prerequisites. Example: create_signature_request({ name: 'NDA — Acme Corp', createdBy: 'jane@company.com' }) returns { id, ... } — use the returned id as signatureRequestId in subsequent calls.

NameTypeReqDescription
closeConfigobject––
createdBystringyes–
descriptionstring––
languagestring––
namestringyes–
notificationsboolean––
providerstring––
senderAddressstring––
senderNamestring––
signatureRequestBodyarray––
uniqueValidatorboolean––
webhookUrisarray––
NameTypeReqDescription
cancellationReasonstring––
createdBystring––
descriptionstring––
idstring––
languagestring––
namestring––
notificationsboolean––
providerstring––
senderAddressstring––
senderNamestring––
signatureRequestBodyarray––
statusstring––
uniqueValidatorboolean––
webhookUrisarray––

No examples provided.

ead_factory_help ~74

Returns an overview of EAD Factory's managers (Evidence, Signature, Notification, Chat), their key tools and starting points, and guidance on when to use a composite workflow tool (e.g. evidence_create_sealed) versus the atomic tools. Call this first if you're unsure which tool to use — no credentials needed.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

evidence_case_file_create ~176

Creates a new case file — the top-level container for evidence groups, evidence, and reports. Use this first, before any other Evidence-manager tool. No prerequisites. Unlike most create tools, `id` is CALLER-SUPPLIED (generate a fresh UUID v4 yourself, this API does not assign one) — there is no `name` field, use `title` instead. Example: evidence_case_file_create({ id: '<generate a UUID v4>', title: 'Q1 2026 audit' }) — use that same id as caseFileId in evidence_group_create.

NameTypeReqDescription
categorystring––
codestring––
descriptionstring––
idstringyes–
metadata–––
ownerstring––
titlestring––
NameTypeReqDescription
dataobjectyes–

No examples provided.

evidence_case_file_delete_bulk ~130

Permanently deletes SEVERAL case files in one call. Destructive and not reversible — confirm the caseFileIds first (evidence_case_file_search) and prefer closing a case file via evidence_case_file_status_update when you only need to end work on it.

NameTypeReqDescription
idsarrayyes–
requestIdstringyesMANDATORY. UUID you generate yourself to identify THIS bulk request — it is not obtained from any other tool, and it is NOT a notification request id. The upstream API does not document what it does…

No output schema declared.

No examples provided.

evidence_case_file_get ~78

Retrieves a case file's details by id. Use to confirm a case file exists, or to check its status before creating evidence groups or reports under it. Requires: evidence_case_file_create → caseFileId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
NameTypeReqDescription
categorystring––
codestring––
createdAtstring––
descriptionstring––
groupsstring––
idstring––
metadata–––
ownerstring––
status–––
titlestring––
updatedAtstring––

No examples provided.

evidence_case_file_relationship_assign ~108

Assigns a relationship on a case file, linking it to an external/related entity reference for traceability. Use after creating the case file when your workflow tracks which matter, client, or system record it belongs to. Requires: evidence_case_file_create → caseFileId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
itemTypestringyes–
itemValuestringyes–

No output schema declared.

No examples provided.

evidence_case_file_report_generate ~174

Generates the SIGNED evidentiary report of a case file (the certified document covering its sealed evidence). Returns a reportId — then call evidence_case_file_report_pdf_url_get (PDF) or evidence_case_file_report_zip_url_get (full package) to download. Requires: evidence_case_file_create → caseFileId; preview first with evidence_case_file_report_preview.

NameTypeReqDescription
additionalData–––
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
dataobject––
deletionDatestring––
filenamestring––
languageCodestringyes–
metadata–––
reportIdstringyesMANDATORY. UUID of the report.
templatestringyes–
NameTypeReqDescription
dataobjectyes–

No examples provided.

evidence_case_file_report_pdf_url_get ~108

Retrieves a download URL for the signed PDF document of a case-file report. Requires: evidence_case_file_report_generate → reportId (plus caseFileId). For the full evidence package (PDF + files + verification data) use evidence_case_file_report_zip_url_get.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
reportIdstringyesMANDATORY. UUID of the report.
NameTypeReqDescription
expirationstring––
idstring––
typestring––
urlstring––

No examples provided.

evidence_case_file_report_preview ~123

Generates an UNSIGNED preview of a case file's evidentiary report so you can check its content before producing the signed version with evidence_case_file_report_generate. Requires: evidence_case_file_create → caseFileId, with sealed evidence groups inside.

NameTypeReqDescription
additionalDataobject––
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
dataobject––
languageCodestringyes–
metadataobject––
templatestringyes–
NameTypeReqDescription
dataobjectyes–

No examples provided.

evidence_case_file_report_update ~106

Updates a previously generated case-file report's metadata. Requires: evidence_case_file_report_generate → reportId (and the caseFileId it belongs to). Does not re-generate the report content — generate a new report for updated evidence.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
deletionDate–––
reportIdstringyesMANDATORY. UUID of the report.

No output schema declared.

No examples provided.

evidence_case_file_report_zip_url_get ~95

Retrieves a download URL for the complete ZIP package of a case-file report (signed PDF plus evidence files and verification material). Requires: evidence_case_file_report_generate → reportId (plus caseFileId).

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
reportIdstringyesMANDATORY. UUID of the report.
NameTypeReqDescription
expirationstring––
idstring––
typestring––
urlstring––

No examples provided.

evidence_case_file_search ~62

Searches case files with optional filters (name, status, dates, pagination). Use to find a caseFileId when you don't have it, or to list what exists before creating a new case file with evidence_case_file_create.

NameTypeReqDescription
filterobjectyes–
NameTypeReqDescription
data–yes–

No examples provided.

evidence_case_file_status_update ~94

Changes a case file's lifecycle status (OPEN or CLOSE). Use CLOSE when work on the case file is finished and it should no longer accept new evidence groups; reopen with OPEN. Requires: evidence_case_file_create or evidence_case_file_search → caseFileId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
status–yes–

No output schema declared.

No examples provided.

evidence_case_file_update ~126

Updates a single case file's editable metadata (e.g. name, description). Requires: evidence_case_file_create or evidence_case_file_search → caseFileId. To change its OPEN/CLOSE lifecycle state use evidence_case_file_status_update instead.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
categorystring––
codestring––
descriptionstring––
metadataobject––
ownerstring––
titlestring––

No output schema declared.

No examples provided.

evidence_case_file_update_bulk ~83

Updates the editable metadata of SEVERAL case files in one call (each entry carries its own caseFileId and changes). Prefer evidence_case_file_update for a single case file. Requires: the caseFileIds of every case file to update (evidence_case_file_search to find them).

NameTypeReqDescription
idsarrayyes–
patcharray––

No output schema declared.

No examples provided.

evidence_create_sealed ~334

Creates (or reuses) an evidence group, registers and uploads one or more files as evidence, then seals (closes) the group — the full flagship evidence flow in one call instead of evidence_group_create + N x (evidence_group_evidence_register + upload) + evidence_group_close. Bounded-polls until the group reaches CLOSED (EAD Factory's upstream emits no events for this transition): task-aware MCP clients get an asynchronous Task; any other client simply receives the final result synchronously. Requires: case_file_create -> caseFileId. Provide `evidenceGroupId` to add to an existing OPEN group instead of creating one. Each evidence's file uses the shared FileInput contract (local path, base64, https URL, or n8n binary item) — never a bespoke file field. On success returns the group id, its final CLOSED status, and each evidence's id + sha256. Use the atomic evidence_group_create / evidence_group_evidence_register / evidence_group_close tools instead when you need to inspect or react to each intermediate step.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file.
evidenceGroupIdstring–Existing OPEN evidence group to add to. Omit to create a new one.
evidencesarrayyesOne or more files to register and upload into the group, then seal it.
groupNamestring–Only used when creating a new group (evidenceGroupId omitted).
groupTypestring–Only used when creating a new group (evidenceGroupId omitted).

No output schema declared.

No examples provided.

evidence_delete ~86

Permanently deletes one evidence by evidenceId (no group path needed). Destructive; sealed content should not be deleted — use only for drafts or mis-registered evidence. Requires: evidence_group_evidence_register or generate_evidence → evidenceId.

NameTypeReqDescription
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.

No output schema declared.

No examples provided.

evidence_download_url_create ~89

Creates a temporary download URL for an evidence's stored file when you only hold the evidenceId (no group path needed — same bytes as evidence_group_evidence_download_url_create). Requires: generate_evidence or evidence_group_evidence_register → evidenceId.

NameTypeReqDescription
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.

No output schema declared.

No examples provided.

evidence_group_close ~207

Seals (closes) an evidence group, triggering qualified timestamping — after this, no more evidence can be added. Use only after every evidence registered in the group has had its file bytes uploaded to the presigned URL from evidence_group_evidence_register. Requires: evidence_group_create → evidenceGroupId, evidence_case_file_create → caseFileId, and the current evidencesCount. ASYNC: the group transitions OPEN → CLOSING → CLOSED; poll evidence_group_get until status is CLOSED before generating a report. Prefer the evidence_create_sealed composite tool for a new group — it registers, uploads, closes, and waits for CLOSED in one call.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
collectMetadata–––
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidencesCountintegeryes–
NameTypeReqDescription
dataobjectyes–

No examples provided.

evidence_group_create ~231

Creates an evidence group inside a case file — evidence records are always registered inside a group, never standalone (except via the legacy generate_evidence tool). Use when starting a new batch of related evidence (e.g. all files for one incident). Like evidence_case_file_create, `id` is CALLER-SUPPLIED (generate a fresh UUID v4 yourself). Requires: evidence_case_file_create → caseFileId. Example: evidence_group_create({ id: '<generate a UUID v4>', caseFileId, type: 'FILE' }) returns { status: 'OPEN', ... } — use that same id as evidenceGroupId in evidence_group_evidence_register, then evidence_group_close once every evidence in the group has been uploaded.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
codestring––
createdBystring––
descriptionstring––
idstringyes–
metadata–––
namestring––
typestringyes–
NameTypeReqDescription
dataobjectyes–

No examples provided.

evidence_group_delete_bulk ~162

Permanently deletes SEVERAL evidence groups of one case file in one call. Destructive — prefer evidence_group_discard for a single group, and never delete sealed groups that back issued reports. Requires: caseFileId + the evidenceGroupIds to delete (evidence_group_search to find them).

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
idsarrayyes–
requestIdstringyesMANDATORY. UUID you generate yourself to identify THIS bulk request — it is not obtained from any other tool, and it is NOT a notification request id. The upstream API does not document what it does…

No output schema declared.

No examples provided.

evidence_group_discard ~120

Discards (deletes) an OPEN evidence group and its registered evidences — use to abandon a group you no longer intend to seal. Destructive; sealed (CLOSED) groups are immutable evidence and should not be discarded. Requires: caseFileId + evidence_group_create → evidenceGroupId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.

No output schema declared.

No examples provided.

evidence_group_evidence_delete ~134

Permanently deletes one evidence from an evidence group. Only makes sense while the group is still OPEN (sealed groups are immutable). Requires: caseFileId + evidenceGroupId + evidence_group_evidence_register → evidenceId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.

No output schema declared.

No examples provided.

evidence_group_evidence_download_url_create ~138

Creates a temporary download URL for an evidence file stored in a group (INTERNAL custody). Use to retrieve the original bytes after upload. Requires: caseFileId + evidenceGroupId + evidence_group_evidence_register → evidenceId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.

No output schema declared.

No examples provided.

evidence_group_evidence_get ~139

Gets one evidence's details (metadata, hash, custody, upload state) inside a specific evidence group. Requires: evidence_case_file_create → caseFileId, evidence_group_create → evidenceGroupId, evidence_group_evidence_register → evidenceId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
NameTypeReqDescription
capturedAtstring––
caseFileIdstring––
createdBystring––
custodyTypestring––
evidenceIdstring––
fileNamestring––
fileSizenumber––
groupIdstring––
hashstring––
metadata–––
statusobject––
timestampsobject––
titlestring––

No examples provided.

evidence_group_evidence_register ~385

Register a new evidence in a group — the first step of a 2-step upload (register, then PUT the file bytes to the returned upload URL). Use for each file you want to add to an OPEN evidence group. Requires: evidence_group_create → evidenceGroupId, evidence_case_file_create → caseFileId, and the file's SHA-256 hash (compute it before calling, or use the evidence_create_sealed composite tool which does this for you). Do not call evidence_group_close until every registered evidence's bytes have been uploaded. Custody type: INTERNAL = EAD Factory stores and custodies the file itself. | EXTERNAL = The file lives outside EAD Factory — you attest to its hash only, EAD Factory never stores the bytes. Testimony (qualified proof) provider family: TSP = Trusted Service Provider — eIDAS-qualified electronic timestamp; the legally strongest proof tier. | DLT = Distributed Ledger Technology — blockchain-anchored proof; immutable and independently verifiable.

NameTypeReqDescription
capturedAtstringyes–
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
createdBystring––
custodyTypestringyes–
deletionDate–––
deletionType–––
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
fileNamestring––
fileSizeinteger––
hashstringyes–
metadata–––
requiredTestimonyProvidersarrayyes–
testimony–yes–
titlestring––
typestring––
NameTypeReqDescription
expirationstring––
urlstring––

No examples provided.

evidence_group_evidence_upload_url_create ~177

Creates a fresh presigned upload URL for an ALREADY-REGISTERED evidence in a group — step 2 of the register-then-upload flow (PUT the file bytes to the returned URL). Use when the URL from evidence_group_evidence_register expired or was lost. Requires: caseFileId + evidenceGroupId + evidenceId. evidence_create_sealed does all of this automatically.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
requestModelobject––

No output schema declared.

No examples provided.

evidence_group_get ~117

Gets one evidence group's details — status (OPEN/CLOSED), seal information, and its evidences with their upload states. Use to verify every file was uploaded before evidence_group_close, or to check the seal after closing. Requires: caseFileId + evidence_group_create → evidenceGroupId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
NameTypeReqDescription
caseFileIdstring––
codestring––
collectionMetadataIdstring––
createdAtstring––
createdBystring––
descriptionstring––
discardedboolean––
evidencesobject––
idstring––
metadata–––
namestring––
statusstring––
typestring––

No examples provided.

evidence_group_search ~55

Searches evidence groups across case files with optional filters (status, dates, pagination). Use to find an evidenceGroupId or list groups pending sealing; for one group's full detail use evidence_group_get.

NameTypeReqDescription
filterobjectyes–
NameTypeReqDescription
data–yes–

No examples provided.

evidence_group_update ~136

Updates an evidence group's editable metadata (e.g. name, description). Only meaningful while the group is OPEN — sealed groups are immutable. Requires: caseFileId + evidence_group_create → evidenceGroupId.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
codestring––
createdBystring––
descriptionstring––
evidenceGroupIdstringyesMANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
metadataobject––
namestring––
NameTypeReqDescription
dataobjectyes–

No examples provided.

evidence_group_update_bulk ~75

Updates the editable metadata of SEVERAL evidence groups in one call (each entry carries its own evidenceGroupId and changes). Prefer evidence_group_update for a single group. Requires: the evidenceGroupIds to update (evidence_group_search to find them).

NameTypeReqDescription
idsarrayyes–
patcharray––

No output schema declared.

No examples provided.

evidence_multipart_upload_start ~211

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.

NameTypeReqDescription
capturedAtstringyes–
caseFileIdstring–MANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
createdBystringyes–
evidenceGroupIdstring–MANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
fileNamestringyes–
metadataobject––
requiredTestimonyProvidersarray––
testimonyobjectyes–
titlestringyes–

No output schema declared.

No examples provided.

evidence_report_delete ~71

Permanently deletes a generated report by its reportId. Destructive — the signed document and its package stop being downloadable. Requires: evidence_case_file_report_generate → reportId. The underlying case file and its evidence are NOT touched.

NameTypeReqDescription
reportIdstringyesMANDATORY. UUID of the report.

No output schema declared.

No examples provided.

evidence_report_pdf_url_get ~74

Retrieves a download URL for a report's signed PDF when you only hold the reportId (no caseFileId path needed — same document evidence_case_file_report_pdf_url_get returns). Requires: evidence_case_file_report_generate → reportId.

NameTypeReqDescription
reportIdstringyesMANDATORY. UUID of the report.
NameTypeReqDescription
expirationstring––
idstring––
typestring––
urlstring––

No examples provided.

evidence_report_zip_url_get ~68

Retrieves a download URL for a report's complete ZIP package when you only hold the reportId (same package evidence_case_file_report_zip_url_get returns). Requires: evidence_case_file_report_generate → reportId.

NameTypeReqDescription
reportIdstringyesMANDATORY. UUID of the report.
NameTypeReqDescription
expirationstring––
idstring––
typestring––
urlstring––

No examples provided.

evidence_search ~59

Searches evidences across the tenant with optional filters (state, dates, pagination) — not scoped to one group. Use to find an evidenceId or audit what exists; for one group's content use evidence_group_get instead.

NameTypeReqDescription
filterobjectyes–
NameTypeReqDescription
data–yes–

No examples provided.

evidence_temp_file_upload_url_create ~207

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.

NameTypeReqDescription
capturedAtstringyes–
caseFileIdstring–MANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
createdBystringyes–
evidenceGroupIdstring–MANDATORY. UUID of the evidence group. Obtain from evidence_group_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
fileNamestringyes–
metadataobject––
requiredTestimonyProvidersarray––
testimonyobjectyes–
titlestringyes–

No output schema declared.

No examples provided.

evidence_thumbnail_url_get ~132

Retrieves a temporary URL for an image evidence's thumbnail at the requested size — use for quick visual verification without downloading the original file. Requires: caseFileId + evidenceGroupId + evidenceId (image-type evidence only) and a thumbnailSize path value.

NameTypeReqDescription
caseFileIdstringyesMANDATORY. UUID of the parent case file. Obtain from evidence_case_file_create.
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
groupIdstringyes–
thumbnailSizestringyes–
NameTypeReqDescription
expirationstring––
idstring––
typestring––
urlstring––

No examples provided.

evidence_update ~129

Updates a single evidence's editable metadata (e.g. name, description) by evidenceId. The file content and hash are immutable — re-register a new evidence for changed files. Requires: evidence_group_evidence_register or generate_evidence → evidenceId.

NameTypeReqDescription
createdBystring––
custodystring––
deletionDate–––
deletionType–––
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
metadataobject––
titlestring––

No output schema declared.

No examples provided.

evidence_update_bulk ~70

Updates the editable metadata of SEVERAL evidences in one call (each entry carries its own evidenceId and changes). Prefer evidence_update for a single evidence. Requires: the evidenceIds to update (evidence_search to find them).

NameTypeReqDescription
idsarrayyes–
patcharray––

No output schema declared.

No examples provided.

evidence_upload_url_create ~116

Creates a fresh presigned upload URL for an already-registered evidence by evidenceId — step 2 of the register-then-upload flow (PUT the file bytes to the returned URL). Pairs with generate_evidence the way evidence_group_evidence_upload_url_create pairs with evidence_group_evidence_register. Requires: generate_evidence → evidenceId.

NameTypeReqDescription
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
fileNamestringyes–

No output schema declared.

No examples provided.

generate_evidence ~303

Register a new evidence (legacy top-level name; not scoped to a specific evidence group at creation time, unlike evidence_group_evidence_register). Use for standalone evidence outside the group-based flow, or for continuity with the legacy EAD-Factory-MCP integration. Requires the file's SHA-256 hash. Prefer evidence_create_sealed for a new, complete evidence group + evidence + seal flow. Custody type: INTERNAL = EAD Factory stores and custodies the file itself. | EXTERNAL = The file lives outside EAD Factory — you attest to its hash only, EAD Factory never stores the bytes. Testimony (qualified proof) provider family: TSP = Trusted Service Provider — eIDAS-qualified electronic timestamp; the legally strongest proof tier. | DLT = Distributed Ledger Technology — blockchain-anchored proof; immutable and independently verifiable.

NameTypeReqDescription
capturedAtstringyes–
createdBystring––
custodyTypestringyes–
deletionDate–––
deletionType–––
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
fileNamestring––
fileSizeinteger––
hashstringyes–
metadata–––
requiredTestimonyProvidersarrayyes–
testimony–yes–
titlestring––
typestring––
NameTypeReqDescription
expirationstring––
urlstring––

No examples provided.

get_evidence ~90

Retrieves an evidence record's details and status by id (legacy top-level name). Use to check an evidence's timestamping status (IN_PROCESS / COMPLETED / ERROR) after registration. Requires: generate_evidence or evidence_group_evidence_register → evidenceId.

NameTypeReqDescription
evidenceIdstringyesMANDATORY. UUID of the evidence record. Obtain from evidence_group_evidence_register or generate_evidence.
NameTypeReqDescription
capturedAtstring––
caseFileIdstring––
createdBystring––
custodyTypestring––
evidenceIdstring––
fileNamestring––
fileSizenumber––
groupIdstring––
hashstring––
metadata–––
statusobject––
timestampsobject––
titlestring––

No examples provided.

Install

How do I install the io.github.g-digital-by-Garrigues/ead-factory MCP server?

io.github.g-digital-by-Garrigues/ead-factory runs locally as an npm package, launched with npx -y @g-digital/mcp-ead-factory. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @g-digital/mcp-ead-factory

# add to Claude Code
claude mcp add g-digital-by-garrigues-ead-factory -- npx -y @g-digital/mcp-ead-factory
Common questions

What is the io.github.g-digital-by-Garrigues/ead-factory MCP server?

io.github.g-digital-by-Garrigues/ead-factory is an MCP server listed in the public MCP registry as io.github.g-digital-by-Garrigues/ead-factory. MCP server for EAD Factory: qualified evidence, signature, notifications and chat via AI agents. This page covers its npm package (@g-digital/mcp-ead-factory).

Is the io.github.g-digital-by-Garrigues/ead-factory MCP server safe to use?

io.github.g-digital-by-Garrigues/ead-factory scores 86 out of 100 on VerifyMCP. We recorded 3 known advisories against it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.g-digital-by-Garrigues/ead-factory MCP server expose?

io.github.g-digital-by-Garrigues/ead-factory exposes 64 tools: evidence_case_file_delete_bulk, evidence_case_file_search, evidence_case_file_create, evidence_case_file_update_bulk, evidence_case_file_get, and 59 more. Their descriptions and schemas cost roughly 9,085 tokens of context every time the server is loaded.

Is the io.github.g-digital-by-Garrigues/ead-factory MCP server still maintained?

io.github.g-digital-by-Garrigues/ead-factory is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.g-digital-by-Garrigues/ead-factory MCP server under?

io.github.g-digital-by-Garrigues/ead-factory declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.