lr-labs

Deterministic cross-border tax engine: PE, GAAR, Indian TP, rule-level lookup. Compiled law, no LLM.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
83%
Qualität der Benennung
92%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,686Tokens (Tool-Definitionen)
~1.8 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.32% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "lr-labs": {
      "url": "https://lrlabs.ai/mcp"
    }
  }
}

Remote-Endpunkte

https://lrlabs.ai/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢analyze_cross_border_tax(treaty, facts, question, posture, detail)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "treaty": {
      "type": "string",
      "description": "Treaty pair — any spelling accepted ('India-US', 'US/India', 'India-UK', 'USA-Canada'...). Default India–USA, the deepest-compiled corridor."
    },
    "facts": {
      "type": "object",
      "description": "Structured facts. Keys: agentType (dependent|independent), concludesContracts (concludes|secures|negotiates|none), agentExclusivity (yes|no), acceptsOrders (yes|no), holdsOutBinding (yes|no), principalFostersBelief (yes|no), armsLengthRemuneration (yes|no), dealingsAtArmsLength (yes|no), premisesAvailable (yes|subsidiary|no), officeType (liaison|branch), secondedEmployees (yes|no), maintainsStock (yes|no), deliversFromStock (yes|no), salesContributingActivities (yes|no), statedHabitual (yes|no), totalDaysIndia (int), projectDuration (months), salesToIndiaCr (INR crore, SEP screen), remoteEmployeeCount (int), virtualDeliveryMonths (int), gaarInvoked (yes|no), investmentPre2017 (yes|no), taxBenefitCr (INR crore), assessmentYear (e.g. '2026-27'). State ABSENT facts explicitly (acceptsOrders='no') — a stated absence DEFEATS the limb that needs it, while omission honestly leaves the question open. Supply only facts actually known."
    },
    "question": {
      "type": "string",
      "description": "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."
    },
    "posture": {
      "type": "string",
      "enum": [
        "taxpayer",
        "revenue"
      ]
    },
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "summary (default) returns the agent-sized bundle (~8KB); full adds the complete condition tree and written derivation."
    }
  },
  "required": [
    "facts"
  ]
}
🟢screen_transfer_pricing(transactionType, transactionValueCr, serviceMarkupPct, alrPercentile, hasInternalCup, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "transactionType": {
      "type": "string",
      "description": "e.g. 'Provision of Services', 'IP Licensing / Royalty', 'Contract Manufacturing', 'Distribution of Goods', 'Intra-group Financing'."
    },
    "transactionValueCr": {
      "type": "number",
      "description": "Transaction value in INR crore."
    },
    "serviceMarkupPct": {
      "type": "number",
      "description": "Declared cost-plus markup as a PERCENT (e.g. 12 for 12%). Drives safe harbour."
    },
    "alrPercentile": {
      "type": "number",
      "description": "Where the tested margin sits in the comparables set (percentile, 0-100)."
    },
    "hasInternalCup": {
      "type": "boolean"
    },
    "hasExternalCup": {
      "type": "boolean"
    },
    "assessmentYear": {
      "type": "string"
    },
    "question": {
      "type": "string",
      "description": "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."
    },
    "posture": {
      "type": "string",
      "enum": [
        "taxpayer",
        "revenue"
      ]
    }
  },
  "required": [
    "transactionType"
  ]
}
🟢list_compiled_corridors

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}
🟢verify_tax_research_note(text, as_of)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The analysis text to verify."
    },
    "as_of": {
      "type": "string",
      "description": "Optional YYYY-MM-DD validity date."
    }
  },
  "required": [
    "text"
  ]
}
🟢lookup_compiled_rule(query, treaty)

Answer a RULE-LEVEL question directly from compiled law: thresholds and day counts, WITHHOLDING TAX rates on royalty and fees for technical services (treaty and domestic), the 1961→2025 Income-tax Act section renumbering (s.195→s.393(2), s.115A→s.207, s.90→s.159, s.206AA→s.397(2)), tests and their elements, what a named case held. Ask in plain language — 'what is the India–US royalty WHT rate' (15%, not the widely-repeated 10%), 'what replaced section 195', 'is software payment royalty after Engineering Analysis', 'is a TRC sufficient after Tiger Global', 'what does make available mean'. 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The rule-level question, in plain language."
    },
    "treaty": {
      "type": "string",
      "description": "Optional treaty pair to scope the lookup (e.g. 'India-USA', 'India-Germany')."
    }
  },
  "required": [
    "query"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools