mcpField
M
mcp-onfido

mcp-onfido

Local
github.com/codesparSecurity275Updated 4w ago

About mcp-onfido

mcp-onfido is an MCP server for Onfido, providing global identity verification and KYC workflows. It suits fintech and marketplace businesses onboarding users outside Latin America, and is positioned to work alongside Unico for Brazilian users.

Key features

  1. 01Applicant, document and live photo management
  2. 02Verification check creation and status polling
  3. 03Report retrieval and Studio workflow runs
  4. 04SDK token generation for frontend embedding
  5. 05Regional host selection for EU, US and CA

Use cases

  1. 01Running KYC identity checks for users outside Latin America
  2. 02Retrieving check status and detailed reports
  3. 03Starting verification flows in Onfido Studio

MCP support

This is an MCP server that exposes 20 tools to MCP clients for calling the Onfido API to create applicants, upload documents and run checks.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"codespar-mcp-onfido": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-onfido"
],
"env": {
"ONFIDO_API_TOKEN": "<ONFIDO_API_TOKEN>",
"ONFIDO_REGION": "<ONFIDO_REGION>"
}
}
}
}
Run commandnpx -y @codespar/mcp-onfido
Environment variables to set
ONFIDO_API_TOKENSecretOnfido API token. Sent as 'Authorization: Token token=<value>'.
ONFIDO_REGIONRegion for the API host: 'eu' (api.eu.onfido.com), 'us' (api.us.onfido.com), 'ca' (api.ca.onfido.com). Defaults to api.onfido.com when unset.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@codespar/mcp-onfido0.2.2

Tools

20

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
dobstringNoDate of birth, YYYY-MM-DD
emailstringNoApplicant email (optional but recommended)
addressobjectNoResidential address. Country is always required if an address is provided.
address.townstringNo
address.statestringNoState / province code
address.streetstringNo
address.countrystringYesISO-3166 alpha-3 country code (e.g. GBR, USA, BRA)
address.postcodestringNo
address.sub_streetstringNo
address.flat_numberstringNo
address.building_namestringNo
address.building_numberstringNo
last_namestringYesLegal last name
first_namestringYesLegal first name
id_numbersarrayNoArray of identity numbers (SSN, national ID, etc). Each: { type, value, state_code? }

Details

From the project README

@codespar/mcp-onfido

MCP server for Onfido — global identity verification and KYC.

Onfido 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.

Second entry in CodeSpar's identity category alongside Unico (BR-first KYC). Pair them: Unico for Brazilian users (CPF + Receita Federal biometric pool), Onfido when the flow touches non-LatAm users.

Tools (20)

ToolPurpose
create_applicantCreate an Onfido applicant — the person record that documents, live photos, and checks attach to.
retrieve_applicantRetrieve an applicant by id.
update_applicantUpdate fields on an existing applicant.
upload_documentUpload an identity document image for an applicant.
retrieve_documentRetrieve document metadata by id.
upload_live_photoUpload a live photo (selfie) for an applicant, used by facial_similarity_photo reports.
retrieve_live_photoRetrieve a live photo record by id.
create_checkRun a verification check on an applicant.
retrieve_checkRetrieve a check by id.
list_checksList all checks for a given applicant.
retrieve_reportRetrieve an individual report by id.
delete_applicantSoft-delete an applicant.
list_documentsList all documents uploaded for a given applicant.
download_documentDownload the raw binary of an uploaded document.
list_live_photosList all live photos (selfies) uploaded for a given applicant.
resume_checkResume a check that was paused (typically awaiting_applicant or paused states).
list_reportsList the reports contained within a given check.
create_workflow_runStart an Onfido Studio workflow run.
retrieve_workflow_runRetrieve a workflow run by id.
generate_sdk_tokenMint a short-lived SDK token for embedding the Onfido Web / iOS / Android SDKs in your frontend.

Flow

create_applicant
    -> upload_document  (front, and back if driving_licence / national_identity_card)
    -> upload_live_photo
    -> create_check      report_names=["document","facial_similarity_photo","watchlist_standard"]
    -> retrieve_check    (poll until status = complete)
    -> retrieve_report   (for each report id to get the detailed breakdown)

Install

npm install @codespar/mcp-onfido

Environment

ONFIDO_API_TOKEN="..."    # API token (required, secret)
ONFIDO_REGION="eu"        # Optional. 'eu' | 'us' | 'ca'. Defaults to api.onfido.com.

Authentication

Onfido uses a non-Bearer header format:

Authorization: Token token=<ONFIDO_API_TOKEN>

The server handles this automatically.

Regional hosts

RegionHost
Defaulthttps://api.onfido.com
EUhttps://api.eu.onfido.com
UShttps://api.us.onfido.com
CAhttps://api.ca.onfido.com

All requests target API version v3.6 (current stable).

Multipart uploads

upload_document and upload_live_photo accept files as base64-encoded strings. Pass the bytes in file, with file_name and content_type:

{
  "applicant_id": "a1b2c3...",
  "type": "passport",
  "file": "<base64-encoded bytes>",
  "file_name": "passport.jpg",
  "content_type": "image/jpeg"
}

The server wraps it as multipart/form-data before sending.

Note: 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.

Run

# stdio (default — for Claude Desktop, Cursor, etc)
npx @codespar/mcp-onfido

# HTTP (for server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-onfido

When to pick Onfido vs Unico

SignalPick
User is Brazilian, need CPF validation + biometric match against Receita FederalUnico
User is outside LatAm, or flow is globalOnfido
Regulated fintech needing AML watchlist + PEP screening globallyOnfido
Travel / gig marketplace onboarding across 20+ countriesOnfido

Enterprise

Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.