Create and read Onfido applicants, documents, checks and reports.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Creates an applicant (person) record in Onfido. Onfido API: POST /applicants. Creates a PII record only — runs NO verification check and costs nothing.
Applicant's last name (required).
Applicant's first name (required).
Date of birth, yyyy-mm-dd.
Applicant email address.
Address object (building_number, street, town, postcode, country, …). Passed through as-is.
Location object (ip_address, country_of_residence, …) for consent tracking. Passed through as-is.
Array of id-number objects ({ type, value, state_code? }). Passed through as-is.
Phone number in E.164 or local format.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Creates an applicant (person) record in Onfido. Onfido API: POST /applicants. Creates a PII record only — runs NO verification check and costs nothing.
| Argument | Type | Description |
|---|---|---|
| dob | string | Date of birth, yyyy-mm-dd. |
| string | Applicant email address. | |
| address | object | Address object (building_number, street, town, postcode, country, …). Passed through as-is. |
| location | object | Location object (ip_address, country_of_residence, …) for consent tracking. Passed through as-is. |
| last_name* | string | Applicant's last name (required). |
| first_name* | string | Applicant's first name (required). |
| id_numbers | array | Array of id-number objects ({ type, value, state_code? }). Passed through as-is. |
| phone_number | string | Phone number in E.164 or local format. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"first_name",
"last_name"
],
"properties": {
"dob": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of birth, yyyy-mm-dd."
},
"email": {
"type": "string",
"description": "Applicant email address."
},
"address": {
"type": "object",
"description": "Address object (building_number, street, town, postcode, country, …). Passed through as-is.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"location": {
"type": "object",
"description": "Location object (ip_address, country_of_residence, …) for consent tracking. Passed through as-is.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"last_name": {
"type": "string",
"description": "Applicant's last name (required)."
},
"first_name": {
"type": "string",
"description": "Applicant's first name (required)."
},
"id_numbers": {
"type": "array",
"items": {},
"description": "Array of id-number objects ({ type, value, state_code? }). Passed through as-is."
},
"phone_number": {
"type": "string",
"description": "Phone number in E.164 or local format."
}
}
}Retrieve a single applicant record by id. Onfido API: GET /applicants/{applicant_id}.
| Argument | Type | Description |
|---|---|---|
| applicant_id* | string | The applicant id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"applicant_id"
],
"properties": {
"applicant_id": {
"type": "string",
"description": "The applicant id."
}
}
}Retrieve a single check (status + report ids + result) by id. Onfido API: GET /checks/{check_id}.
| Argument | Type | Description |
|---|---|---|
| check_id* | string | The check id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"check_id"
],
"properties": {
"check_id": {
"type": "string",
"description": "The check id."
}
}
}Retrieve a single document's metadata by id. Onfido API: GET /documents/{document_id}.
| Argument | Type | Description |
|---|---|---|
| document_id* | string | The document id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"document_id"
],
"properties": {
"document_id": {
"type": "string",
"description": "The document id."
}
}
}Retrieve a single report (detailed breakdown + result) by id. Onfido API: GET /reports/{report_id}.
| Argument | Type | Description |
|---|---|---|
| report_id* | string | The report id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"report_id"
],
"properties": {
"report_id": {
"type": "string",
"description": "The report id."
}
}
}Retrieve a single Studio workflow run (status, output, task history) by id. Onfido API: GET /workflow_runs/{workflow_run_id}.
| Argument | Type | Description |
|---|---|---|
| workflow_run_id* | string | The workflow run id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"workflow_run_id"
],
"properties": {
"workflow_run_id": {
"type": "string",
"description": "The workflow run id."
}
}
}List applicant (person) records in the Onfido account, paginated. Onfido API: GET /applicants.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (1-based). Default 1. |
| per_page | integer | Results per page (max 500). Default 20. |
| include_deleted | boolean | Include applicants scheduled for deletion. Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 500,
"description": "Results per page (max 500). Default 20.",
"exclusiveMinimum": 0
},
"include_deleted": {
"type": "boolean",
"description": "Include applicants scheduled for deletion. Default false."
}
}
}List the verification checks run for an applicant (results/status, read-only). Onfido API: GET /checks?applicant_id=….
| Argument | Type | Description |
|---|---|---|
| applicant_id* | string | The applicant id whose checks to list (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"applicant_id"
],
"properties": {
"applicant_id": {
"type": "string",
"description": "The applicant id whose checks to list (required)."
}
}
}List the identity documents uploaded for an applicant (metadata only). Onfido API: GET /documents?applicant_id=….
| Argument | Type | Description |
|---|---|---|
| applicant_id* | string | The applicant id whose documents to list (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"applicant_id"
],
"properties": {
"applicant_id": {
"type": "string",
"description": "The applicant id whose documents to list (required)."
}
}
}List the live photos captured for an applicant (metadata only). Onfido API: GET /live_photos?applicant_id=….
| Argument | Type | Description |
|---|---|---|
| applicant_id* | string | The applicant id whose live photos to list (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"applicant_id"
],
"properties": {
"applicant_id": {
"type": "string",
"description": "The applicant id whose live photos to list (required)."
}
}
}List the live videos captured for an applicant (metadata only). Onfido API: GET /live_videos?applicant_id=….
| Argument | Type | Description |
|---|---|---|
| applicant_id* | string | The applicant id whose live videos to list (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"applicant_id"
],
"properties": {
"applicant_id": {
"type": "string",
"description": "The applicant id whose live videos to list (required)."
}
}
}List the individual reports that make up a check (document, facial similarity, watchlist, …). Onfido API: GET /reports?check_id=….
| Argument | Type | Description |
|---|---|---|
| check_id* | string | The check id whose reports to list (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"check_id"
],
"properties": {
"check_id": {
"type": "string",
"description": "The check id whose reports to list (required)."
}
}
}List Onfido Studio workflow runs (status/output, read-only — does NOT start a run). Onfido API: GET /workflow_runs.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (1-based). Default 1. |
| sort | string | Sort by creation time. Default desc. |
| status | string | Filter by status, e.g. processing | awaiting_input | approved | declined | abandoned | error. |
| applicant_id | string | Filter to a single applicant's workflow runs. |
| created_at_gt | string | Only runs created after this ISO-8601 timestamp. |
| created_at_lt | string | Only runs created before this ISO-8601 timestamp. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Page number (1-based). Default 1.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort by creation time. Default desc."
},
"status": {
"type": "string",
"description": "Filter by status, e.g. processing | awaiting_input | approved | declined | abandoned | error."
},
"applicant_id": {
"type": "string",
"description": "Filter to a single applicant's workflow runs."
},
"created_at_gt": {
"type": "string",
"description": "Only runs created after this ISO-8601 timestamp."
},
"created_at_lt": {
"type": "string",
"description": "Only runs created before this ISO-8601 timestamp."
}
}
}Updates an applicant's details (reversible; runs no verification). Onfido API: PUT /applicants/{applicant_id}.
| Argument | Type | Description |
|---|---|---|
| dob | string | Date of birth, yyyy-mm-dd. |
| string | Applicant email address. | |
| address | object | Address object (building_number, street, town, postcode, country, …). Passed through as-is. |
| last_name | string | Updated last name. |
| first_name | string | Updated first name. |
| id_numbers | array | Array of id-number objects ({ type, value, state_code? }). Passed through as-is. |
| applicant_id* | string | The applicant id to update (required). |
| phone_number | string | Phone number in E.164 or local format. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"applicant_id"
],
"properties": {
"dob": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of birth, yyyy-mm-dd."
},
"email": {
"type": "string",
"description": "Applicant email address."
},
"address": {
"type": "object",
"description": "Address object (building_number, street, town, postcode, country, …). Passed through as-is.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"last_name": {
"type": "string",
"description": "Updated last name."
},
"first_name": {
"type": "string",
"description": "Updated first name."
},
"id_numbers": {
"type": "array",
"items": {},
"description": "Array of id-number objects ({ type, value, state_code? }). Passed through as-is."
},
"applicant_id": {
"type": "string",
"description": "The applicant id to update (required)."
},
"phone_number": {
"type": "string",
"description": "Phone number in E.164 or local format."
}
}
}