{
  "name": "Trulioo MCP Server",
  "description": "Trulioo's MCP server - the agent-facing surface for KYC/KYB/AML/DocV/age verification and corporate ownership tools over the Trulioo core. Ownership resolution reads primary company registers where a machine may read them, which today means the United Kingdom; elsewhere it names the registers that hold the answer and what they require of a reader.",
  "supported_interfaces": [
    {
      "url": "https://mcp.trulioo.com/mcp",
      "protocol_binding": "JSONRPC",
      "protocol_version": "1.0"
    }
  ],
  "version": "1.0.0",
  "capabilities": {
    "extensions": [
      {
        "uri": "https://identity.trulioo.com/a2a/kya/v1",
        "description": "Trulioo Know Your Agent (KYA) - signed, transparency-log-anchored agent identity + verified operator.",
        "required": false,
        "params": {
          "attestation": "eyJhbGciOiJFZERTQSIsImtpZCI6InRydWxpb28tYXR0ZXN0YXRpb24tMSIsInR5cCI6Imt5YS1hdHRlc3RhdGlvbitqd3QifQ.eyJpc3MiOiJodHRwczovL2lkZW50aXR5LnRydWxpb28uY29tIiwic3ViIjoiYmY2OWFiYjczZjM3Y2FmN2MyYzIxY2M4NTM4NmQwNTk3YTQ1YzNkZDlhMGMwYTQ5MmEwNWYyYWJhMjkyMWY1NSIsImlhdCI6MTc4OTU2OTk1MSwiZXhwIjoxNzk3MzQ1OTQ5LCJyYWlsIjoiYTJhIiwidmVyaWZpZWQiOnRydWUsInZlcmlmaWVkX2FzX29mIjoiMjAyNi0wOS0xNlQxNDo0NTo1MS4xMTQ4NjMxODdaIiwiYWxsb3dlZF9zY29wZXMiOlsia3ljLnZlcmlmeSIsImt5Yi52ZXJpZnkiLCJhbWwuc2NyZWVuIiwiZG9jdi52ZXJpZnkiLCJhZ2UuYXNzdXJlIl0sImlzc3VlciI6Imh0dHBzOi8vaWRlbnRpdHkudHJ1bGlvby5jb20iLCJmaW5nZXJwcmludCI6ImJmNjlhYmI3M2YzN2NhZjdjMmMyMWNjODUzODZkMDU5N2E0NWMzZGQ5YTBjMGE0OTJhMDVmMmFiYTI5MjFmNTUiLCJhZ2VudF9pZCI6ImFndF8wMW0weGs1NHNubjhoMjN3YnY3bnp4NXRycyIsImJ1aWxkX2lkIjoiYmxkXzAxbTJuYXdyMTczc2phOXF0Mm02eXh4YTQ3IiwicHJvZ3JhbW1lIjp7InByb2dyYW1tZSI6Imt5YiIsInZlcmlmaWVkX2FzX29mIjoiMjAyNi0wOC0xOVQxNTowMzozNS4xMDIzNzUyNDhaIn0sIm1hbmRhdGVfaWQiOiJtbmRfMDFtMm5hd3IzdnhzY3E2NDZqYmZqdGV6eDciLCJjcmVkZW50aWFsX3N0YXR1cyI6eyJpZCI6Imh0dHBzOi8vaWRlbnRpdHkudHJ1bGlvby5jb20va3lhL3N0YXR1cy9saXN0LzEjMTI1MTMyIiwidHlwZSI6IkJpdHN0cmluZ1N0YXR1c0xpc3RFbnRyeSIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIiwic3RhdHVzTGlzdEluZGV4IjoiMTI1MTMyIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2lkZW50aXR5LnRydWxpb28uY29tL2t5YS9zdGF0dXMvbGlzdC8xIn0sImNvZGVfZGlnZXN0Ijoic2hhMjU2OjU2Y2U2MTljY2JlYTU2ZWJmZTMzODFlNjRlMGNjMzU2M2VjYzI2OWI3ZDUwZGJhZmZlOWIyOWM3MTJkNjA4NjQifQ.N4RIhrBukKSg61lPwfxkNtMWdei8Y65eT21TpaxkG2SfmqY4IaROWLYAGKrIlyL3-rgMCPSFLcaYz5T7CDAaDQ",
          "display": {
            "verified": true,
            "verified_as_of": "2026-09-16T14:45:51.114863187Z",
            "allowed_scopes": [
              "kyc.verify",
              "kyb.verify",
              "aml.screen",
              "docv.verify",
              "age.assure"
            ],
            "issuer": "https://identity.trulioo.com",
            "fingerprint": "bf69abb73f37caf7c2c21cc85386d0597a45c3dd9a0c0a492a05f2aba2921f55",
            "agent_id": "agt_01m0xk54snn8h23wbv7nzx5trs",
            "build_id": "bld_01m2nawr173sja9qt2m6yxxa47",
            "code_digest": "sha256:56ce619ccbea56ebfe3381e64e0cc3563ecc269b7d50dbaffe9b29c712d60864"
          },
          "fingerprint": "bf69abb73f37caf7c2c21cc85386d0597a45c3dd9a0c0a492a05f2aba2921f55",
          "attestation_url": "https://identity.trulioo.com/kya/attestation/bf69abb73f37caf7c2c21cc85386d0597a45c3dd9a0c0a492a05f2aba2921f55"
        }
      }
    ]
  },
  "default_input_modes": [
    "application/json",
    "text/plain"
  ],
  "default_output_modes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "kyc.verify",
      "name": "Verify a person's identity",
      "description": "Verify an individual against Trulioo's global data sources, with optional watchlist screening, and report which attributes matched. One verification is one signal, never an automatic adverse decision.",
      "tags": [
        "kyc",
        "identity",
        "verification"
      ]
    },
    {
      "id": "kyb.verify",
      "name": "Search and verify a business",
      "description": "Resolve a business against company registers and verify its registration details. Search and verify are separate packages - no single package does both.",
      "tags": [
        "kyb",
        "business",
        "verification"
      ]
    },
    {
      "id": "aml.screen",
      "name": "Screen against watchlists and adverse media",
      "description": "Screen a person or a business against sanctions, PEP and adverse-media sources. Any hit is a potential match for review, not a determination.",
      "tags": [
        "aml",
        "screening",
        "sanctions"
      ]
    },
    {
      "id": "docv.verify",
      "name": "Verify an identity document",
      "description": "Run an SDK-mediated document verification session, with NFC chip authentication where the document carries a chip. Capture is SDK-mediated, so no image bytes are sent through this interface.",
      "tags": [
        "docv",
        "document",
        "liveness"
      ]
    },
    {
      "id": "kya.verify",
      "name": "Verify an agent's identity and mandate",
      "description": "Resolve and verify Know-Your-Agent records: signed agent identity, the operator behind it, its scoped mandate, and the transparency-log proofs for both.",
      "tags": [
        "kya",
        "agent-trust",
        "attestation"
      ]
    }
  ],
  "code_digest": "sha256:56ce619ccbea56ebfe3381e64e0cc3563ecc269b7d50dbaffe9b29c712d60864",
  "_note": "KYA identity is anchored at the issuer (identity.trulioo.com). params carries the issuer-signed attestation (compact JWS, typ=kya-attestation+jwt, alg=EdDSA - the AUTHORITATIVE claim a verifier checks against the issuer JWKS) plus a non-authoritative display mirror for rendering. The live attestation is re-minted on rotation and refreshed at https://identity.trulioo.com/kya/attestation/bf69abb73f37caf7c2c21cc85386d0597a45c3dd9a0c0a492a05f2aba2921f55 - the issuer, not this card, is the source of truth. agent_key is the agent's own public key (OKP/Ed25519): its RFC 7638 thumbprint is the FIRST input to the fingerprint, so a verifier can recompute this card's fingerprint offline as hex(sha256(\"trulioo-agent-fp:v3\" || 0x00 || jwk_thumbprint(agent_key) || 0x00 || jcs({name, interface}))) - interface being the first supported_interfaces url. v3 drops code_digest from the identity core so this fingerprint survives a release; code_digest stays a signed claim in the attestation above, and the v2 digest (same inputs plus code_digest, under domain \"trulioo-agent-fp:v2\") is retained as the BUILD discriminator. Cards published before the v3 cutover advertise that v2 construction and remain valid - a verifier that forgets v2 reads them as forgeries. That check proves the card is internally consistent; the issuer still says whether the identity is currently verified and unrevoked.",
  "agent_key": {
    "alg": "EdDSA",
    "crv": "Ed25519",
    "kid": "seed-trulioo-mcp-server",
    "kty": "OKP",
    "x": "F5Pad66X1hhkUoORZ2w7Q3xLa1G1lzkbkovVxSUuSUs"
  }
}
