China Company Intelligence MCP - Search and verify Chinese companies for KYB, due diligence, and compliance
SinoCheck defines 3 tools with complete input schemas and reasonable descriptions (avg 156 chars, within baseline 34-392). Tool names follow verb_noun pattern (search_company, get_company_detail, get_company_risk). However, critical gaps exist: no output schemas documented, no error handling guidance, no parameter validation rules, and the server is non-functional (returns waitlist response for all calls). Descriptions lack dependency hints and prerequisites. Parameters lack format constraints and validation rules. No tool annotations (readOnlyHint, etc.) despite all being read-only operations.
Get full company profile including registered capital, shareholders, business scope, annual report status, and key personnel. Use after search_company to get the company_id.
Get risk intelligence for a Chinese company: court judgments, enforcement actions, tax violations, blacklist status, and administrative penalties. Critical for KYB and supplier due diligence.
Search for a Chinese company by name. Returns basic registration info including company name, status, location, and legal representative. Supports fuzzy matching. Use this to verify if a Chinese supplier, partner, or counterparty is a real, active registered entity.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (company_id, risk_status, etc.). Violates pattern:tool requirement that all tools document return types.
No error handling guidance. Tool always returns waitlist response; no recovery hints for actual failures (invalid company_id, network errors, rate limits). Violates pattern:recovery-guide.
Missing tool annotations. All three tools are read-only (Risk: READ_ONLY declared) but lack readOnlyHint in schema. Prevents LLMs from safely composing tools and understanding idempotency.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Parameter 'city' in search_company lacks validation rules. No enum, pattern, or format constraint. Description says 'e.g. Shenzhen, Beijing' but LLMs may hallucinate invalid city names.
No dependency hints in descriptions. get_company_detail and get_company_risk both require company_id from search_company, but descriptions do not state 'Call search_company first' or explain the workflow.