mcpField
L
lr-labs

lr-labs

Remote
lrlabs.aiLegal & Government0Updated 11w ago

About lr-labs

LR Labs is a hosted deterministic engine for cross-border tax research, for agents and researchers needing conclusions tied to legal authority. Its symbolic rules return conditions, assumptions, unresolved facts, and citations, and refuse questions outside compiled coverage.

Key features

  1. 01Compute permanent-establishment and tax positions
  2. 02Screen Indian transfer-pricing rules
  3. 03Verify tax notes against compiled law
  4. 04Return conditions, assumptions, and authorities
  5. 05Refuse questions outside compiled coverage

Use cases

  1. 01Assessing treaty-based permanent-establishment exposure
  2. 02Checking Indian transfer-pricing thresholds and methods
  3. 03Reviewing tax research citations and claims
  4. 04Identifying whether a corridor is covered

MCP support

The repository provides a client connector to the hosted LR Labs MCP endpoint. Its tools let MCP clients run tax analysis, transfer-pricing screens, research-note verification, and coverage checks.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://lrlabs.ai/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project 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 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.

Tools

ToolAnswers
analyze_cross_border_taxPermanent-establishment exposure and Indian tax liability for a treaty pair — the condition tree, the GIVEN set, deciding facts, the GAAR gate, authorities
screen_transfer_pricingSafe harbour (Rule 10TD), documentation thresholds (Rule 10D), method eligibility, tested party, the 35th–65th percentile range
verify_tax_research_noteAny tax analysis, checked against compiled law — citations resolved, thresholds and temporal claims verified
list_compiled_corridorsHonest 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.

Footnotes

  1. 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). ↩

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.