MCP server

Use the MCP server to let AI agents perform Sumsub operations on your behalf, while keeping access controlled by your existing Sumsub role permissions.

How Sumsub MCP server works

Sumsub supports the Model Context Protocol (MCP), which allows AI agents to interact with your Sumsub account through a single server URL. After you add the MCP server to your client and authenticate, your agent can perform the actions allowed by your Sumsub role permissions.

With the Sumsub MCP server, you can create agent-based workflows for onboarding, compliance operations, transaction monitoring, and configuration discovery. 

You can connect MCP-compatible AI agents, such as Claude Desktop, Claude Code, ChatGPT, Codex, Cursor, or your own agent, directly to your Sumsub account.

Connect MCP server

Before you start, make sure that:

  • You have an active Sumsub account.
  • Your role has the Use MCP server permission enabled.

Use https://api.sumsub.com/mcp/ as base URL to connect to the Sumsub MCP server.

Connect Claude Web or Claude Desktop

To connect Claude Web or Claude Desktop:

  1. Open Claude.
  2. Go to SettingsConnectors.
  3. Click Add custom connector.
  4. Paste https://api.sumsub.com/mcp/ as the server URL.
  5. Save the connector.

Sumsub will appear as an available connector in your next chat.

If the Add custom connector option is disabled, you can configure Claude Desktop manually.

To add the Sumsub MCP server manually:

  1. Open Claude Desktop.

  2. Go to SettingsDeveloper.

  3. Click Edit Config.

  4. Add the following configuration:

    {
      "mcpServers": {
        "sumsub": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "https://api.sumsub.com/mcp/"
          ]
        }
      }
    }

Connect Claude Code

To connect Claude Code:

  1. Open Terminal.

  2. Add the Sumsub MCP server: claude mcp add --transport http sumsub https://api.sumsub.com/mcp/

  3. Run Claude Code.

  4. Type /mcp

  5. Select the sumsub MCP server and authenticate.

Connect OpenAI Codex

To connect OpenAI Codex:

  1. Open Terminal.
  2. Add the Sumsub MCP server: codex mcp add sumsub --url https://api.sumsub.com/mcp/.
  3. Paste the following to authenticate: codex mcp login sumsub.

Connect Cursor

To connect Cursor:

  1. Open the .cursor/mcp.json file.
  2. Add the following configuration:
    {
     "mcpServers": {
       "sumsub": {
         "command": "npx",
         "args": [
           "mcp-remote",
           "https://api.sumsub.com/mcp/"
         ]
       }
     }
    }

Onboard applicant through agent

The following example shows how an MCP-compatible agent can create an applicant, generate a verification link, and check the applicant status.

The JSON-RPC payloads show what the MCP client sends to the Sumsub MCP server. You do not need to write these payloads manually when working through an agent.

Step 1: Create applicant

A user asks the agent:

Create a new applicant for John Doe ([email protected]), assign him to the Standard KYC level, and send him the verification link.

The agent calls applicant_create_individual:

{
 "method": "tools/call",
 "params": {
   "name": "applicant_create_individual",
   "arguments": {
     "externalUserId": "user-john-doe-12345",
     "email": "[email protected]",
     "levelName": "basic-kyc-level"
   }
 }
}

Example response:

{
 "id": "65f1c2d4e8a9b0123456789a",
 "externalUserId": "user-john-doe-12345",
 "type": "individual",
 "email": "[email protected]",
 "createdAt": "2026-04-27T12:00:00Z"
}

The response above is shortened for readability. The full applicant object may also include verification status, documents, AML and risk fields, and metadata.

Step 2: Generate verification link

Next, the agent calls verification_link_create. The request uses:

  • The same levelName as in the applicant creation request.
  • The same externalUserId as userId.
  • ttlInSecs to define how long the link remains valid.

Note that the link uses your external user identifier, not the Sumsub applicant ID.

{
 "method": "tools/call",
 "params": {
   "name": "verification_link_create",
   "arguments": {
     "payload": {
       "levelName": "basic-kyc-level",
       "userId": "user-john-doe-12345",
       "ttlInSecs": 3600
     },
     "source": "verificationEmail"
   }
 }
}

Example response:

{
 "url": "https://in.sumsub.com/idensic/l/#/uni_abc123"
}

The agent can now return the verification link to the user:

Applicant created and verification link generated. Send John this URL: https://in.sumsub.com/idensic/l/#/uni_abc123. The link expires in 1 hour.

Step 3: Check applicant status

Later, the user asks: Did John finish his verification?

The agent calls applicant_status_get with the applicant ID returned in Step 1:

{
 "method": "tools/call",
 "params": {
   "name": "applicant_status_get",
   "arguments": {
     "applicantId": "65f1c2d4e8a9b0123456789a"
   }
 }
}

Example response:

{
 "reviewId": "rev_abc123",
 "levelName": "basic-kyc-level",
 "reviewStatus": "completed",
 "reviewResult": {
   "reviewAnswer": "GREEN"
 }
}

The agent can summarize the result: the applicant has a green review result meaning John completed verification successfully.

Request examples

The following examples show how you can ask your agent to perform common Sumsub operations and which MCP tools the agent can call to complete each request.

Self-service onboarding from chat

Ask your agent to onboard an applicant and send a verification link.

Example request: Onboard John Doe at the Standard KYC level and send him the verification link.

The agent can call:

  • applicant_create_individual to create the applicant.
  • verification_link_create to generate the verification link.

Compliance-team copilot

Ask your agent to check an applicant current status and review history.
Example request: What is the current status of applicant A12345, and what triggered the last review?

The agent can call:

  • applicant_get to retrieve applicant data.
  • applicant_timeline_get to inspect applicant events.
  • applicant_moderation_state_list to check moderation states.

Transaction-monitoring triage

Ask your agent to retrieve transactions that triggered monitoring rules.

Example request: Show me transactions for applicant A12345 over the last 7 days that hit a monitoring rule.

The agent can call:

  • transaction_list with filters.
  • transaction_get to retrieve transaction details.

Configuration discovery

Ask your agent to inspect configured verification levels.

Example request: What verification levels do we have configured, and how do they differ?

The agent can call:

  • verification_level_list to retrieve available levels.
  • verification_level_get to inspect selected levels.