MCP server for EAD Factory: qualified evidence, signature, notifications and chat via AI agents.
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.
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.
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.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| evidence_case_file_delete_bulk | Permanently deletes SEVERAL case files in one call. Destructive and not reversible — confirm the caseFileIds first (evidence_case_file_search) and prefer… |
| evidence_case_file_search | 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… |
| evidence_case_file_create | 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… |
| evidence_case_file_update_bulk | 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… |
| evidence_case_file_get | 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_update | Updates 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_assign | 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 |
| evidence_case_file_report_preview | 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 | 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_update | Updates 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_get | Retrieves 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_get | 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_status_update | 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… |
| evidence_report_delete | Permanently deletes a generated report by its reportId. Destructive — the signed document and its package stop being downloadable. Requires… |
| evidence_group_evidence_register | 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… |
| evidence_group_evidence_get | Gets one evidence's details (metadata, hash, custody, upload state) inside a specific evidence group. Requires: evidence_case_file_create → caseFileId… |
| evidence_group_evidence_delete | Permanently 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_create | Creates 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_create | 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… |
| evidence_thumbnail_url_get | Retrieves a temporary URL for an image evidence's thumbnail at the requested size — use for quick visual verification without downloading the original file.… |
| evidence_search | Searches evidences across the tenant with optional filters (state, dates, pagination) — not scoped to one group. Use to find an evidenceId or audit what… |
| generate_evidence | 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… |
| evidence_update_bulk | Updates the editable metadata of SEVERAL evidences in one call (each entry carries its own evidenceId and changes). Prefer evidence_update for a single… |
| get_evidence | 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 /… |
| evidence_delete | Permanently deletes one evidence by evidenceId (no group path needed). Destructive; sealed content should not be deleted — use only for drafts or… |
| evidence_update | 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… |
| evidence_download_url_create | 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_upload_url_create | 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… |
| 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_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… |
| evidence_group_delete_bulk | Permanently 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_create | Creates 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_get | 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… |
| evidence_group_discard | Discards (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_update | Updates an evidence group's editable metadata (e.g. name, description). Only meaningful while the group is OPEN — sealed groups are immutable. Requires… |
| evidence_group_close | Seals (closes) an evidence group, triggering qualified timestamping — after this, no more evidence can be added. Use only after every evidence registered in… |
| evidence_group_search | Searches evidence groups across case files with optional filters (status, dates, pagination). Use to find an evidenceGroupId or list groups pending sealing… |
| evidence_group_update_bulk | Updates 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_get | Retrieves 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_get | 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).… |
| create_signature_request | 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 | 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… |
| add_signatory_to_document | 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… |
| add_validator_to_signatory | 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_observer_to_document | 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… |
| activate_signature_request | Activates a signature request, sending signing notifications to every added signatory — after this, no more documents or signatories can be added (use… |
| get_signature_request | Retrieves a signature request's details and status by id (legacy top-level name). Use to check signing progress after activation. Requires… |
| signature_request_list | List 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_cancel | Cancels 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_generate | Generates the well-signed appearance certificate document for a signature request. Use once every signatory has signed (check with get_signature_request).… |
| signature_coordinate_set | Sets 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_get | Retrieves the download link for the FINAL, well-signed version of a document — the actual signed file, once every signatory has signed. Requires… |
| notification_request_create | Creates 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_send | Activates a notification request, triggering delivery to every added receiver across their configured channels. Runs as an MCP Task (bounded-polling until… |
| notification_request_status | Searches notifications, optionally filtered by requestId and/or delivery state — the closest equivalent to "checking a request's status": a request fans out… |
| notification_receiver_add | Adds 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_add | Registers 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_create | Creates 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_create | Creates a presigned download URL for a document attachment on a notification request. Requires: notification_request_create → requestId… |
| notification_certificate_generate | Generates 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_get | Retrieves the download URL for a previously generated notification delivery certificate. Requires: notification_certificate_generate → reportId. |
| evidence_create_sealed | 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… |
| signature_request_full | Creates 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_help | 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… |
{
"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.
| Variable | Description | Required |
|---|---|---|
| MCP_SVC_CLIENT_ID | Declared in the maintainer’s client configuration. | Yes |
| MCP_SVC_CLIENT_SECRET | Declared in the maintainer’s client configuration. | Yes |
| MCP_SVC_TOKEN_URL | Declared in the maintainer’s client configuration. | Yes |
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
EU-hosted AI platform: OpenAI-compatible LLM gateway, document extraction, transcription, agents.
Paid AI utilities for web comparison, code checks, document extraction, security, and research.
Browse, generate and import Abyssale designs — banners, video, PDF — from your AI client.
MCP server with tools to search, fetch, analyze, and report on scientific papers and datasets.
Autonomous WCAG 2.1 accessibility auditor that scans, fixes, re-verifies, and generates VPAT 2.5 EN 301 549 reports using AI vision analysis + DOM scanning.