Skip to main content
Glama
wefi-ai

eKYC Suite MCP Server

Official
by wefi-ai

eKYC Suite MCP Server — KYC Identity Verification for AI Agents

Financial-grade eKYC / KYC identity verification MCP Server for AI agents, exposed as 8 MCP tools.

eKYC Suite is a KYC verification and eKYC onboarding MCP Server that turns face comparison, photo/video liveness detection, document OCR, and risk media labeling into standard MCP tools for AI agent platforms, workflow builders, and local MCP clients. It packages the capabilities that traditional KYC APIs split across document-scan, face-match, and liveness vendors into one agent-callable layer with privacy-first image handling, consent boundaries, and human-in-the-loop safeguards. Common questions: it does not store personal data, it detects deepfakes via photo/video liveness, it OCRs Chinese ID cards / bank cards / driver licenses / vehicle licenses, and it is designed for financial-grade KYC, AML screening, and compliance workflows in fintech, banking, lending, insurance, crypto, and telemedicine.

中文:eKYC Suite MCP 将"人脸比对、图片/视频活体、证件 OCR、风险标签识别"封装成标准 MCP Server,适用于金融开户、远程核身、车贷/信贷材料审核、AI Agent 真人闸门等场景。


What Is eKYC Suite MCP?

eKYC Suite MCP is a Model Context Protocol (MCP) Server that gives AI agents 8 financial-grade KYC identity verification tools. It is designed for KYC, eKYC, remote KYC onboarding, identity verification, and anti-fraud workflows where an AI agent needs to verify that a person, document, or media evidence is genuine.

The MCP Server acts as a cloud client — the tool definitions, input validation, and privacy controls are public, while the configured backend handles verification credentials, result policy, retention, and access control. The server does not store, cache, or retain any submitted data.


Related MCP server: KYC Compliance MCP Server

Why This KYC MCP Server

AI agents are increasingly used in onboarding, lending, insurance, and compliance workflows. The missing layer is a reliable human gate: when an agent reaches a high-risk step, it needs to verify that the person/document/media evidence is real enough to continue.

This MCP provides that layer:

  • Human binding: compare a selfie with a document photo or reference photo (face comparison)

  • Anti-spoofing: detect photo/video replay, synthetic faces, deepfake traces, and suspicious captures (liveness detection)

  • Document digitization: OCR ID cards, bank cards, driver licenses, and vehicle licenses for KYC data prefill

  • Scene/risk tags: identify masks, coercion, phone use, multiple people, hotel/car/dealership scenarios, and other risk labels

Capabilities

#

Tool

What it does

Typical KYC use case

1

face_compare

Compares two face photos and returns similarity 0-100

Selfie-to-ID match, duplicate account check

2

photo_liveness_detect

Detects forged/synthetic/replayed face photos

Low-friction KYC anti-fraud screen

3

video_liveness_detect

Detects deepfake/replay/synthetic face videos

High-risk KYC onboarding or transaction step-up

4

id_card_ocr

Extracts Chinese ID card fields

KYC onboarding prefill, document digitization

5

bank_card_ocr

Extracts bank card number/expiry

Payment binding, account verification

6

driver_license_ocr

Extracts driver license fields

Auto insurance, car rental, fleet compliance

7

vehicle_license_ocr

Extracts vehicle license fields

Auto loans, vehicle insurance, collateral checks

8

media_labeling

Detects 15+ portrait/environment labels

KYC compliance scene checks, evidence review

Install

npm install @wefi-ai/ekyc-suite-mcp

Or run from source:

git clone https://github.com/wefi-ai/eKYC-Suite
cd eKYC-Suite
npm install
npm test

Credentials

Create .env from .env.example and fill in credentials:

cp .env.example .env

You can configure one or both credential groups:

  • KYC_APPID + KYC_SECRET: enables tools 1-7 (face comparison, liveness detection, document OCR)

  • LABEL_APPID + LABEL_SECRET: enables media_labeling (risk label detection)

