MCP server for Know Your Business (KYB) verification using Trulioo's business verification and search APIs
Server has 4 tools with basic descriptions and tool annotations present, but critical gaps undermine quality. Tool schemas are severely underdocumented: BusinessVerification and BusinessSearch accept complex request objects with only generic 'object' type and no nested field descriptions. Parameters lack type constraints, ranges, enums, or validation guidance. Descriptions are minimal (10-60 chars) and lack WHEN/WHY context. No output schema documentation. Error handling is generic (catch-all exceptions mapped to code 2000). No guidance on parameter dependencies, required fields, or format constraints. Tool annotations (ReadOnly, Destructive, Idempotent) are present but descriptions don't explain consequences or recovery paths.
Search for a business and get details that can be used to run a verification. Fields with no value should not be provided.
Runs a KYB Business verification. Fields with no value should not be provided.
Gets a list of all the countries available in ISO2 format.
Can be used to verify credentials are set correctly.
Complex request objects (BusinessVerifyRequest, BusinessSearchRequest) have no nested schema documentation. LLM cannot determine which fields are required, their types, formats, or constraints.
Tool descriptions are under 60 characters and lack WHEN/WHY context. 'Runs a KYB Business verification' does not explain when to call it vs BusinessSearch, what prerequisites exist, or what the output represents.
No output schema documentation. GetCountries returns GetCountriesResponse with CountryISOCodes and Errors fields, but LLM has no visibility into structure. BusinessVerification/BusinessSearch return VerifyResult/BusinessSearchResponse with undocumented fields.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
Generic error handling: all exceptions caught and mapped to code 2000 with only exception message. No error classification (retryable vs user-fixable vs fatal), no recovery guidance, no actionable next steps for LLM.
Parameter descriptions missing for request objects. 'Fields with no value should not be provided' is vague, no guidance on which fields are required, what formats are valid, or what happens if invalid data is passed.