MCP server that injects structured professional domain expertise into AI agents — decision frameworks, compliance workflows, and practitioner knowledge for accounting, legal, medical, Islamic finance, cybersecurity, and 19 more domains
Server has 8 well-named tools with clear descriptions and structured Zod schemas. All tools are READ_ONLY and stateless. However, output schemas are not documented, the code shows tool registration but no explicit return type definitions. Error handling is minimal (generic try-catch wrapper). Parameter descriptions are present and mostly good, but some lack actionable constraints. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only. Missing pagination guidance for tools that could return large result sets (e.g., list_available_domains, get_terminology with empty terms array).
Assess the complexity of a professional task and recommend whether it needs a generalist or specialist agent. Returns complexity score, required expertise level, and risk factors.
Get a structured decision tree for a specific professional scenario. Returns step-by-step decision logic that an expert would follow.
Get structured professional expertise for a specific domain. Returns decision frameworks, key principles, common pitfalls, and expert-level reasoning patterns that transform a generalist AI agent into a domain specialist.
Get the standard professional workflow for a task. Returns the steps an experienced professional would follow, including quality checkpoints and common shortcuts that cause problems.
Get regulatory context for a domain in a specific jurisdiction. Returns applicable laws, regulatory bodies, compliance requirements, and recent changes.
Get professional terminology and definitions for a domain. Returns terms with definitions, usage context, and common misunderstandings.
Output schemas not documented. Tools return JSON via text content but no explicit return type definitions visible in code. LLMs cannot plan downstream calls or extract structured data reliably.
No tool annotations despite all tools being read-only. Adding readOnlyHint=true to all 8 tools would signal safety to agents and enable optimizations.
Error handling is generic. wrap() function catches all errors and returns JSON-stringified error message. No error classification (retryable vs user-fixable vs fatal), no recovery guidance, no invalid value echoing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Returns server health, uptime, version, and usage stats
List all available professional domains with descriptions and coverage depth.
Pagination not addressed. list_available_domains and get_terminology (with empty terms array) could return large result sets. No limit, offset, or cursor parameters documented.
Parameter 'focus_area' in get_domain_expertise lacks format guidance. Description says 'e.g., transfer pricing' but does not specify if it's free-form text, enum, or pattern-constrained.