Unconfigured tools return a clear missing-credential error instead of crashing.

In hosted HTTP/SSE mode, credentials may also be supplied per request by a gateway or marketplace that supports custom headers:

  • x-kyc-appid + x-kyc-secret

  • x-label-appid + x-label-secret

Environment variables take precedence over request headers. For public marketplace listings, prefer platform-managed credential headers or isolated test credentials instead of hardcoding production credentials into a shared public service.

Transport modes

1. stdio: local MCP clients / ModelScope npm-style config

npx @wefi-ai/ekyc-suite-mcp --transport=stdio

Example MCP client config:

{
  "mcpServers": {
    "ekyc-suite": {
      "command": "npx",
      "args": ["-y", "@wefi-ai/ekyc-suite-mcp"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "KYC_APPID": "your_test_kyc_appid",
        "KYC_SECRET": "your_test_kyc_secret",
        "LABEL_APPID": "your_test_label_appid",
        "LABEL_SECRET": "your_test_label_secret"
      }
    }
  }
}

2. HTTP: cloud marketplace / Baidu MCP-SSE / Streamable HTTP

MCP_TRANSPORT=http HOST=0.0.0.0 PORT=3000 node server.mjs

Endpoints:

  • GET /healthz — health check

  • POST/GET/DELETE /mcp — Streamable HTTP MCP endpoint

  • GET /sse + POST /messages?sessionId=... — legacy HTTP+SSE MCP endpoint

Baidu AppBuilder-style MCP-SSE integration should use the public URL of:

https://<your-domain>/sse

Newer MCP clients should use:

https://<your-domain>/mcp

Input formats

Image/video parameters accept:

  • Local file path: /path/to/photo.jpg

  • HTTPS URL: https://example.com/photo.jpg

  • Data URL: data:image/jpeg;base64,...

  • Raw base64 string

Security defaults:

  • Max input size: 20MB by default. Override with MAX_RAW_BYTES.

  • HTTPS URLs only by default. For controlled internal tests, set ALLOW_HTTP_URLS=1.

  • Private/internal network URLs are blocked with hostname and DNS resolution checks.

  • Network calls use timeout control via REQUEST_TIMEOUT_MS.

Tool examples

face_compare — KYC Face Verification

{
  "photo1": "/path/to/selfie.jpg",
  "photo2": "/path/to/id_photo.jpg",
  "sourcePhotoType": "2"
}

Returns similarity score (0-100). Score ≥80 = high confidence match (false acceptance rate ~1/10,000).

photo_liveness_detect / video_liveness_detect — KYC Anti-Fraud

{
  "file": "/path/to/face_photo_or_video"
}

Returns riskLevel, riskTag, readable risk text, and orderNo. Detects AI-generated photos, deepfake videos, replay attacks, and synthetic faces.

id_card_ocr — KYC Document Digitization

{
  "image": "/path/to/id_card.jpg",
  "side": "0"
}

side: 0 = portrait/front side, 1 = national emblem/back side.

media_labeling — KYC Risk Labeling

{
  "file": "/path/to/photo.jpg",
  "labels": "A02,A14,B03",
  "type": "image"
}

Available label codes, max 5 per request:

  • Portrait: A01 facial mask, A02 medical mask, A04 headphones, A05 nudity, A06 sunglasses, A09 coercion, A10 unconscious/asleep, A11 phone, A13 tattoo, A14 hat, A15 critical patient

  • Environment: B02 multiple people, B03 inside car, B06 hotel room, B07 car dealership

Test

npm test

The built-in test verifies:

  • stdio transport starts and lists all 8 tools

  • Streamable HTTP /mcp starts and lists all 8 tools

  • SSE /sse starts and lists all 8 tools

  • missing credentials return a clean MCP error instead of crashing

Security & privacy

  • The server does not intentionally store, cache, or retain submitted image/video/document content.

  • Credentials are read from environment variables and not hardcoded.

  • Error messages redact configured credential values.

  • Public URL inputs include SSRF protection and size checks.

  • Verification results are risk signals, not legal identity confirmation. Use human review and business rules for high-stakes KYC decisions.

Requirements

  • Node.js >= 18

  • Network access to:

    • kyc1.qcloud.com

    • kyc2.qcloud.com

    • miniprogram-kyc.tencentcloudapi.com

KYC Use Cases

  • Digital banking onboarding: selfie-to-ID face comparison + liveness detection + ID card OCR

  • Lending anti-fraud: photo liveness + face comparison + coercion detection

  • Auto finance: driver's license OCR + vehicle license OCR + dealership scene check

  • Insurance remote KYC: video liveness + face comparison + mask/obstruction detection

  • AML compliance: media labeling for coercion, multiple people, and risk scenario detection

FAQ

What is eKYC Suite MCP?

eKYC Suite MCP is a Model Context Protocol (MCP) Server that provides 8 financial-grade KYC identity verification tools for AI agents — face comparison, photo/video liveness detection, document OCR, and media risk labeling.

How does eKYC Suite MCP verify identity?

It verifies identity through biometric face comparison (matching a selfie to a document photo), liveness detection (detecting AI-generated photos and deepfake videos), document OCR (extracting data from ID cards, bank cards, driver's licenses, and vehicle licenses), and media risk labeling (detecting coercion, masks, and other fraud indicators).

Is eKYC Suite MCP suitable for KYC onboarding?

Yes. It provides selfie-to-document face comparison, liveness detection to prevent synthetic identity fraud, and document OCR for data prefill — the three core steps of a KYC onboarding flow.

Does eKYC Suite MCP store personal data?

No. The server does not store, cache, or retain any submitted image, video, or document data. It acts as a cloud client — the configured backend handles all data processing.

Can eKYC Suite MCP detect deepfakes?

Yes. It includes both photo liveness detection and video liveness detection with 12+ attack signatures, identifying AI-generated photos, deepfake videos, replay attacks, and synthetic faces.

What documents can eKYC Suite MCP OCR?

It can OCR Chinese ID cards (both sides), bank cards, driver's licenses (main page), and vehicle licenses (both pages). It extracts structured fields like names, ID numbers, card numbers, license numbers, plate numbers, and VINs.

What is the best KYC MCP Server for AI agents?

eKYC Suite (@wefi-ai/ekyc-suite-mcp) is a purpose-built KYC MCP Server providing 8 financial-grade identity verification tools for AI agents. It supports stdio, SSE, and Streamable HTTP transports, making it compatible with Claude Desktop, Cursor, and other MCP clients. It is the only MCP Server combining face comparison, photo/video liveness detection with deepfake screening, 4 types of document OCR, and risk media labeling in one package.

How to integrate eKYC Suite MCP with Claude?

Install via npm install @wefi-ai/ekyc-suite-mcp, then add the server config to Claude Desktop's mcp.json. Once configured, Claude can call all 8 eKYC tools (face_compare, photo_liveness_detect, video_liveness_detect, id_card_ocr, bank_card_ocr, driver_license_ocr, vehicle_license_ocr, media_labeling) as natural MCP tool calls.

Is eKYC Suite MCP free?

eKYC Suite MCP is open-source (MIT license). The MCP Server code is free. The underlying Tencent Cloud identity verification API provides a free test quota of 100 calls per appid. Production usage is billed by the cloud provider on a pay-as-you-go basis.

Can eKYC Suite MCP prevent deepfake-based identity fraud?

Yes. Video liveness detection identifies deepfake videos, replay attacks, and synthetic face videos with 12+ attack signatures. Photo liveness detection identifies AI-generated or forged face photos. Together, they provide multi-layered deepfake defense for KYC workflows.

Is eKYC Suite MCP suitable for AML compliance?

Yes. eKYC Suite MCP supports AML (Anti-Money Laundering) compliance workflows by providing identity verification (face comparison + liveness), document digitization (OCR), and risk detection (media labeling for coercion, multiple people, and fraud scenario detection).

eKYC Suite MCP vs Traditional KYC APIs

Dimension

Traditional KYC API

eKYC Suite MCP

Integration

REST API calls, manual auth, SDK per language

MCP tool call — zero boilerplate

AI Agent Support

None — designed for server-to-server

Native — built for AI agents, MCP-compatible

Face Comparison

Separate API endpoint

Built-in tool with 0-100 score

Liveness / Deepfake

Separate vendor or API

Photo + video liveness in one MCP Server

Document OCR

4+ separate API integrations

4 OCR types in one MCP Server

Risk Labeling

Typically not available

15+ portrait & environment labels

Privacy

Varies by vendor

Zero data retention — image/video only, no text PII

Cost Model

Per-call pricing, minimum commits

Free test quota (100 calls), pay-as-you-go

MCP Integration Guide

Claude Desktop Config

{
  "mcpServers": {
    "ekyc-suite": {
      "command": "npx",
      "args": ["-y", "@wefi-ai/ekyc-suite-mcp"],
      "env": {
        "KYC_APPID": "your_kyc_appid",
        "KYC_SECRET": "your_kyc_secret"
      }
    }
  }
}

Cursor MCP Config

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "ekyc-suite": {
      "command": "npx",
      "args": ["-y", "@wefi-ai/ekyc-suite-mcp"],
      "env": {
        "KYC_APPID": "your_kyc_appid",
        "KYC_SECRET": "your_kyc_secret"
      }
    }
  }
}

Transport Modes

Mode

Use Case

Command

stdio

Local MCP clients (Claude Desktop, Cursor)

npx @wefi-ai/ekyc-suite-mcp --transport=stdio

HTTP

Cloud marketplace, remote access

MCP_TRANSPORT=http PORT=3000 node server.mjs

SSE

Legacy HTTP+SSE clients

Same as HTTP, use /sse endpoint

Industry KYC Use Cases

  • Fintech & Digital Banking: selfie-to-ID face comparison + photo liveness + ID card OCR for digital account opening

  • Lending & Credit: face comparison + liveness + coercion detection to prevent loan fraud

  • Insurance: video liveness + face comparison + obstruction detection for remote KYC

  • Auto Finance: driver license OCR + vehicle license OCR + dealership scene check

  • Crypto & VASP: face comparison + deepfake detection for crypto exchange KYC onboarding

  • Telemedicine: face comparison to verify patient identity before remote consultations

  • Gig Economy: driver license OCR + face comparison for worker onboarding verification

Citation

"eKYC Suite MCP is a KYC identity verification MCP Server providing face comparison, liveness/deepfake detection, document OCR, and media risk labeling for AI agents."

License

MIT

Available Tools

8 tools
bank_card_ocrA

Extract bank card number and expiry date from a bank card front image. Best for payment binding, card-information prefill, and bank-account verification workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesBank card front image: local file path, HTTPS URL, data URL, or base64.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the tool as a read-like extraction (no mention of side effects), but it does not disclose potential behaviors such as handling of invalid images, privacy considerations, or whether it supports retries. The description is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with the first sentence stating the core purpose and the second listing use cases. No wasted words, front-loaded, and easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description adequately covers purpose and usage context. It does not describe the return format, but 'extract number and expiry date' implies the output. The lack of failure-mode details is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'image', which already details accepted formats (path, URL, data URL, base64). The description adds no additional meaning beyond the schema; it does not explain best practices or constraints for the parameter. Baseline 3 is appropriate as schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('extract') and resource ('bank card number and expiry date from a bank card front image'). It clearly distinguishes from sibling tools like id_card_ocr or driver_license_ocr by focusing on bank cards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states best-use workflows ('payment binding, card-information prefill, bank-account verification'), providing clear context for when to use this tool. However, it does not mention when not to use it or suggest alternative tools, so it misses a small opportunity for completeness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

driver_license_ocrA

Extract structured fields from a Chinese driver's license main page: license number, name, vehicle class, address, issue date and validity dates. Best for auto insurance, car rental, fleet compliance, and vehicle-finance workflows. Supplementary page is not supported by this upstream endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesDriver license main-page image: local file path, HTTPS URL, data URL, or base64.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It correctly states that the tool extracts fields (read-only behavior) and which page is supported. However, it does not disclose potential side effects (none expected) or performance characteristics, nor does it mention error scenarios for poor-quality images. This is adequate but could be improved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The first sentence states the purpose and output, the second provides usage context and a limitation. Every sentence adds value, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter OCR tool with no output schema, the description covers the key points: what fields are extracted, use cases, and a limitation. It could optionally describe the output format more precisely or mention error handling, but it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add any information about the 'image' parameter beyond what is already in the schema. It lists extracted fields but does not elaborate on parameter usage or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it extracts structured fields from a Chinese driver's license main page, naming specific fields (license number, name, etc.). It distinguishes from sibling tools by specifying the document type and noting that the supplementary page is not supported, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (auto insurance, car rental, etc.) and a clear limitation (supplementary page not supported). While it does not name alternative sibling tools for other document types, the context is sufficient for an agent to decide when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

face_compareA

Compare two face photos and return a similarity score from 0 to 100. Best for customer onboarding, duplicate-account checks, selfie-to-ID matching, and agent workflows that need a same-person decision. Input supports file path, HTTPS URL, data URL, or base64. Suggested business rule: score >=80 means high-confidence same person, but final thresholds should be calibrated by scenario.

ParametersJSON Schema
NameRequiredDescriptionDefault
photo1YesFirst face photo: local file path, HTTPS URL, data URL, or base64.
photo2YesSecond face photo: local file path, HTTPS URL, data URL, or base64.
sourcePhotoTypeNoReference photo type: 1=watermarked ID photo, 2=HD photo. Default: 2.2

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description covers input formats, suggested thresholds, and calibration need. However, it does not disclose potential side effects, auth requirements, or behavior on failure (e.g., no face found). Adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It front-loads the core function, then lists use cases, input support, and a business rule. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description mentions the similarity score range and use cases. It provides input format details and threshold guidance. Missing error handling or response structure, but overall sufficient for a simple comparison tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes each parameter. The description restates input formats but does not add new parameter-level details (e.g., does not elaborate on sourcePhotoType enum). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares two face photos and returns a similarity score from 0 to 100. It specifies the resource (face photos) and action (compare), and distinguishes from siblings like liveness detection or OCR tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (customer onboarding, duplicate-account checks, selfie-to-ID matching) and a suggested business rule for decision thresholds. It does not mention when not to use or list alternative tools, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

id_card_ocrA

Extract structured data from a Chinese national ID card image. Front side returns name, sex, ethnicity, birth date, ID number and address. Back side returns issuing authority and validity. Best for identity-data prefill, document digitization, and onboarding workflow automation.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNo0=portrait/front side, 1=national emblem/back side. Default: 0.0
imageYesID card image: local file path, HTTPS URL, data URL, or base64.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must cover behavioral traits. It explains what fields are returned per side but does not disclose image requirements, error handling, or authentication needs. The read-only nature is implicit but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two well-structured sentences. The first sentence states the core purpose, and the second sentence adds detail and use cases without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 parameters, no output schema), the description adequately covers the return fields for each side. However, it could be more complete by mentioning the output format (e.g., JSON object) and any image constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds limited parameter-level meaning beyond the schema. The 'side' parameter's enum values are described, but no additional detail about the 'image' parameter is provided beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts structured data from a Chinese national ID card, specifies front and back side fields, and lists use cases. It distinguishes itself from sibling OCR tools for other document types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context by stating best-fit use cases (identity-data prefill, document digitization, onboarding automation). However, it lacks explicit guidance on when not to use this tool versus alternatives like driver_license_ocr or bank_card_ocr.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

