Bilingual knowledge base for foreign investors in Saudi Arabia. Exposes 10 tools for querying investment, business structure, regulatory, and economic activity data with bilingual (English/Arabic) support.
Server exposes 10 well-structured query tools with complete Pydantic input schemas and descriptions. All tools are READ_ONLY and follow a consistent query-filter pattern. Strengths: every tool has a description (100-200 chars), all parameters are typed and described, output structure is consistent (JSON with disclaimer). Weaknesses: descriptions are functional but generic (lack WHEN/WHY guidance for LLM selection), no output schema documentation visible, no error handling guidance, no pagination support despite tools returning potentially large result sets, parameter enums not enforced (e.g., 'regulatory_sensitivity' accepts free-form strings instead of enum), no tool annotations (readOnlyHint present via Risk field but not in MCP schema).
Get a personalized investment setup path based on investor profile. Returns a recommended sequence of steps tailored to the investor's sector, company structure, and investor type.
Query the economic-activities dataset. Filter by keyword, ISIC4 code, foreign ownership rules, or regulatory sensitivity. Returns information about which business activities are open to foreign investment.
Query the sources dataset (government authorities). Filter by authority ID, authority type, or tag. Returns information about Saudi government ministries, agencies, and portals.
Query the fees dataset. Filter by authority ID, fee type, or tag. Returns registration, renewal, and other fees charged by Saudi government authorities.
Query the sectors dataset. Filter by sector ID, regulatory sensitivity, or tag. Returns sector information including Vision 2030 alignment, FDI targets, and regulatory classification.
Query the setup-flows dataset. Filter by flow ID, related sector, or tag. Returns step-by-step business setup procedures for different investor types and sectors.
No output schema documentation. Tools return JSON with 'result' and 'disclaimer' fields, but the structure of 'result' (fields, types, nesting) is not documented. LLMs cannot plan downstream operations or extract specific fields without trial-and-error.
Parameter constraints not enforced as enums. 'regulatory_sensitivity' accepts free-form strings ('standard', 'regulated', 'highly_regulated', 'restricted') but is defined as Optional[str] without enum constraint. LLMs may hallucinate invalid values. Same issue: 'authority_type', 'fee_type', 'investor_type', 'lang'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Query the special economic zones (SEZs) dataset. Filter by SEZ ID or tag. Returns information about Saudi Arabia's special economic zones and their investment incentives.
Query the business-structures dataset. Filter by structure ID or tag. Returns information about different legal business structures available in Saudi Arabia (LLC, JSC, branch, etc.).
Query the timelines dataset. Filter by authority ID or process ID. Returns expected processing timelines for various business registration and licensing procedures.
Full-text search across all datasets. Search for text across business structures, investment licenses, sources, sectors, source gaps, authority relationships, setup flows, fees, timelines, SEZs, and economic activities.
No pagination support. Tools like 'search_knowledge_base' accept 'max_results' (default 10) but no offset/limit or cursor mechanism. Large result sets will be truncated silently, and LLMs cannot iterate through all results.
Descriptions lack WHEN/WHY guidance. All descriptions state WHAT the tool does but not WHEN to use it vs. similar tools. E.g., 'query_sectors' vs 'search_knowledge_base', when should an LLM pick one over the other? Ambiguous selection guidance.
No error handling guidance. Tools return JSON responses but no documentation of error cases (e.g., invalid sector_id, malformed query). LLMs cannot distinguish success from failure or know how to recover.