
Lr Labs
io.github.abhinandansethiPublished by GitHub account abhinandansethiv0.2.0Updated Nov 9, 2026
Deterministic cross-border tax engine: PE, GAAR, Indian TP, rule-level lookup. Compiled law, no LLM.
Overview
Remote MCP endpoint for a deterministic cross-border tax engine that computes permanent-establishment, GAAR and Indian transfer-pricing positions from…
- What you can do
- Analyze cross-border tax positions: permanent-establishment exposure and Indian tax liability for a treaty pair, with the condition tree, deciding facts, GAAR gate and authorities
- Screen transfer pricing: safe harbour, documentation thresholds, method eligibility, tested party and percentile range
- Verify a tax research note against compiled law, resolving citations and checking thresholds and temporal claims
- List compiled corridors to see which treaty pairs and rules the engine can and cannot answer
- When to use it
- Useful when an assistant has to reason about India-related cross-border tax questions — PE exposure, treaty access, GAAR screening or transfer pricing — and you want a deterministic, citation-backed answer rather than a model's guess. Also useful for checking a draft tax note against compiled law.
- Requirements
- A remote MCP endpoint; nothing to install or run locally. The README also offers a stdio Python script for clients that cannot speak remote MCP. No API key is required for the plain GET compute endpoint.
Installation
In SourceWeft
- Open Lr Labs in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.abhinandansethi%2Flr-labs/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config.
{
"mcpServers": {
"lr-labs": {
"type": "http",
"url": "https://lrlabs.ai/mcp"
}
}
}README
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 Desktop / claude.ai — Settings → Connectors → Add custom
connector → https://lrlabs.ai/mcp
ChatGPT (developer mode) / OpenAI Agents SDK
Cursor — .cursor/mcp.json
Gemini CLI — ~/.gemini/settings.json
stdio (this repo) — for clients that cannot speak remote MCP:
No MCP client? The engine is also a plain GET — every intake key is a query parameter, no key required:
Fetch /compute with no parameters for the
full parameter manual, or /llms.txt for the
machine-readable overview.
Tools
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.
Footnotes
-
Kordjamshidi, Aslan, Seshadri, Barrett & Santus, Reasoners or Translators? Contamination-aware Evaluation and Neuro-Symbolic Robustness on Tax Law, SURGeLLM @ ACL 2026, pp. 344–360 (ACL Anthology · arXiv 2605.16052). ↩
Source: README.md at commit 4c54550
Tools
0Version history
1- v0.2.0LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listedRequired15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts