CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Ead Factory

g-digital-by-garrigues/ead-factory-mcp
authSTDIOregistry active
Summary

Connects your AI agent to EADTrust's digital trust infrastructure: qualified evidence timestamping via Evidence Manager and electronic signature workflows through Signature Manager. You get tools to hash and register evidence with chain-of-custody tracking, create multi-party signature requests with signatories, validators, and observers, and poll for completion states. Authentication runs through Okta client credentials. Ships across npm, Docker Hub, the official MCP registry, n8n community nodes, and Smithery. Useful when you need legally compliant evidence capture or structured signature workflows baked into agent automation, especially in regulated contexts where audit trails and qualified timestamps matter.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

EAD Factory MCP

npm version npm downloads license provenance smithery badge

EAD Factory MCP — Digital Trust services APIs for your agents.

This MCP server bridges any MCP-compatible agent (Claude Code, Claude Desktop, Cursor, Windsurf, Cline, VS Code, JetBrains, Zed) to EADTrust's Digital Trust services: Evidence Manager (qualified digital evidence + timestamping) and Signature Manager (electronic signature workflows).

Need credentials? See: Get your testing credentials here!!

Quick start

npx -y @g-digital/mcp-ead-factory

You will need Okta credentials (OKTA_CLIENT_ID + OKTA_CLIENT_SECRET) and at least the Evidence Manager + Signature Manager base URLs for the environment you target (see Environment URLs).

Where to install

This MCP is published to every major MCP distribution channel by the g-digital MCP distribution pipeline. Pick whichever fits your stack:

ChannelInstall command / URL
npmnpx -y @g-digital/mcp-ead-factory — npmjs.com/package/@g-digital/mcp-ead-factory
Docker Hubdocker pull gdigital/ead-factory:latest — hub.docker.com/r/gdigital/ead-factory
MCP Official RegistryAuto-discovered as io.github.g-digital-by-Garrigues/ead-factory by any client that reads the registry — registry.modelcontextprotocol.io
n8n community nodeIn n8n Settings → Community Nodes → install @g-digital/n8n-nodes-ead-factory (works with the AI Agent node via usableAsTool) — npmjs.com/package/@g-digital/n8n-nodes-ead-factory
Smitherysmithery mcp install g-digital/ead-factory (from v1.0.7) — smithery.ai/servers/g-digital/ead-factory

Every channel ships the same MCP server contract; the tools and env-var configuration below apply regardless of which install path you choose.

Tools

Evidence Manager

ToolDescription
generate_evidenceFull workflow: authenticate → SHA-256 hash → register evidence → upload file to S3 → poll until COMPLETED/ERROR
get_evidenceRetrieve full evidence details by ID (status, timestamps, custody, metadata)

Signature Manager

ToolDescription
create_signature_requestCreates a new signature request (DRAFT). Supports fullFlow=true to complete the entire flow in one call using preconfigured participants
add_document_to_signature_requestAdds a document to a DRAFT signature request and uploads the file to S3
add_signatory_to_documentAdds a signatory to a document within a signature request
add_validator_to_signatoryAdds a validator to a signatory (must approve before the signatory can sign)
add_observer_to_documentAdds an observer to a document (receives notifications but does not sign)
activate_signature_requestActivates a signature request (DRAFT → ACTIVE), triggering notifications to signatories
get_signature_requestRetrieves full details of a signature request by ID (status, documents, participants, history)

Register the MCP in your client

Claude Desktop

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

Claude Code (CLI)

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

Cursor

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

Windsurf

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

Cline

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

VS Code

