lr-labs

lr-labs

Provides deterministic cross-border tax analysis by compiling law into machine-evaluable conditions, enabling assessments of permanent establishment, transfer pricing, and verification of tax research.

Category
Visit Server

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.

[^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).

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

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured