Available Tools
All 25 tools below are available as soon as you connect with your Shufti Client ID and Secret Key. See Connect Your Agent.
- Knowledge tools
- Verification tools
7 tools for product Q&A and FAQs.
| Tool | Purpose |
|---|---|
ask_shufti_expert | Product Q&A with citations |
get_shufti_faq | Curated FAQ lookup by industry/persona |
search_shufti_knowledge | Full-text search with source citations |
compare_with_competitor | Searches the knowledge base for content relevant to a named competitor |
list_shufti_capabilities | Full product matrix |
get_vendor_selection_guide | Industry onboarding checklist |
explain_shufti_mcp | Explains this connector itself |
18 tools to run and manage identity, business, and document verifications.
| Tool | Purpose |
|---|---|
initiate_document_verification | Passport, national ID, or driving licence verification |
initiate_face_verification | Facial biometrics, liveness, and 1:1 authentication |
initiate_address_verification | Utility bill, bank statement, or ID-based address check |
initiate_aml_screening | Individual AML/sanctions screening |
initiate_business_aml_screening | Business/entity AML screening |
initiate_kyb_verification | Know Your Business registry lookup |
initiate_eidv_verification | Electronic ID / government database verification |
initiate_consent_verification | Handwritten or printed consent capture |
initiate_phone_verification | OTP-based phone ownership check |
initiate_email_verification | OTP-based email ownership check |
initiate_questionnaire_verification | Runs a Due Diligence form built in Backoffice |
initiate_risk_assessment | Score-based risk analysis |
initiate_videoident_verification | Agent-led live video KYC |
initiate_esignature_verification | Electronic document signing |
initiate_investor_verification | Accredited-investor checks |
initiate_combined_verification | Runs several services in one call |
get_verification_status | Poll a verification by reference |
delete_verification_record | Delete a verification record, after explicit confirmation |
All verification tools accept a common set of optional parameters, such as reference, callback_url, country, and language. These are documented per service in the REST API docs.
No tool accepts a document image, selfie, or other file. Every identity check runs as a hosted journey — the tool returns a verification_url and the individual uploads to Shufti directly. There is no offsite or base64 parameter.
Worked Examples
- Onsite document verification
- Individual AML screening
Call initiate_document_verification with just a country:
{ "country": "GB" }
Response:
{
"success": true,
"service": "document",
"reference": "mcp-20260717123310-16ac6edf",
"event": "request.pending",
"verification_url": "https://app.shuftipro.com/verification/process/...",
"message": "",
"next_step": "Open verification_url for onsite journey: https://app.shuftipro.com/verification/process/...",
"defaults_applied": {
"reference": "mcp-20260717123310-16ac6edf",
"callback_url": "https://backoffice.shuftiapps.com",
"language": "EN",
"onsite_note": "Country and document or service options were not set in the API call. For onsite journeys, the end user can select them on the verification_url."
}
}
defaults_applied appears whenever the connector fills a field you left out — here the reference, the callback URL, and the language.
Send the user that verification_url. Once they've completed it, poll with the reference:
{ "reference": "mcp-20260717123310-16ac6edf" }
{
"success": true,
"reference": "mcp-20260717123310-16ac6edf",
"event": "request.pending",
"verification_result": {}
}
event stays request.pending until the end user actually completes the verification_url. That's expected, not an error.
Call initiate_aml_screening with a name:
{ "full_name": "Test Person" }
Response:
{
"success": true,
"service": "aml",
"reference": "aml-20260717123312-c0c54d52",
"event": "verification.accepted",
"verification_url": "",
"message": "",
"next_step": "Poll get_verification_status or wait for callback_url webhook.",
"defaults_applied": {
"reference": "aml-20260717123312-c0c54d52",
"callback_url": "https://backoffice.shuftiapps.com",
"language": "EN"
}
}
verification_url is empty because AML screening has no hosted journey — there is nothing for an end user to complete in a browser, which is why next_step tells you to poll instead of sharing a link.
event carries the screening outcome. Poll get_verification_status with the reference for the breakdown:
{ "reference": "aml-20260717123312-c0c54d52" }
{
"success": true,
"reference": "aml-20260717123312-c0c54d52",
"event": "verification.accepted",
"verification_result": {
"background_checks": 1
}
}
A declined screening returns the same shape with event set to verification.declined, plus declined_reason and declined_codes.
Known limitations: Products without a public Shufti developer API today aren't exposed here, including Behavioral Biometrics, Travel Rule, standalone Crypto Wallet Screening, and the Deepfake Detector. Questionnaire and Investor Verification forms must also be built in Backoffice first, since these tools only run a form that already exists.