LR Labs β cross-border tax law as a callable API
lrlabs.ai Β· MCP endpoint: https://lrlabs.ai/mcp
LR Labs is a deterministic reasoning engine for cross-border tax. It
compiles law β treaty text, statute, circulars, judgments β into conditions
a machine can evaluate, then computes the position: the answer, the
conditions it stands on, the assumptions it makes, the unresolved facts it
turns on, and the authority for each step.
The engine is symbolic, not generative. The same facts and the same law
always produce the same answer. Where the authorities divide, it says so
instead of guessing. Outside the law it has compiled, it refuses rather than
answering. No language model sits anywhere in the evaluation path.
This repository is the client connector. The engine itself is hosted at
lrlabs.ai β you do not need to run anything to use it.
Why an agent should call this
Language models are strong translators of legal text into structure and
weak executors of compositional legal inference β error compounds across
every condition, threshold and date. A solver's does not. Recent work makes
the point empirically: on contamination-controlled statutory-tax splits,
the same frontier models gain roughly twenty points when they translate into
a formal representation and delegate inference to a symbolic engine, and the
gain does not shrink as models improve.1
LR Labs is that engine for cross-border tax, with the legal work already
done: provisions compiled to spans, judgments carrying string-verified
quotes and pinpoints, and every conclusion shipped with the conditions it
depends on.
Connect
Claude Code
claude mcp add --transport http lr-labs https://lrlabs.ai/mcp
Claude Desktop / claude.ai β Settings β Connectors β Add custom
connector β https://lrlabs.ai/mcp
ChatGPT (developer mode) / OpenAI Agents SDK
from agents.mcp import MCPServerStreamableHttp
lr_labs = MCPServerStreamableHttp(params={"url": "https://lrlabs.ai/mcp"})
Cursor β .cursor/mcp.json
{ "mcpServers": { "lr-labs": { "url": "https://lrlabs.ai/mcp" } } }
Gemini CLI β ~/.gemini/settings.json
{ "mcpServers": { "lr-labs": { "httpUrl": "https://lrlabs.ai/mcp" } } }
stdio (this repo) β for clients that cannot speak remote MCP:
{ "mcpServers": { "lr-labs": { "command": "python3",
"args": ["/path/to/lr_labs_mcp.py"] } } }
No MCP client? The engine is also a plain GET β every intake key is a
query parameter, no key required:
https://lrlabs.ai/compute?agentType=dependent&concludesContracts=secures&agentExclusivity=yes
Fetch /compute with no parameters for the
full parameter manual, or /llms.txt for the
machine-readable overview.
| Tool | Answers |
|---|
analyze_cross_border_tax | Permanent-establishment exposure and Indian tax liability for a treaty pair β the condition tree, the GIVEN set, deciding facts, the GAAR gate, authorities |
screen_transfer_pricing | Safe harbour (Rule 10TD), documentation thresholds (Rule 10D), method eligibility, tested party, the 35thβ65th percentile range |
verify_tax_research_note | Any tax analysis, checked against compiled law β citations resolved, thresholds and temporal claims verified |
list_compiled_corridors | Honest coverage: what the engine can and cannot answer |
What is compiled
- IndiaβUS Article 5 in full, including the 1989 Exchange of Notes β
which fixes four conjunctive conditions on the securing-orders limb
(frequent acceptance of orders; substantially-all sales-related
activities; holding out that acceptance binds; enterprise-fostered
belief). "Only if" makes each one necessary. No reported Indian decision
has yet applied them, and that caveat travels with every answer that
relies on them.
- The domestic charge β s.9(1)(i) with Explanations 1, 2 and 2A: the
agent routes, significant economic presence, and the apportionment limit,
read against s.90(2) treaty relief.
- Treaty access and the GAAR gate β after AAR v Tiger Global
(2026 INSC 60): a TRC is necessary but no longer sufficient; the Chapter
X-A applicability screen (Rule 10U exclusions, s.95(2) commencement,
s.144BA invocation) is computed, while the substantive s.96 evaluation is
never computed and says so.
- The judgment line with string-verified quotes and paragraph pinpoints
β Morgan Stanley, e-Funds, Formula One, Progress Rail, UAE Exchange,
Centrica, Rolls Royce, GE Energy, and others.
- Indian transfer pricing β safe harbour, documentation, methods, range.
127 compiled rules across 10 corridors. Coverage is honest and inspectable:
call list_compiled_corridors or read
lrlabs.ai/q for worked examples.
Design commitments
- Deterministic β same facts + same law β byte-identical answer.
- No model in the evaluation path β an LLM only translates a question
in and renders a note out; it never decides.
- Refuses outside coverage β an uncompiled corridor returns a structured
refusal naming what is compiled, never a guess.
- Every conclusion ships its conditions β no answer without its GIVEN
set, its assumptions, and the facts that would change it.
Not legal advice
LR Labs produces computed legal research, not advice. Outputs carry their
as-at date, their assumptions, and their open questions. Verify before
relying.
Licence
MIT (this connector). The compiled corpus and the hosted engine are
proprietary.