lr-labs
Deterministic cross-border tax engine: PE, GAAR, Indian TP, rule-level lookup. Compiled law, no LLM.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"lr-labs": {
"url": "https://lrlabs.ai/mcp"
}
}
}リモートエンドポイント
https://lrlabs.ai/mcpstreamable-httpできること
ツール一覧
ツール(5)
🟢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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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"
]
}コミュニティ
エビデンス