{"_id":"@codespar/mcp-onfido","_rev":"5-aefb20b9eec6d17647e43328440ccb0c","name":"@codespar/mcp-onfido","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@codespar/mcp-onfido","version":"0.1.0","keywords":["mcp","onfido","identity","kyc","verification","aml","document-verification","facial-similarity","watchlist","global"],"license":"MIT","_id":"@codespar/mcp-onfido@0.1.0","maintainers":[{"name":"codespar-npm","email":"contact@codespar.dev"}],"bin":{"mcp-onfido":"dist/index.js"},"dist":{"shasum":"6a761d4e0d5b5341a79bc606b9ac9481be9112ef","tarball":"https://registry.npmjs.org/@codespar/mcp-onfido/-/mcp-onfido-0.1.0.tgz","fileCount":6,"integrity":"sha512-Nrqh/LBXk88+iVG0tltmMIzU7C09X8NQIeRCqi5fr7YCMS6mDJ6JRRpgzwvJDtHVkQ6pni8DMC+aI0YVnMLa+A==","signatures":[{"sig":"MEUCIQCCMdMCz8yNOvjpWjCV0b/lSlmYTATFNTjVuMzHIh34HAIgS5dw2HW5mMjH6L5O7cJPgYg2xWEG0rGk3bCTC8yArWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43377},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"26b185ffb621230aec45ba62ad8f5d59b30cd44a","mcpName":"io.github.codespar/mcp-onfido","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"codespar-npm","email":"contact@codespar.dev"},"_npmVersion":"11.8.0","description":"MCP server for Onfido — global identity verification and KYC (applicants, documents, live photos, checks, reports)","directories":{},"_nodeVersion":"25.5.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-onfido_0.1.0_1776995744409_0.8567262198630099","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@codespar/mcp-onfido","version":"0.2.0","keywords":["mcp","onfido","identity","kyc","verification","aml","document-verification","facial-similarity","watchlist","global"],"license":"MIT","_id":"@codespar/mcp-onfido@0.2.0","maintainers":[{"name":"codespar-npm","email":"contact@codespar.dev"}],"bin":{"mcp-onfido":"dist/index.js"},"dist":{"shasum":"3f42ae600e9a5c0107c0abdce26a7037d493b48e","tarball":"https://registry.npmjs.org/@codespar/mcp-onfido/-/mcp-onfido-0.2.0.tgz","fileCount":6,"integrity":"sha512-/RYysRvvhVc85BLBC3HbTYhuCzQDSna47nK2AvQMB4uiJuF2FEIkuukl3AUbGddKpCnL6MXGzOgm16nYNdQpDg==","signatures":[{"sig":"MEQCID0F7VWc+XpiqkTyIyJXj4Tbjpub/UvcNWLKlrYyBTYXAiAkFvHyBSizGcXBjJ9sy8rDqFVYdx/r1Gv25pnLo0Lnkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"475d6a412c639d70728792f31d502e9268bb06bb","mcpName":"io.github.codespar/mcp-onfido","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"codespar-npm","email":"contact@codespar.dev"},"_npmVersion":"11.8.0","description":"MCP server for Onfido — global identity verification and KYC (applicants, documents, live photos, checks, reports, workflow runs, SDK tokens)","directories":{},"_nodeVersion":"25.5.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-onfido_0.2.0_1777043002461_0.38474419400117976","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@codespar/mcp-onfido","version":"0.2.1","keywords":["mcp","onfido","identity","kyc","verification","aml","document-verification","facial-similarity","watchlist","global"],"license":"MIT","_id":"@codespar/mcp-onfido@0.2.1","maintainers":[{"name":"codespar-npm","email":"contact@codespar.dev"}],"bin":{"mcp-onfido":"dist/index.js"},"dist":{"shasum":"73e7b779079f7b7e8b13eea734089093d967fd33","tarball":"https://registry.npmjs.org/@codespar/mcp-onfido/-/mcp-onfido-0.2.1.tgz","fileCount":6,"integrity":"sha512-ZlSWkl0/ylZigA/RtaKIPEeegwoS0C204g9lgcovd0wjkQJjcXjoyaWoURGssBmkJOS0ehv5Sq2mjMSPG0Ap9Q==","signatures":[{"sig":"MEUCIQCqs8JIL2ZuErxxEId3qAYFU6sVMsqFp9REvxHO70s8/QIgE67LX1AWjNvgbdY/IXYfeaju/UT8wZYLE+BfyEZqrgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59844},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"0ab801a863239f0cb986bbda65abbaee3c621b44","mcpName":"io.github.codespar/mcp-onfido","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"codespar-npm","email":"contact@codespar.dev"},"_npmVersion":"11.8.0","description":"MCP server for Onfido — global identity verification and KYC (applicants, documents, live photos, checks, reports, workflow runs, SDK tokens)","directories":{},"_nodeVersion":"25.5.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-onfido_0.2.1_1777123117202_0.22984476595326075","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@codespar/mcp-onfido","version":"0.2.2","description":"MCP server for Onfido — global identity verification and KYC (applicants, documents, live photos, checks, reports, workflow runs, SDK tokens)","type":"module","main":"./dist/index.js","bin":{"mcp-onfido":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"devDependencies":{"@types/node":"^25.5.0","typescript":"^5.8.0"},"license":"MIT","keywords":["mcp","onfido","identity","kyc","verification","aml","document-verification","facial-similarity","watchlist","global"],"mcpName":"io.github.codespar/mcp-onfido","_id":"@codespar/mcp-onfido@0.2.2","gitHead":"e8f2ad023876683538fe7b66a2fc88ab8d8ef92f","types":"./dist/index.d.ts","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-j3QR6Y0NkK6GnXzPk2FPTCk2hzj84Fui/z2YDF0QLqiMz2dFHLPM2A7z2RW5/NbnLF5NL/pllsKqZK+mDfUUPg==","shasum":"90535d8b7f6ab7090c0ab546b1a2d1d4c66c841c","tarball":"https://registry.npmjs.org/@codespar/mcp-onfido/-/mcp-onfido-0.2.2.tgz","fileCount":6,"unpackedSize":61304,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwDdEkcfRu92yeO/kLpfzlPuCznyMKMC22tylZ2fX5ZQIhANmutD9mr49GDqNDOiGsu3Tb1ar/sFAmStKSr7ZZaCMG"}]},"_npmUser":{"name":"codespar-npm","email":"fabiano@codespar.dev"},"directories":{},"maintainers":[{"name":"codespar-npm","email":"fabiano@codespar.dev"},{"name":"dangazineu","email":"daniel.gazineu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-onfido_0.2.2_1782153698557_0.8560215209391266"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-24T01:55:44.209Z","modified":"2026-06-22T18:41:38.828Z","0.1.0":"2026-04-24T01:55:44.545Z","0.2.0":"2026-04-24T15:03:22.669Z","0.2.1":"2026-04-25T13:18:37.350Z","0.2.2":"2026-06-22T18:41:38.689Z"},"license":"MIT","keywords":["mcp","onfido","identity","kyc","verification","aml","document-verification","facial-similarity","watchlist","global"],"description":"MCP server for Onfido — global identity verification and KYC (applicants, documents, live photos, checks, reports, workflow runs, SDK tokens)","maintainers":[{"name":"codespar-npm","email":"fabiano@codespar.dev"},{"name":"dangazineu","email":"daniel.gazineu@gmail.com"}],"readme":"# @codespar/mcp-onfido\n\nMCP server for [Onfido](https://onfido.com) — global identity verification and KYC.\n\nOnfido is the identity verification layer behind Revolut, N26, Uber, and hundreds of regulated fintechs. One API covers 195+ countries and the full KYC flow: applicant → document → live photo → check (runs verification) → reports.\n\nSecond entry in CodeSpar's `identity` category alongside [Unico](../unico) (BR-first KYC). Pair them: **Unico for Brazilian users (CPF + Receita Federal biometric pool), Onfido when the flow touches non-LatAm users**.\n\n## Tools (20)\n\n| Tool | Purpose |\n|---|---|\n| `create_applicant` | Create an Onfido applicant — the person record that documents, live photos, and checks attach to. |\n| `retrieve_applicant` | Retrieve an applicant by id. |\n| `update_applicant` | Update fields on an existing applicant. |\n| `upload_document` | Upload an identity document image for an applicant. |\n| `retrieve_document` | Retrieve document metadata by id. |\n| `upload_live_photo` | Upload a live photo (selfie) for an applicant, used by facial_similarity_photo reports. |\n| `retrieve_live_photo` | Retrieve a live photo record by id. |\n| `create_check` | Run a verification check on an applicant. |\n| `retrieve_check` | Retrieve a check by id. |\n| `list_checks` | List all checks for a given applicant. |\n| `retrieve_report` | Retrieve an individual report by id. |\n| `delete_applicant` | Soft-delete an applicant. |\n| `list_documents` | List all documents uploaded for a given applicant. |\n| `download_document` | Download the raw binary of an uploaded document. |\n| `list_live_photos` | List all live photos (selfies) uploaded for a given applicant. |\n| `resume_check` | Resume a check that was paused (typically awaiting_applicant or paused states). |\n| `list_reports` | List the reports contained within a given check. |\n| `create_workflow_run` | Start an Onfido Studio workflow run. |\n| `retrieve_workflow_run` | Retrieve a workflow run by id. |\n| `generate_sdk_token` | Mint a short-lived SDK token for embedding the Onfido Web / iOS / Android SDKs in your frontend. |\n\n## Flow\n\n```\ncreate_applicant\n    -> upload_document  (front, and back if driving_licence / national_identity_card)\n    -> upload_live_photo\n    -> create_check      report_names=[\"document\",\"facial_similarity_photo\",\"watchlist_standard\"]\n    -> retrieve_check    (poll until status = complete)\n    -> retrieve_report   (for each report id to get the detailed breakdown)\n```\n\n## Install\n\n```bash\nnpm install @codespar/mcp-onfido\n```\n\n## Environment\n\n```bash\nONFIDO_API_TOKEN=\"...\"    # API token (required, secret)\nONFIDO_REGION=\"eu\"        # Optional. 'eu' | 'us' | 'ca'. Defaults to api.onfido.com.\n```\n\n## Authentication\n\nOnfido uses a non-Bearer header format:\n\n```\nAuthorization: Token token=<ONFIDO_API_TOKEN>\n```\n\nThe server handles this automatically.\n\n## Regional hosts\n\n| Region | Host |\n|--------|------|\n| Default | `https://api.onfido.com` |\n| EU | `https://api.eu.onfido.com` |\n| US | `https://api.us.onfido.com` |\n| CA | `https://api.ca.onfido.com` |\n\nAll requests target API version `v3.6` (current stable).\n\n## Multipart uploads\n\n`upload_document` and `upload_live_photo` accept files as **base64-encoded strings**. Pass the bytes in `file`, with `file_name` and `content_type`:\n\n```json\n{\n  \"applicant_id\": \"a1b2c3...\",\n  \"type\": \"passport\",\n  \"file\": \"<base64-encoded bytes>\",\n  \"file_name\": \"passport.jpg\",\n  \"content_type\": \"image/jpeg\"\n}\n```\n\nThe server wraps it as `multipart/form-data` before sending.\n\nNote: Onfido increasingly recommends capturing live photos via their SDK rather than API upload. Direct `/live_photos` upload may be restricted on some accounts — use the SDK flow when in doubt.\n\n## Run\n\n```bash\n# stdio (default — for Claude Desktop, Cursor, etc)\nnpx @codespar/mcp-onfido\n\n# HTTP (for server-to-server testing)\nMCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-onfido\n```\n\n## When to pick Onfido vs Unico\n\n| Signal | Pick |\n|--------|------|\n| User is Brazilian, need CPF validation + biometric match against Receita Federal | Unico |\n| User is outside LatAm, or flow is global | Onfido |\n| Regulated fintech needing AML watchlist + PEP screening globally | Onfido |\n| Travel / gig marketplace onboarding across 20+ countries | Onfido |\n\n## Enterprise\n\nNeed governance, budget limits, and audit trails for agent payments? [CodeSpar Enterprise](https://codespar.dev/enterprise) adds policy engine, payment routing, and compliance templates on top of these MCP servers.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}