io.github.g-digital-by-Garrigues/ead-enterprise-suite
NPM · @G-DIGITAL/MCP-EAD-ENTERPRISE-SUITE · SCANNED SEP 20
MCP server for EAD Enterprise Suite - signatures, evidence, notifications, dossiers via AI agents.
Available components
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 Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 37 of 111 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Build provenance is cryptographically sound, but it attests a different repository to the one declared in the registry. Most often the declared URL is simply stale. View diagnostics → Unverified
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 11 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 13445 tokens (~156/item across 86 items; 86 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 Management91
- Stability check failed: the tool surface changed between 1.6.1 and 2.0.0: 0 tool removals, 2 breaking changes, 34 additions. See how to fix → Fail
Tool Coverage70
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 11% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 13 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 86 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
How do I install the io.github.g-digital-by-Garrigues/ead-enterprise-suite MCP server?
io.github.g-digital-by-Garrigues/ead-enterprise-suite runs locally as an npm package, launched with npx -y @g-digital/mcp-ead-enterprise-suite. 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-enterprise-suite
claude mcp add g-digital-by-garrigues-ead-enterprise-suite -- npx -y @g-digital/mcp-ead-enterprise-suite
{
"mcpServers": {
"g-digital-by-garrigues-ead-enterprise-suite": {
"command": "npx",
"args": [
"-y",
"@g-digital/mcp-ead-enterprise-suite"
]
}
}
} {
"servers": {
"g-digital-by-garrigues-ead-enterprise-suite": {
"command": "npx",
"args": [
"-y",
"@g-digital/mcp-ead-enterprise-suite"
]
}
}
} codex mcp add g-digital-by-garrigues-ead-enterprise-suite -- npx -y @g-digital/mcp-ead-enterprise-suite
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"g-digital-by-garrigues-ead-enterprise-suite": {
"type": "local",
"command": [
"npx",
"-y",
"@g-digital/mcp-ead-enterprise-suite"
],
"enabled": true
}
}
} openclaw mcp add g-digital-by-garrigues-ead-enterprise-suite --command npx --arg -y --arg @g-digital/mcp-ead-enterprise-suite
mcp_servers:
g-digital-by-garrigues-ead-enterprise-suite:
command: "npx"
args: ["-y", "@g-digital/mcp-ead-enterprise-suite"] {
"McpServers": {
"g-digital-by-garrigues-ead-enterprise-suite": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@g-digital/mcp-ead-enterprise-suite"
]
}
}
} assistant mcp add g-digital-by-garrigues-ead-enterprise-suite -t stdio -c npx -a -y @g-digital/mcp-ead-enterprise-suite
{
"mcpServers": {
"g-digital-by-garrigues-ead-enterprise-suite": {
"command": "npx",
"args": [
"-y",
"@g-digital/mcp-ead-enterprise-suite"
]
}
}
} 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.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 81 to 85.
- 16 Sept 26 −2
No change was recorded against any check on this day. Stability & Change Management went from 98 to 78.
- 14 Sept 26 +1
- Package version: 1.6.1 → 2.0.0 functional
- 13 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 12 Sept 26 0
- Security disclosure: fail → unverified ▼ functional
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 81 to 85.
- 9 Sept 26 +13
- Malware scan: unverified → pass ▲ security
- 8 Sept 26 −16
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → fail ▼ security
- Stability: 0.97 → pass security
- Schema quality: 122 → 156 ▼ functional
- Package version: 1.6.1 → 2.0.0 functional
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 20 Sept 2026 · Analysed npm/@g-digital/mcp-ead-enterprise-suite@2.0.0
Provenance Repository mismatch
The attestation is cryptographically sound but binds a different repository to the one the registry declares. Most often the declared URL is simply stale.
| Result | Repository mismatch |
|---|---|
| Ecosystem | npm |
| Reason | Repository mismatch |
| Discovered via | Registry attestation endpoint |
| 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 | 2755465691 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:ee68289876ebbdc5d839402a4f48b5eb1eabc2746b84e2a5bcc625eaaa859ed155c9b131f87bdadfd46af094931327a95c71f70c24b6e62ba7ad57cd6 |
Background: How many MCP packages publish verified provenance →
Dependencies 111 packages
| Packages resolved | 111 |
|---|---|
| Deprecated | 1 |
| Stale | 36 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
activate_signature_request ~237
Activates a signature request, transitioning from DRAFT to ACTIVE and sending signing invitations to all signatories. Do NOT call this immediately after uploading files. Activation preconditions: request is DRAFT; at least one SIGNATORY exists; every document has been uploaded to its presigned URL; backend processing has had time to complete for every uploaded document (use processed/READY_TO_SIGN from signature_request_get when exposed; otherwise wait after the successful PUT); and PDF documents have signature coordinates set for every required signatory. INTERPOSITION may send a simple signing link, including WhatsApp when available/configured; ADVANCED uses phonePrefix/phoneNumber for OTP and currently does not support WhatsApp delivery. IRREVERSIBLE: cannot add documents or participants after activation. ASYNC: after activation, poll signature_request_get until status is ACTIVE, then use signature_document_signatory_list with documentId to monitor each signatory, or signature_document_list for the request's documents and their aggregate signatoryStatusStats; call signature_certificate_get only after the document is SIGNED.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| requestId | string | yes | – |
No output schema declared.
No examples provided.
assign_validator_to_signatory ~117
Assigns one or more validators to a specific signatory in a signature request. The validator must approve before the signatory can sign. Requires: signature_participant_create (validator) → validatorId in validatorIds array, signature_participant_create (signatory) → signatoryId, signature_request_create → requestId, case_file_create → caseFileId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| requestId | string | yes | – |
| signatoryId | string | yes | – |
| validatorIds | array | yes | – |
No output schema declared.
No examples provided.
case_file_create ~97
Creates a new case file — the top-level container for all related operations (evidence, notifications, signatures, dossiers). Call this first before any other operation. Generate a UUID v4 for `id`. Returns caseFileId needed for all subsequent calls.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| id | string | yes | – |
| name | string | yes | – |
| reference | string | – | – |
| useCaseId | string | yes | – |
No output schema declared.
No examples provided.
case_file_delete ~92
Deletes a case file and everything filed inside it — evidence groups, dossiers, notifications and their certificates. Irreversible, with no confirmation step and no recycle bin. Requires: caseFileId. Returns no body (HTTP 204); confirm with case_file_list. Do not call it to 'clean up' unless the user asked for that case file to be destroyed.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
No output schema declared.
No examples provided.
case_file_get ~50
Retrieves details of a specific case file. Requires: caseFileId. Use to verify a case file exists before creating evidence groups, dossiers, or signature requests.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
No output schema declared.
No examples provided.
case_file_list ~80
Lists all case files in your EAD Enterprise Suite account. Pass userId (from session_login or session_info) to scope results to your account. Returns paginated list with IDs, names, and status.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
| userId | string | yes | – |
No output schema declared.
No examples provided.
dossier_certify ~95
Certifies a dossier, generating a tamper-evident PDF and locking all linked evidence. Requires: dossier_create → dossierId, dossier_evidence_link (evidence linked), case_file_create → caseFileId. ASYNC: transitions DRAFT → CERTIFYING → CERTIFIED. Poll dossier_list until dossierId status === CERTIFIED.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_create ~164
Creates a dossier to aggregate certified evidence groups into a single tamper-evident PDF. Requires: case_file_create → caseFileId. Evidence groups must be in CLOSED status before linking. Generate a UUID v4 string for `id`. Returns dossierId. After creation, link evidence with dossier_evidence_link, then certify with dossier_certify.
| Name | Type | Req | Description |
|---|---|---|---|
| accessToken | string | – | – |
| caseFileId | string | yes | – |
| dossierTemplateId | string | – | – |
| filledFields | object | – | – |
| id | string | yes | – |
| language | string | yes | – |
| modelId | string | – | – |
| name | string | yes | – |
| purpose | string | – | – |
| validityFrom | string | yes | – |
| validityTo | string | yes | – |
No output schema declared.
No examples provided.
dossier_delete ~66
Deletes a dossier. Available in DRAFT status (to discard before certification) or in CERTIFIED status (to permanently remove the certified dossier). Irreversible. Requires: caseFileId and dossierId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_document_url ~53
Returns the download URL for the certified dossier PDF. Requires: dossier_certify (CERTIFIED status), caseFileId, dossierId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_evidence_delete ~76
Removes an evidence item from a dossier. Only available while dossier is in DRAFT status. Requires: caseFileId, dossierId, evidenceId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierEvidenceGroupId | string | yes | – |
| dossierEvidenceId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_evidence_get ~70
Retrieves details of a specific evidence item linked to a dossier. Requires: caseFileId, dossierId, evidenceId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierEvidenceGroupId | string | yes | – |
| dossierEvidenceId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_evidence_link ~100
Links evidence items from a sealed group to a dossier. Requires: dossier_create → dossierId, evidence_seal (CLOSED), case_file_create → caseFileId. Pass the ids array of evidence UUIDs. Can be called multiple times for evidence from different case files.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| caseFileToLinkId | string | yes | – |
| dossierId | string | yes | – |
| ids | array | yes | – |
No output schema declared.
No examples provided.
dossier_evidence_list ~118
Lists the evidence items linked to ONE evidence group of a dossier. Requires: caseFileId, dossierId AND dossierEvidenceGroupId — all three are mandatory. For every evidence item in the dossier regardless of group, use dossier_evidence_list_by_dossier instead. Supports filter, order and page.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierEvidenceGroupId | string | yes | – |
| dossierId | string | yes | – |
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
No output schema declared.
No examples provided.
dossier_evidence_list_by_dossier ~118
Lists every evidence item linked to a dossier, across all of its evidence groups. Requires: caseFileId and dossierId. This is the dossier-wide view; dossier_evidence_list is the narrower per-group one and additionally needs a dossierEvidenceGroupId. Supports filter, order and page. Returns { data, meta.totalElements }.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
No output schema declared.
No examples provided.
dossier_evidence_list_to_link ~88
Lists evidence items available to be linked to a dossier (CLOSED groups not yet linked). Requires: caseFileId and dossierId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| caseFileToLinkId | string | yes | – |
| dossierId | string | yes | – |
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
No output schema declared.
No examples provided.
dossier_get ~51
Retrieves full details of a specific dossier including status, linked evidence, and download URLs. Requires: caseFileId and dossierId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_group_certify ~133
Creates AND certifies a dossier from a single sealed evidence group in one call (express path). Requires: evidence_seal (CLOSED), case_file_create → caseFileId, evidence_group_create → evidenceGroupId. Generate a UUID v4 string for `id`. Returns dossierId with CERTIFYING status → poll until CERTIFIED.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| evidenceGroupId | string | yes | – |
| evidenceIds | array | – | – |
| id | string | yes | – |
| language | string | yes | – |
| modelId | string | – | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
dossier_list ~80
Lists all dossiers in a case file. Requires: caseFileId. Returns paginated list with IDs, names, status, and creation dates. Use to monitor certification progress — poll until status: CERTIFIED.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
No output schema declared.
No examples provided.
dossier_list_by_user ~109
Lists every dossier belonging to a user, across all of their case files. Requires: userId (from session_login or session_info). Use this when you do not know which case file a dossier is in; use dossier_list when you already have a caseFileId. Supports filter, order and page. Returns { data, meta.totalElements }.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
| userId | string | yes | – |
No output schema declared.
No examples provided.
dossier_package_url ~58
Returns the download URL for the full dossier package (PDF + evidence files). Requires: dossier_certify (CERTIFIED status), caseFileId, dossierId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_preview ~45
Returns an HTML preview URL of a dossier before certification. Requires: caseFileId and dossierId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
No output schema declared.
No examples provided.
dossier_template_list ~45
Lists available dossier templates. No prerequisites. Returns template IDs and their translations per language. Use the returned id as dossierTemplateId in dossier_create.
| Name | Type | Req | Description |
|---|---|---|---|
| page | object | – | – |
No output schema declared.
No examples provided.
dossier_update ~125
Updates the metadata of an existing dossier. Requires: dossier_create → dossierId, caseFileId. Only available while dossier is in DRAFT status.
| Name | Type | Req | Description |
|---|---|---|---|
| accessToken | string | – | – |
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
| dossierTemplateId | string | – | – |
| filledFields | object | – | – |
| language | string | – | – |
| modelId | string | – | – |
| name | string | – | – |
| purpose | string | – | – |
| validityFrom | string | – | – |
| validityTo | string | – | – |
No output schema declared.
No examples provided.
dossier_visibility ~61
Updates the visibility (public/private) of a certified dossier. Requires: dossier_certify (CERTIFIED status), caseFileId, dossierId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| dossierId | string | yes | – |
| visibility | string | yes | – |
No output schema declared.
No examples provided.
evidence_create ~420
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.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | UUID of the case file |
| custodyType | string | – | INTERNAL = EAD stores the file; EXTERNAL = only hash registered |
| evidenceGroupId | string | yes | UUID of the evidence group |
| fileName | string | yes | Original file name including extension |
| fileUrl | string | – | Optional 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. |
| hash | string | yes | SHA-256 hex digest of the file content (64 hex chars) |
| id | string | yes | UUID v4 for the new evidence record (idempotency key) |
| title | string | yes | Human-readable title for the evidence |
No output schema declared.
No examples provided.
evidence_get ~83
Retrieves a specific evidence record. Requires: evidence_create → evidenceId, evidence_group_create → evidenceGroupId, case_file_create → caseFileId. Returns status (COMPLETED|IN_PROCESS|ERROR), hash, and tspTimestamp when certified.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| evidenceGroupId | string | yes | – |
| id | string | yes | – |
No output schema declared.
No examples provided.
evidence_group_create ~110
Creates an evidence group inside a case file. Requires: case_file_create → caseFileId. Generate a UUID v4 for `id`. Set evidenceType to FILE, PHOTO, VIDEO, or WEB_PLUGIN. Returns evidenceGroupId. One group can contain multiple evidence records.
| Name | Type | Req | Description |
|---|---|---|---|
| attestation | object | – | – |
| caseFileId | string | yes | – |
| description | string | – | – |
| evidenceType | string | yes | – |
| id | string | yes | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
evidence_group_list ~81
Lists all evidence groups in a case file with their current status (OPEN, CLOSING, CLOSED). Use to find an existing group or check which groups are ready for sealing. Requires: caseFileId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
No output schema declared.
No examples provided.
evidence_list ~81
Lists all evidence records in a specific evidence group. Requires: caseFileId and evidenceGroupId. Returns paginated list with IDs, titles, status, and timestamps.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| evidenceGroupId | string | yes | – |
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
No output schema declared.
No examples provided.
evidence_seal ~162
Seal and certify an evidence group. Closes the group to new additions and triggers async timestamping. Returns immediately — the group transitions OPEN → CLOSING → CLOSED. Poll evidence_group_list until status is CLOSED before linking to a dossier.
| Name | Type | Req | Description |
|---|---|---|---|
| altitudeLocation | string | – | – |
| attestation | object | – | – |
| caseFileId | string | yes | – |
| deviceManufacturer | string | – | – |
| deviceModel | string | – | – |
| deviceOS | string | – | – |
| evidencesCount | number | yes | – |
| id | string | yes | – |
| latitudeLocation | string | – | – |
| locationAccuracy | string | – | – |
| longitudeLocation | string | – | – |
| userAgent | string | – | – |
| webUrl | string | – | – |
No output schema declared.
No examples provided.
evidence_upload ~375
Uploads a local file as evidence in one step: computes its SHA-256, registers the evidence record (custodyType INTERNAL = EAD stores the file), and uploads the bytes to S3 — no manual hashing or PUT needed. Internally this follows the required EAD sequence: create INTERNAL evidence → receive uploadFileUrl (presigned S3 URL) → PUT file bytes → return uploaded:true. Requires: case_file_create → caseFileId, evidence_group_create → evidenceGroupId. Provide EXACTLY ONE of `filePath` (absolute local path, stdio/local mode only) or `contentBase64` (base64-encoded file content, ~10 MB max). Use evidence_upload when the file is on the local machine; use evidence_create when you already have the SHA-256 hash, need to inspect/use uploadFileUrl manually, or have a public fileUrl. After this tool succeeds, verify with evidence_get/evidence_list and only then call evidence_seal. If this tool fails before returning an evidence id, check evidence_list before retrying; if retrying manually, use evidence_create with a fresh UUID. Local files must be under 1 GiB.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | UUID of the case file |
| contentBase64 | string | – | Base64-encoded file content (~10 MB max). The tool will create evidence, receive uploadFileUrl, and PUT these bytes to it. |
| evidenceGroupId | string | yes | UUID of the evidence group |
| fileName | string | yes | File name including extension |
| filePath | string | – | Absolute local path to the file (stdio/local mode only). The tool will create evidence, receive uploadFileUrl, and PUT this file to it. |
| title | string | yes | Human-readable title for the evidence |
No output schema declared.
No examples provided.
id_verification_contract_url ~145
Retrieves the signed identity-verification contract for one completed verification. Requires: verificationId — the id you generated for id_verification_video_create, or an id from id_verification_list. NOTE: the OpenAPI specification declares a 200 response with NO body for this operation, so the exact payload is undeclared and has not been observed against a working deployment; inspect what comes back rather than assuming a particular field. PERMIT-GATED: returns 403 with code NoIdVerificationsPermit when profile_get reports permit.idVerifications === false. Signing the contract requires two live OTPs and is deliberately not exposed as a tool.
| Name | Type | Req | Description |
|---|---|---|---|
| verificationId | string | yes | – |
No output schema declared.
No examples provided.
id_verification_list ~167
Lists the identity verifications belonging to a user, with the outcome of each. Requires: userId (from profile_get). Items are { id, email, name, firstSurname, secondSurname, status, identificationType, createdAt, createdBy, rejectedReason, rejectedContext }, so this is where you read whether a verification succeeded and, when it did not, why. Supports filter, order and page. This is the only way to observe an id_verification_video_create, which returns no body. PERMIT-GATED: returns 403 with code NoIdVerificationsPermit when profile_get reports permit.idVerifications === false.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| order | object | – | – |
| page | object | – | – |
| userId | string | yes | – |
No output schema declared.
No examples provided.
id_verification_video_create ~225
Starts a REMOTE VIDEO identity verification for one person: the platform contacts them and runs the identification session. Requires: id (UUID v4 you generate), name, firstSurname, email, phonePrefix and phoneNumber. phonePrefix must include the leading + (for example '+34'). secondSurname is optional. Returns HTTP 201 with NO body, so keep the id you generated — it is the verificationId, and id_verification_list is the only way to read the outcome. PERMIT-GATED: call profile_get first and check permit.idVerifications; if it is false every call here returns 403 with code NoIdVerificationsPermit and no argument change will help, so report it rather than retrying. Presential (in-person) identity verification is deprecated upstream and deliberately not exposed.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| firstSurname | string | yes | – |
| id | string | yes | – |
| name | string | yes | – |
| phoneNumber | string | yes | – |
| phonePrefix | string | yes | – |
| secondSurname | string | – | – |
No output schema declared.
No examples provided.
large_evidence_upload_complete ~82
Finalize a multipart evidence upload and register the evidence in the group. Returns immediately — the evidence transitions asynchronously to COMPLETED. Poll evidence_list until status is COMPLETED before sealing the group.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| evidenceGroupId | string | yes | – |
| id | string | yes | – |
| userAgent | string | – | – |
No output schema declared.
No examples provided.
large_evidence_upload_get ~112
Reports how much of a large evidence upload the platform has actually received. Requires: caseFileId, evidenceGroupId and the evidence id. Returns fileName, totalSizeMB, chunkSizeMB and biggestUploadedOffset — compare biggestUploadedOffset against totalSizeMB to decide whether every part landed before calling large_evidence_upload_complete. Use it to resume or diagnose a stalled upload.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| evidenceGroupId | string | yes | – |
| id | string | yes | – |
No output schema declared.
No examples provided.
large_evidence_upload_initiate ~104
Performs the large_evidence_upload_initiate operation against the GoCertius API. Review the API documentation for full field details.
| Name | Type | Req | Description |
|---|---|---|---|
| capturedAt | string | yes | – |
| caseFileId | string | yes | – |
| evidenceGroupId | string | yes | – |
| evidenceId | string | yes | – |
| fileName | string | yes | – |
| id | string | yes | – |
| title | string | yes | – |
| totalSizeMB | number | yes | – |
No output schema declared.
No examples provided.
notification_certificate_document_url ~136
Returns { documentUrl } for the certificate PDF on its own, WITHOUT the attachments. Requires certificateId, receiverId, notificationRequestId and caseFileId. Wait until the certificate is CERTIFIED: generation is asynchronous and the first call can 404 or come back empty while it is still CERTIFYING, so poll a few times with a bounded retry rather than hammering it. If you want the attachments bundled in, use notification_certificate_package_url instead.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| certificateId | string | yes | – |
| notificationRequestId | string | yes | – |
| receiverId | string | yes | – |
No output schema declared.
No examples provided.
notification_certificate_get ~161
Creates or retrieves a PDF certificate for a specific notification receiver. Requires notification_request_send and notification_receiver_add. Generate a UUID v4 for `id` the first time and reuse that id when polling. This tool is idempotent: it first lists existing certificates for the receiver and, if `id` already exists, returns it instead of creating it again. If the certificate status is CERTIFIED, the response includes documentUrl when available. If it is CERTIFYING, poll this same tool with the same id.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| embeddedDocuments | boolean | – | – |
| id | string | yes | – |
| language | string | – | – |
| notificationRequestId | string | yes | – |
| receiverId | string | yes | – |
No output schema declared.
No examples provided.
notification_certificate_list ~213
Lists the delivery certificates already generated for one recipient, so you can reuse one instead of generating a duplicate. Requires receiverId, notificationRequestId and caseFileId. Returns per certificate: id, status (DRAFT, CERTIFYING, CERTIFIED), language, createdAt, certifiedAt, `partial` — whether it is an intermediate certificate issued before the recipient finished responding — and `embeddedDocuments`. Do not read `embeddedDocuments` as "the package contains the attachments": in a tested run it was false on a notification that had an attachment, and notification_certificate_package_url still returned a ZIP carrying that attachment. Once a certificate is CERTIFIED, download it with notification_certificate_document_url (the certificate alone) or notification_certificate_package_url (a ZIP that also carries the attachments).
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| filter | object | – | – |
| notificationRequestId | string | yes | – |
| order | object | – | – |
| page | object | – | – |
| receiverId | string | yes | – |
No output schema declared.
No examples provided.
notification_certificate_package_url ~136
Returns { packageUrl } for a ZIP containing the certificate AND the notification's attachments — the "with annexes" form. There is no separate preview flag anywhere in the API: the package carries the annexes, the document is the certificate alone. Requires certificateId, receiverId, notificationRequestId and caseFileId. Same preconditions as notification_certificate_document_url — wait for CERTIFIED, and expect the first call to fail while generation is still running.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| certificateId | string | yes | – |
| notificationRequestId | string | yes | – |
| receiverId | string | yes | – |
No output schema declared.
No examples provided.
notification_document_add ~246
Attaches a document to a notification. Two steps: this call registers the file and returns { url }, a presigned upload URL, and you then PUT the raw bytes to that URL with an x-amz-checksum-sha256 header. Generate a UUID v4 for `id`, and compute the file's SHA-256 hex hash BEFORE calling — it goes in `hash`. ORDER MATTERS AND GETTING IT WRONG FAILS THE SEND: add every document BEFORE adding recipients, and wait until each document reaches READY_TO_SEND (poll notification_document_list; roughly 8 seconds) before calling notification_request_send. Attaching after recipients, or sending while a document is still PENDING, returns 409/404 NOTIFICATION_NOT_FOUND. The maximum number of attachments is a per-subscription setting rather than a fixed API limit, so do not assume a number. Attachments can be bundled into the delivery certificate — see notification_certificate_package_url.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| fileName | string | yes | – |
| fileSize | number | – | – |
| hash | string | yes | – |
| id | string | yes | – |
| notificationRequestId | string | yes | – |
No output schema declared.
No examples provided.
notification_document_delete ~59
Removes an attachment from a notification. Requires documentId (from notification_document_list), notificationRequestId and caseFileId.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| documentId | string | yes | – |
| notificationRequestId | string | yes | – |
No output schema declared.
No examples provided.
notification_document_download_url ~104
Returns { downloadUrl }, a temporary link to an attachment as it was sent. Requires documentId (from notification_document_list), notificationRequestId and caseFileId. Use it to retrieve a file you attached or to verify what a recipient received. The URL is presigned and expires — fetch it when you need it rather than storing it.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| documentId | string | yes | – |
| notificationRequestId | string | yes | – |
No output schema declared.
No examples provided.
notification_document_list ~140
Lists the documents attached to a notification with their processing status, and it is what you poll after notification_document_add: a newly registered document starts at PENDING and reaches READY_TO_SEND in roughly 8 seconds. Calling notification_request_send while any document is still PENDING fails with 409/404 NOTIFICATION_NOT_FOUND. Poll with a bounded retry — every few seconds, a dozen attempts at most. Requires notificationRequestId and caseFileId. Paginated.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| filter | object | – | – |
| notificationRequestId | string | yes | – |
| order | object | – | – |
| page | object | – | – |
No output schema declared.
No examples provided.
notification_receiver_add ~247
Adds a recipient to a notification request. Requires: notification_request_create → notificationRequestId, case_file_create → caseFileId. The `id` can be a UUID v4 or custom string. Returns receiverId — save it for notification_certificate_get. Delivery is by email always; set sendWaUrl for a WhatsApp link, sendSmsUrl for an RCS/SMS link (the channel negotiates: RCS where the handset supports it, SMS otherwise), and otpRequired to challenge the recipient with a one-time code. Any of those three needs phonePrefix (with the +) and phoneNumber. Add all receivers before calling notification_request_send — but if the notification has attachments, add those FIRST (see notification_document_add).
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| string | yes | – | |
| firstName | string | yes | – |
| id | string | yes | – |
| lastName | string | yes | – |
| notificationRequestId | string | yes | – |
| otpRequired | boolean | – | – |
| phoneNumber | string | – | – |
| phonePrefix | string | – | – |
| sendSmsUrl | boolean | – | – |
| sendWaUrl | boolean | – | – |
No output schema declared.
No examples provided.
notification_receiver_add_bulk ~219
Adds several recipients in one call instead of one notification_receiver_add per person. Pass `receivers` as an array; each entry needs `id` (you generate it), firstName, lastName and email, and may carry phonePrefix (with the +) and phoneNumber. Note this bulk form does NOT accept the per-recipient otpRequired, sendWaUrl or sendSmsUrl flags that the single-recipient tool does — set the defaults on the request instead (otpByDefault, sendWaUrlByDefault, sendSmsUrlByDefault). The maximum number of recipients is a per-subscription setting, not a fixed API limit: it varies by tenant and platform, so do not assume a number — add them and read the error if the tenant's cap is exceeded. Add every recipient before calling notification_request_send, then check the result with notification_receiver_list, since a rejected address appears with status INVALID.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| notificationRequestId | string | yes | – |
| receivers | array | yes | – |
No output schema declared.
No examples provided.
notification_receiver_delete ~79
Removes a recipient from a notification. Requires receiverId, notificationRequestId and caseFileId. To remove every address the platform rejected in one call, use notification_receiver_invalid_purge rather than deleting them one by one.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| notificationRequestId | string | yes | – |
| receiverId | string | yes | – |
No output schema declared.
No examples provided.
notification_receiver_invalid_purge ~120
Removes every recipient whose status is INVALID — addresses the platform rejected as malformed or duplicated — from a notification in a single call. Requires notificationRequestId and caseFileId. Recipients in any other status are left untouched. AN INVALID RECIPIENT BLOCKS THE SEND, so run this (or fix the addresses with notification_receiver_update) before notification_request_send, or the notification will not go out. Use notification_receiver_list first to see what will go.
| Name | Type | Req | Description |
|---|---|---|---|
| caseFileId | string | yes | – |
| notificationRequestId | string | yes | – |
No output schema declared.
No examples provided.
What is the io.github.g-digital-by-Garrigues/ead-enterprise-suite MCP server?
io.github.g-digital-by-Garrigues/ead-enterprise-suite is an MCP server listed in the public MCP registry as io.github.g-digital-by-Garrigues/ead-enterprise-suite. MCP server for EAD Enterprise Suite - signatures, evidence, notifications, dossiers via AI agents. This page covers its npm package (@g-digital/mcp-ead-enterprise-suite).
Is the io.github.g-digital-by-Garrigues/ead-enterprise-suite MCP server safe to use?
io.github.g-digital-by-Garrigues/ead-enterprise-suite scores 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. 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-enterprise-suite MCP server expose?
io.github.g-digital-by-Garrigues/ead-enterprise-suite exposes 86 tools: evidence_create, evidence_list, evidence_seal, evidence_get, evidence_group_create, and 81 more. Their descriptions and schemas cost roughly 13,445 tokens of context every time the server is loaded.
Is the io.github.g-digital-by-Garrigues/ead-enterprise-suite MCP server still maintained?
io.github.g-digital-by-Garrigues/ead-enterprise-suite is still listed as active in the MCP registry. We last reached this channel on 20 September 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-enterprise-suite MCP server under?
io.github.g-digital-by-Garrigues/ead-enterprise-suite declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.