{
  "servers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

JetBrains

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

Zed

{
  "mcpServers": {
    "ead-factory": {
      "args": [
        "-y",
        "@g-digital/mcp-ead-factory"
      ],
      "command": "npx",
      "env": {
        "API_BASE_URL": "",
        "FULL_FLOW_EMAIL_BASE": "",
        "FULL_FLOW_FILE_PATH": "",
        "HTTP_PORT": "",
        "OKTA_CLIENT_ID": "",
        "OKTA_CLIENT_SECRET": "<PASTE_OKTA_CLIENT_SECRET_HERE>",
        "OKTA_SCOPE": "",
        "OKTA_TOKEN_URL": "",
        "POLL_INTERVAL_MS": "",
        "POLL_MAX_ATTEMPTS": "",
        "SIGNATURE_API_BASE_URL": "",
        "TRANSPORT": ""
      }
    }
  }
}

Need credentials? See: https://eadtrust.example.com/onboarding

Configuration

NameRequiredSecretDescription
API_BASE_URLYesNoEvidence Manager API base URL
FULL_FLOW_EMAIL_BASEYesNoFull flow base email — used to compose participant emails (user+signatory@domain, etc.)
FULL_FLOW_FILE_PATHYesNoFull flow default file path
HTTP_PORTYesNoHTTP_PORT
OKTA_CLIENT_IDYesNoOKTA_CLIENT_ID
OKTA_CLIENT_SECRETYesYesOKTA_CLIENT_SECRET (See https://eadtrust.example.com/onboarding for credential acquisition.)
OKTA_SCOPEYesNoOKTA_SCOPE
OKTA_TOKEN_URLYesNoOAuth credentials (Okta client_credentials flow) Used both for calling Evidence Manager API and for verifying incoming Bearer tokens (HTTP mode)
POLL_INTERVAL_MSYesNoPolling configuration for evidence status
POLL_MAX_ATTEMPTSYesNoPOLL_MAX_ATTEMPTS
SIGNATURE_API_BASE_URLYesNoSignature Manager API base URL
TRANSPORTYesNoTransport: "stdio" for local Claude Code, "http" for remote deployment with auth

Environment URLs

AWS

EnvironmentAPI_BASE_URLOKTA_TOKEN_URL
INThttps://api.int.gcloudfactory.com/digital-trusthttps://legalappfactory.okta.com/oauth2/aus5zlw4kr0vhHKyx417/v1/token
PREhttps://api.pre.gcloudfactory.com/digital-trusthttps://sso.garrigues.io.builders/oauth2/aus653dgdgTFL2mhw417/v1/token
PROhttps://api.gcloudfactory.com/digital-trusthttps://legalappfactory.okta.com/oauth2/aus657e2pcoS6hOS6417/v1/token

OCI

EnvironmentAPI_BASE_URL
INThttps://api.int.eadtrust.gcloudfactory.com/digital-trust
PROhttps://api.eadtrust.gcloudfactory.com/digital-trust

Remote deployment (HTTP + Bearer auth)

Set TRANSPORT=http to run the server as an HTTP service. The /mcp endpoint requires a valid Okta Bearer token (verified against the introspection endpoint derived from OKTA_TOKEN_URL). The /health endpoint is unauthenticated for monitoring.

Architecture

Client (Claude Code / MCP client)
  │
  ├─ stdio ──► McpServer
  │
  └─ HTTP  ──► Express + Bearer auth (Okta introspect) ──► StreamableHTTP ──► McpServer
                                                                │
                                                          tools/call
                                                                │
                                                                ▼
                                                      workflow.service
                                                       ├── auth.service         (Okta client_credentials → token cache)
                                                       ├── hash.service         (SHA-256 from local file)
                                                       ├── evidence.service     (POST /api/v1/private/evidences)
                                                       └── s3-upload.service    (PUT presigned URL + retry)

generate_evidence — Input schema

FieldTypeRequiredDescription
filePathstringYesAbsolute path to the file on disk
evidenceIdstring (UUID)YesUnique ID for idempotency
titlestringYesHuman-readable title
createdBystringYesCreator name (max 50 chars)
capturedAtstring (ISO 8601)YesCapture datetime
custodyTypeINTERNAL | EXTERNALNoDefaults to INTERNAL
testimonyTSPbooleanNoTSP via EADTrust (default true)
testimonyDLTbooleanNoDLT via Lacnet (requires tenant activation)
requiredTestimonyProvidersstringNoComma-separated: "TSP", "DLT", "TSP,DLT"
metadatastring (JSON)NoCustom key-value pairs as a JSON string

API endpoints consumed

  • POST {OKTA_TOKEN_URL} — OAuth client_credentials token
  • POST {API_BASE_URL}/api/v1/private/evidences — register evidence
  • GET {API_BASE_URL}/api/v1/private/evidences/{id} — fetch evidence
  • PUT <presigned-s3-url> — upload file binary

License

MIT

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

API_BASE_URL*

Evidence Manager API base URL

FULL_FLOW_EMAIL_BASE*

Full flow base email — used to compose participant emails (user+signatory@domain, etc.)

FULL_FLOW_FILE_PATH*

Full flow default file path

HTTP_PORT*

HTTP_PORT

OKTA_CLIENT_ID*

OKTA_CLIENT_ID

OKTA_CLIENT_SECRET*secret

OKTA_CLIENT_SECRET (See https://eadtrust.example.com/onboarding for credential acquisition.)

OKTA_SCOPE*

OKTA_SCOPE

OKTA_TOKEN_URL*

OAuth credentials (Okta client_credentials flow) Used both for calling Evidence Manager API and for verifying incoming Bearer tokens (HTTP mode)

POLL_INTERVAL_MS*

Polling configuration for evidence status

POLL_MAX_ATTEMPTS*

POLL_MAX_ATTEMPTS

SIGNATURE_API_BASE_URL*

Signature Manager API base URL

TRANSPORT*

Transport: "stdio" for local Claude Code, "http" for remote deployment with auth

Registryactive
Package@g-digital/mcp-ead-factory
TransportSTDIO
AuthRequired
UpdatedJun 3, 2026
View on GitHub