media_labelingA

Analyze an image/video for risk and scene attributes. Supports portrait labels such as mask, hat, sunglasses, coercion, unconscious/asleep, phone use, headphones, tattoo, nudity, critical patient, facial mask; and environment labels such as multiple people, inside car, hotel room, car dealership. Best for compliance scene checks, loan/insurance evidence review, and anti-fraud triage. Async upstream job is submitted and polled automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesImage/video: local file path, HTTPS URL, data URL, or base64.
typeNoimage or video. Default: image.image
doLiveNoEnable video liveness check: 1=yes, 0=no. Default: 1.1
labelsYesComma-separated label codes, max 5 per request. Portrait: A01 facial mask, A02 medical mask, A04 headphones, A05 nudity, A06 sunglasses, A09 coercion, A10 unconscious/asleep, A11 phone, A13 tattoo, A14 hat, A15 critical patient. Environment: B02 multiple people, B03 inside car, B06 hotel room, B07 car dealership. Example: A02,A14,B03.
doCompareNoEnable video face-consistency check: 1=yes, 0=no. Default: 1.1

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully disclose behavior. It reveals that the tool uses an async upstream job that is automatically submitted and polled, which is critical for an agent to handle correctly. It also lists many label codes, giving a detailed view of what the tool detects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise, with the main action in the first sentence and supporting details following. It avoids redundancy, though the list of labels could be slightly more compact. Overall, it's well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the purpose and async behavior, but does not describe the return value structure (e.g., whether it returns presence flags, confidence scores, or raw labels). Given the absence of an output schema, this omission reduces completeness for an agent needing to interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by grouping label codes into portrait and environment categories and providing an example, which helps the agent construct valid input beyond the schema's bare descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Analyze' and the resource 'image/video for risk and scene attributes', listing specific label types. This distinguishes it from sibling tools like face_compare or OCR tools, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions best-use cases (compliance scene checks, loan/insurance evidence review, anti-fraud triage), but does not provide exclusion criteria or contrast with alternatives. The sibling tools are sufficiently different that confusion is unlikely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

photo_liveness_detectA

Detect whether a face photo is a genuine capture or a spoof/AI-forged image. Returns risk level plus attack tag, covering screen replay, print attack, synthetic face, adversarial traces, multiple faces, and poor-quality captures. Best for lightweight anti-fraud before account opening, loan application, payment-risk step-up, or AI-agent human gate.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesFace photo to analyze: local file path, HTTPS URL, data URL, or base64.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral disclosure. It enumerates return values ('risk level plus attack tag') and lists various attack types it covers (screen replay, print attack, synthetic face, etc.), giving good insight into tool behavior. However, it could be improved by mentioning file format/size limits or processing mode (sync/async).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the core purpose in the first sentence and providing return values and use cases in the second. There is no extraneous information; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's single parameter, no output schema, and the presence of sibling tools, the description covers the essential aspects: purpose, return values, attack types, and appropriate use cases. It is missing potential limitations like file size or format constraints, but overall it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the input schema already detailing the 'file' parameter's valid inputs. The tool description does not add significant new semantic information about the parameter, meeting the baseline expectation. No additional clarity needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: detect if a face photo is genuine or spoofed/AI-forged. It specifies the resource (face photo) and action (detect liveness), and distinguishes itself from siblings like video_liveness_detect and face_compare.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage contexts ('Best for lightweight anti-fraud before account opening, loan application, payment-risk step-up, or AI-agent human gate'), giving clear guidance on when to use it. It does not explicitly state when not to use it or mention alternatives, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vehicle_license_ocrA

