Ead-factory MCP Server

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

Local serverstdioMIT

What is the Ead-factory MCP Server?

Ead Factory Mcp is an MCP project maintained in the g-digital-by-garrigues/ead-factory-mcp repository. The maintainer describes its purpose as “MCP server for EAD Factory: qualified evidence, signature, notifications and chat via AI agents”. Read the project documentation for the complete scope.

Installation

The documented npm package is @g-digital/mcp-ead-factory. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Configuration values

The example declares MCP_SVC_CLIENT_ID, MCP_SVC_CLIENT_SECRET, MCP_SVC_TOKEN_URL. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
evidence_case_file_delete_bulkPermanently deletes SEVERAL case files in one call. Destructive and not reversible — confirm the caseFileIds first (evidence_case_file_search) and prefer…
evidence_case_file_searchSearches 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…
evidence_case_file_createCreates a new case file — the top-level container for evidence groups, evidence, and reports. Use this first, before any other Evidence-manager tool. No…
evidence_case_file_update_bulkUpdates 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…
evidence_case_file_getRetrieves 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_updateUpdates a single case file's editable metadata (e.g. name, description). Requires: evidence_case_file_create or evidence_case_file_search → caseFileId. To…
evidence_case_file_relationship_assignAssigns 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
evidence_case_file_report_previewGenerates 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_generateGenerates the SIGNED evidentiary report of a case file (the certified document covering its sealed evidence). Returns a reportId — then call…
evidence_case_file_report_updateUpdates a previously generated case-file report's metadata. Requires: evidence_case_file_report_generate → reportId (and the caseFileId it belongs to). Does…
evidence_case_file_report_pdf_url_getRetrieves a download URL for the signed PDF document of a case-file report. Requires: evidence_case_file_report_generate → reportId (plus caseFileId). For…
evidence_case_file_report_zip_url_getRetrieves 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_status_updateChanges 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…
evidence_report_deletePermanently deletes a generated report by its reportId. Destructive — the signed document and its package stop being downloadable. Requires…
evidence_group_evidence_registerRegister 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…
evidence_group_evidence_getGets one evidence's details (metadata, hash, custody, upload state) inside a specific evidence group. Requires: evidence_case_file_create → caseFileId…
evidence_group_evidence_deletePermanently deletes one evidence from an evidence group. Only makes sense while the group is still OPEN (sealed groups are immutable). Requires: caseFileId +…
evidence_group_evidence_download_url_createCreates a temporary download URL for an evidence file stored in a group (INTERNAL custody). Use to retrieve the original bytes after upload. Requires…
evidence_group_evidence_upload_url_createCreates 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…
evidence_thumbnail_url_getRetrieves a temporary URL for an image evidence's thumbnail at the requested size — use for quick visual verification without downloading the original file.…
evidence_searchSearches evidences across the tenant with optional filters (state, dates, pagination) — not scoped to one group. Use to find an evidenceId or audit what…
generate_evidenceRegister a new evidence (legacy top-level name; not scoped to a specific evidence group at creation time, unlike evidence_group_evidence_register). Use for…
evidence_update_bulkUpdates the editable metadata of SEVERAL evidences in one call (each entry carries its own evidenceId and changes). Prefer evidence_update for a single…
get_evidenceRetrieves an evidence record's details and status by id (legacy top-level name). Use to check an evidence's timestamping status (IN_PROCESS / COMPLETED /…
evidence_deletePermanently deletes one evidence by evidenceId (no group path needed). Destructive; sealed content should not be deleted — use only for drafts or…
evidence_updateUpdates a single evidence's editable metadata (e.g. name, description) by evidenceId. The file content and hash are immutable — re-register a new evidence…
evidence_download_url_createCreates a temporary download URL for an evidence's stored file when you only hold the evidenceId (no group path needed — same bytes as…
evidence_upload_url_createCreates 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…
evidence_temp_file_upload_url_createCreates 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_multipart_upload_startStarts 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…
evidence_group_delete_bulkPermanently deletes SEVERAL evidence groups of one case file in one call. Destructive — prefer evidence_group_discard for a single group, and never delete…
evidence_group_createCreates an evidence group inside a case file — evidence records are always registered inside a group, never standalone (except via the legacy generate_evidence
evidence_group_getGets one evidence group's details — status (OPEN/CLOSED), seal information, and its evidences with their upload states. Use to verify every file was uploaded…
evidence_group_discardDiscards (deletes) an OPEN evidence group and its registered evidences — use to abandon a group you no longer intend to seal. Destructive; sealed (CLOSED)…
evidence_group_updateUpdates an evidence group's editable metadata (e.g. name, description). Only meaningful while the group is OPEN — sealed groups are immutable. Requires…
evidence_group_closeSeals (closes) an evidence group, triggering qualified timestamping — after this, no more evidence can be added. Use only after every evidence registered in…
evidence_group_searchSearches evidence groups across case files with optional filters (status, dates, pagination). Use to find an evidenceGroupId or list groups pending sealing…
evidence_group_update_bulkUpdates the editable metadata of SEVERAL evidence groups in one call (each entry carries its own evidenceGroupId and changes). Prefer evidence_group_update for
evidence_report_pdf_url_getRetrieves a download URL for a report's signed PDF when you only hold the reportId (no caseFileId path needed — same document…
evidence_report_zip_url_getRetrieves 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).…
create_signature_requestCreates a new signature request — the top-level container for documents and signatories in a signing flow. Use this first, before…
add_document_to_signature_requestAdds 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…
add_signatory_to_documentAdds a signatory (by name + email) to a document within a signature request. Use once per person who needs to sign that specific document. Requires…
add_validator_to_signatoryAdds 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_observer_to_documentAdds 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…
activate_signature_requestActivates a signature request, sending signing notifications to every added signatory — after this, no more documents or signatories can be added (use…
get_signature_requestRetrieves a signature request's details and status by id (legacy top-level name). Use to check signing progress after activation. Requires…
signature_request_listList signature requests, optionally filtered by close condition among other criteria. Use to find a request when you don't have its id (e.g. by name or…
signature_request_cancelCancels an active signature request — no further signing can occur. Use when a request was activated in error or is no longer needed. Requires…
signature_certificate_generateGenerates the well-signed appearance certificate document for a signature request. Use once every signatory has signed (check with get_signature_request).…
signature_coordinate_setSets the on-page (x, y, page) coordinates where a signatory's signature appears on a document. Use after add_signatory_to_document if the signature placement…
signature_document_download_url_getRetrieves the download link for the FINAL, well-signed version of a document — the actual signed file, once every signatory has signed. Requires…
notification_request_createCreates a new notification request (draft) — the top-level container for receivers and attachments in a certified-notification flow. Use this first, before any
notification_request_sendActivates a notification request, triggering delivery to every added receiver across their configured channels. Runs as an MCP Task (bounded-polling until…
notification_request_statusSearches notifications, optionally filtered by requestId and/or delivery state — the closest equivalent to "checking a request's status": a request fans out…
notification_receiver_addAdds one or more receivers to a draft notification request — each receiver becomes its own per-channel notification under the shared requestId (there is no…
notification_document_addRegisters one or more document attachments (metadata only — fileName + SHA-256 hash) on a draft notification request. Use once per batch of documents before…
notification_document_upload_url_createCreates a presigned upload URL for a document attachment already registered via notification_document_add — PUT the file bytes to the returned URL. Requires…
notification_document_download_url_createCreates a presigned download URL for a document attachment on a notification request. Requires: notification_request_create → requestId…
notification_certificate_generateGenerates a delivery-certificate report for one or more notifications on a request. Use once notification_request_status shows the relevant notifications…
notification_certificate_pdf_url_getRetrieves the download URL for a previously generated notification delivery certificate. Requires: notification_certificate_generate → reportId.
evidence_create_sealedCreates (or reuses) an evidence group, registers and uploads one or more files as evidence, then seals (closes) the group — the full flagship evidence flow…
signature_request_fullCreates a signature request, adds one or more documents (each with its own signatories), and activates it — the full flagship signature flow in one call…
ead_factory_helpReturns an overview of EAD Factory's managers (Evidence, Signature, Notification, Chat), their key tools and starting points, and guidance on when to use a…

How to install the Ead-factory MCP Server

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "MCP_SVC_CLIENT_ID": "<SET_MCP_SVC_CLIENT_ID_HERE>",
        "MCP_SVC_CLIENT_SECRET": "YOUR_MCP_SVC_CLIENT_SECRET",
        "MCP_SVC_TOKEN_URL": "YOUR_MCP_SVC_TOKEN_URL"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
MCP_SVC_CLIENT_IDDeclared in the maintainer’s client configuration.Yes
MCP_SVC_CLIENT_SECRETDeclared in the maintainer’s client configuration.Yes
MCP_SVC_TOKEN_URLDeclared in the maintainer’s client configuration.Yes