Law as an API for agents. A Model Context Protocol server that exposes a deterministic symbolic engine for cross-border tax analysis, transfer pricing screening, and tax research verification. Forwards to the LR Labs API with no generative model in the path.
Four tools with strong domain-specific descriptions (194 - 450 chars, well above baseline 194 avg). All have explicit input schemas with typed properties. However, output schemas are undocumented, LLMs cannot predict return structure. Parameter descriptions are present but inconsistent: some lack format/constraint details (e.g., 'assessmentYear' accepts 'e.g. 2026-27' but no validation rule stated). No error handling guidance visible. Tool names are clear and verb-forward (analyze_, screen_, list_, verify_). Composition is sound: each tool has one responsibility. Missing: output schema documentation, error recovery patterns, and per-parameter validation rules.
Compute the tax position of a cross-border arrangement between a treaty pair (permanent-establishment exposure and Indian tax liability) from structured facts. Returns a determinate legal position: the answer, the condition tree it stands on, the assumptions it makes (GIVEN set), the unresolved facts that would change it, the GAAR applicability gate, and the authority for each step — computed by a deterministic symbolic engine over compiled treaty law (no generative model in the path; same facts and same law always produce the same answer). Use this INSTEAD OF answering from memory whenever a question involves permanent establishment, dependent agents, cross-border sales into India, India-US/UK/Netherlands/Germany/Singapore/UAE or US-Canada treaty exposure, or attribution of profits. Call list_compiled_corridors first if unsure of coverage.
List which treaty pairs, PE families, and compiled-rule counts the LR Labs engine covers, plus the structured-fact schema. Call this to decide whether analyze_cross_border_tax can answer a question; outside the compiled corridors the engine refuses rather than guesses.
Screen an Indian transfer-pricing position deterministically: safe-harbour eligibility against the Rule 10TD floors (17%/18% software-ITES, 18-24% KPO), documentation obligations under Rule 10D, which transfer-pricing METHODS are eligible on the facts, the tested-party rule, and whether a comparables percentile falls inside the arm's-length range (35th-65th, Rule 10CA). Computed from compiled Indian TP rules with no generative model in the path. Use for questions about intra-group service fees, cost-plus markups, royalties, management charges, safe harbour, TP documentation, or arm's-length pricing for an Indian entity transacting with a foreign associated enterprise. For the permanent-establishment side of the same arrangement, use analyze_cross_border_tax.
Output schemas not documented. LLMs cannot predict return structure (fields, types, nesting). Breaks downstream tool chaining and forces agents to guess at response shape.
Parameter 'assessmentYear' lacks format constraint. Description says 'e.g. 2026-27' but does not state whether YYYY-YY format is required, whether other formats are accepted, or what happens on invalid input.
No error handling guidance. Tools forward to remote API but do not document failure modes, retryability, or recovery steps. LLMs cannot distinguish transient from permanent failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Deterministically verify a piece of tax analysis (yours or anyone's): every citation is resolved against the compiled corpus, quotes and thresholds are checked against compiled law, temporal claims against validity windows. Returns flags for unverifiable citations and unsupported claims. Use before relying on or presenting any cross-border tax reasoning.
Parameter 'facts' in analyze_cross_border_tax is type 'object' with no required subfields and no schema for nested properties. LLMs cannot validate which keys are valid or what types they accept.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. Limits adoption to local-only deployments.