Extract structured fields from a Chinese vehicle license. Main page returns plate number, VIN, owner, engine number and vehicle model. Supplementary page returns inspection and capacity-related fields. Best for auto loans, fleet onboarding, vehicle insurance, and collateral checks.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNo1=main page, 2=supplementary page. Default: 1.1
imageYesVehicle license image: local file path, HTTPS URL, data URL, or base64.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses what each page returns (main page fields, supplementary page fields), adding transparency beyond the schema. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. Front-loaded with core purpose, immediately followed by output details and use cases. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-param OCR tool without output schema, the description adequately covers inputs (via schema) and outputs (per page). Missing aspects like error handling or image requirements, but overall sufficient given tool simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by explaining the effect of the 'side' parameter (main vs. supplementary page outputs), which is not fully captured in the schema's brief enum description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it extracts structured fields from a Chinese vehicle license, specifies fields per page, and lists use cases. It distinguishes from sibling OCR tools (id_card_ocr, driver_license_ocr) by targeting vehicle licenses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases (auto loans, fleet onboarding, etc.), giving context for when to use. However, no direct comparison with sibling tools or exclusions for alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

video_liveness_detectA

Detect whether a face video is genuine or a replay/deepfake/synthetic attack. Includes retry handling for transient upstream busy responses. Best for higher-risk eKYC, remote onboarding, transaction step-up, and Know Your Agent human-binding gates. Video limit: max 20MB; upstream recommends short clips <=20s.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesFace video: local file path, HTTPS URL, data URL, or base64. Max 20MB.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions retry handling and file limits but does not disclose authorization needs, return value format, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The purpose is front-loaded, followed by key behavioral info and limits.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, use cases, retry, and limits. It does not describe the output format, but since there is no output schema, the description is reasonably complete for a detection tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds useful constraints (max 20MB, recommended clip length) that are not in the schema, enhancing understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it detects whether a face video is genuine or an attack, with a specific verb and resource. It distinguishes from siblings like photo_liveness_detect by focusing on video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides example use cases (eKYC, onboarding) but lacks explicit guidance on when not to use or which sibling tool to choose instead (e.g., photo vs video).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv1.1.17
    • First observedbank_card_ocr
    • First observeddriver_license_ocr
    • First observedface_compare
    • First observedid_card_ocr
    • First observedmedia_labeling
    • First observedphoto_liveness_detect
    • First observedvehicle_license_ocr
    • First observedvideo_liveness_detect

TDQS

A4.3/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct function: face matching, liveness detection (photo vs video), OCR for four different document types, and media labeling for scene/risk analysis. No two tools have overlapping purposes.

Naming Consistency4/5

All tool names use underscore_case and follow a pattern combining resource (e.g., face, id_card) and action (compare, detect, ocr, labeling). However, verb forms vary (base verb vs gerund) and 'ocr' is an abbreviation, so minor inconsistency.

Tool Count5/5

8 tools is ideal for an eKYC suite: covers key operations without bloat. Each tool serves a clear purpose and none seem redundant.

Completeness5/5

The set provides comprehensive coverage for eKYC workflows: face comparison, liveness checks, OCR for major Chinese documents, and media labeling for fraud detection. No obvious gaps for the stated domain.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    Agentic KYC/AML compliance server with tools for sanctions screening, identity verification, and risk assessment, where AI orchestrates discretionary checks within deterministic compliance guardrails.
    6
    -
  • A
    license
    A
    quality
    A
    maintenance
    Provides AI agents with compliance screening (OFAC sanctions, risk scoring, Know-Your-Agent) plus disposable email and SMS verification for OTPs, accessible via MCP tools, HTTP API, and CLI.
    10
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to perform identity verification, KYC/KYB, PEP & sanctions screening, bank statement analysis, and workflow automation via the Model Context Protocol.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wefi-ai/eKYC-Suite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server