# io.github.abhinandansethi/lr-labs (remote · lrlabs.ai)

Deterministic cross-border tax engine: PE, GAAR and Indian TP computed from compiled law. No LLM.

- Trust score: 54/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `lrlabs.ai`: 54/100 (this document), [markdown](https://verifymcp.io/servers/abhinandansethi-lr-labs/lrlabs.md), [page](https://verifymcp.io/servers/abhinandansethi-lr-labs/lrlabs)

## Channel facts

- Endpoint: `https://lrlabs.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1351 tokens (~270/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 91/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 72% of tool parameters carry a description.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http abhinandansethi-lr-labs https://lrlabs.ai/mcp
```

### Codex

```toml
[mcp_servers.abhinandansethi-lr-labs]
url = "https://lrlabs.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "abhinandansethi-lr-labs": {
      "type": "remote",
      "url": "https://lrlabs.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add abhinandansethi-lr-labs --url https://lrlabs.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  abhinandansethi-lr-labs:
    url: "https://lrlabs.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "abhinandansethi-lr-labs": {
      "type": "http",
      "url": "https://lrlabs.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 54, +2)

- [security] Tool “verify_tax_research_note” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 245 → 270
- [functional improvement] Stability: unverified → 0.03
- [functional] Schema quality: fair → good
- [functional] New tool “lookup_compiled_rule”
- [cosmetic] “analyze_cross_border_tax” reworded the description of “facts”

### 2026-08-02 (score 52)

First indexed and scored.

## MCP tools (5)

### `analyze_cross_border_tax` (~557 tokens)

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.

Input parameters:

- `detail` (string): summary (default) returns the agent-sized bundle (~8KB); full adds the complete condition tree and written derivation.
- `facts` (object, required): Structured facts. Keys: agentType (dependent|independent), concludesContracts (concludes|secures|negotiates|none), agentExclusivity (yes|no), acceptsOrders (yes|no), holdsOutBinding (yes|no), princip…
- `posture` (string)
- `question` (string): The user's original question, verbatim (optional but encouraged) — it improves the engine's coverage of real phrasings. Facts, not this field, drive the answer.
- `treaty` (string): Treaty pair — any spelling accepted ('India-US', 'US/India', 'India-UK', 'USA-Canada'...). Default India–USA, the deepest-compiled corridor.

### `screen_transfer_pricing` (~358 tokens)

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.

Input parameters:

- `alrPercentile` (number): Where the tested margin sits in the comparables set (percentile, 0-100).
- `assessmentYear` (string)
- `hasExternalCup` (boolean)
- `hasInternalCup` (boolean)
- `posture` (string)
- `question` (string): The user's original question, verbatim (optional but encouraged) — it improves the engine's coverage of real phrasings. Facts, not this field, drive the answer.
- `serviceMarkupPct` (number): Declared cost-plus markup as a PERCENT (e.g. 12 for 12%). Drives safe harbour.
- `transactionType` (string, required): e.g. 'Provision of Services', 'IP Licensing / Royalty', 'Contract Manufacturing', 'Distribution of Goods', 'Intra-group Financing'.
- `transactionValueCr` (number): Transaction value in INR crore.

### `list_compiled_corridors` (~61 tokens)

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.

### `verify_tax_research_note` (~183 tokens)

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 — INCLUDING claims about what a named case held (E-Funds, Formula One, Morgan Stanley, Tiger Global, Progress Rail, Centrica …), checked against a string-verified holdings ledger. Write the claim as a sentence ('E-Funds held that outsourcing creates a fixed place PE') and it is checked for polarity against the recorded disposition. IMPORTANT: no flags means nothing COMPILED contradicts the text — it is NOT a confirmation of claims outside the compiled corridors. Use before relying on or presenting any cross-border tax reasoning.

Input parameters:

- `as_of` (string): Optional YYYY-MM-DD validity date.
- `text` (string, required): The analysis text to verify.

### `lookup_compiled_rule` (~192 tokens)

Answer a RULE-LEVEL question directly from compiled law: thresholds and day counts, tests and their elements, what a named case held. Ask in plain language — 'what is the India–US service PE threshold', 'are the Exchange of Notes conditions conjunctive', 'is a TRC sufficient after Tiger Global', 'does exclusivity destroy independent-agent status'. Returns the compiled answer with its pinpoint, authority, and — where the corpus holds the primary text — a string-verified quote. Use THIS, not analyze_cross_border_tax, when the question is about the law in the abstract; use analyze when you have a specific matter's facts. Outside compiled topics it refuses and lists what can be asked.

Input parameters:

- `query` (string, required): The rule-level question, in plain language.
- `treaty` (string): Optional treaty pair to scope the lookup (e.g. 'India-USA', 'India-Germany').

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/abhinandansethi-lr-labs/lrlabs#diagnostics

## Score history

- 2026-08-03: 54
- 2026-08-02: 52

## Links

- Remote endpoint: https://lrlabs.ai/mcp
- Repository: https://github.com/abhinandansethi/lr-labs-mcp
- Website: https://lrlabs.ai/
- Changelog RSS feed: https://verifymcp.io/servers/abhinandansethi-lr-labs/lrlabs/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/abhinandansethi-lr-labs/lrlabs/changelog.json
- HTML version of this page: https://verifymcp.io/servers/abhinandansethi-lr-labs/lrlabs
