Apache-2.0 Open-source MCP for Fayda eSignet

Ask in chat.
Verify with Fayda.

Let Claude, Cursor or any MCP agent verify a citizen through Fayda eSignet and get back a simple yes or no, never their personal data.

pip install fayda-mcp

Free to self-host. Sandbox config included. Your signing key never leaves your server.

Three steps to a verified answer.

  1. 01 · Install
    pip install fayda-mcp
  2. 02 · Configure
    fayda-mcp check-config --env-file .env
  3. 03 · Verify
    fayda-mcp run --env-file .env
agent session · fayda-mcpSimulated example
  1. →start_verification(purpose="kyc", checks=["identity_verified", "age_over_18"], …)
  2. ←request_id "vr_8c21f0" · authorization_url eSignet consent link
  3. ·The citizen signs in and consents on eSignet, outside the agent conversation.
  4. →get_verification_status("vr_8c21f0") → "verified"
  5. →get_verification_result("vr_8c21f0")
VerificationResultsynthetic
{
  "request_id": "vr_8c21f0",
  "status": "verified",
  "checks": {
    "identity_verified": true,
    "age_over_18": true
  },
  "reasons": {}
}
No name, date of birth, photo or tokens reach the agent.
Illustration with synthetic data. Not a live verification.Tool names and result shape from the fayda-mcp source.

Verification as tools. Results as booleans.

  • 11 MCP tools

    Start, check, fetch and cancel verifications from any MCP client.

  • eSignet OIDC

    Citizens sign in with Fayda. PKCE and private_key_jwt built in.

  • Privacy-first results

    Agents get booleans like age_over_18, never names or birth dates.

  • Offline QR

    Checks a card's signature with no network. It can't prove the holder is present.

  • Details matching

    Confirm what a customer told you, field by field, without seeing the values.

  • Your stack

    Headless Python core with optional FastAPI, Redis and PostgreSQL extras.

A few lines of Python.

# Core: MCP tools, eSignet OIDC, offline QR
pip install fayda-mcp

# Optional FastAPI, Redis and PostgreSQL adapters
pip install "fayda-mcp[fastapi,redis,postgres]"
Python 3.12+README ↗

Private by design.

  • Minimal predicates

    true, false or unavailable. Nothing more.

  • Data filtering

    Schemas reject extra fields. Stored details use AES-256-GCM.

  • Cryptographic checks

    PKCE S256, RFC 7523 assertions, JWKS and RS256 signatures.

  • Caller isolation

    Each tenant and principal sees only its own records.

Independent open-source project. Not an official Fayda product or a compliance certification. Production guide

Start building identity-aware agents.

pip install fayda-mcp