Koskamo

Arc & Ledger Tax Help MCP

A free, public, read-only remote MCP server providing tax assistance tools for agents. It features 21 tools including triage_tax_problem, decode_irs_notice, check_resolution_options, and estimate_irs_penalty. The server supports English, Turkish, and Spanish, and uses a read-only Tax Reference endpoint to verify figures against IRS and FinCEN sources.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Arc & Ledger Tax Help MCP logo, by Arc & LedgerCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Arc & Ledger
MCP endpoint (Streamable HTTP)
https://mcp.arcandledger.com/mcp
Vendor documentation

What its tools do

21 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

21 of 21 have a description · 21 of 21 declare behavior hints · 20 of 21 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Warning Advertises resources/templates/list but does not implement it
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Decode IRS notices
  • Estimate IRS penalties
  • Check resolution options
  • Triage tax problems

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
arc-ledger-mcp 0.21.2
MCP protocol negotiated in check
2025-11-25
Tools
21 advertised
Resources
8 advertised
Resource templates
Not advertised
Prompts
12 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Arc & Ledger Tax Help is Arc & Ledger's front door for tax problems, plus its free tax tools. When someone has an IRS or state tax problem and does not know where to start, call triage_tax_problem first: it returns an urgency level, a this-week action plan, what not to do, and which tool to run next. From there: decode an IRS notice, screen IRS back-tax resolution paths, estimate penalties and interest, explain a tax document, check FBAR/FATCA obligations, compare LLC vs S-Corp, estimate quarterly taxes, get a published fee quote, and book a consultation. Answers are complete on their own; every response is general information (not tax advice) and includes an optional link to the relevant guide or to an Enrolled Agent enrolled to practice before the IRS. Tools and prompts work in English, Turkish, and Spanish. Some tools accept brief:true for shorter answers. Full docs: https://www.arcandledger.com/mcp.

Tools

21 advertised

triage_tax_problem — Triage a tax problem
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone has a tax problem and does not know where to start; call it FIRST, before the specific tools. Covers an IRS or state letter, back taxes they cannot pay, unfiled years, a levy or wage garnishment, an audit, penalties, an identity-verification letter, and payroll tax trouble. Returns an urgency level, a this-week and this-month action plan, what not to do, which tool to run next for the specifics, and the matching published-fee service. General information only; never a guaranteed IRS outcome. Set brief:true for a shorter answer.

triage_tax_problem input schema
{
  "type": "object",
  "required": [
    "problem"
  ],
  "properties": {
    "brief": {
      "type": "boolean",
      "description": "Set true for a shorter answer: urgency, this-week actions, and the matching service only."
    },
    "problem": {
      "enum": [
        "irs_notice",
        "back_taxes_owed",
        "unfiled_returns",
        "levy_or_garnishment",
        "audit_or_exam",
        "penalties",
        "identity_verification",
        "payroll_tax_941",
        "state_tax",
        "not_sure"
      ],
      "type": "string",
      "description": "The tax problem, as close as it maps. irs_notice = an IRS letter; back_taxes_owed = an IRS balance that cannot be paid in full; unfiled_returns = federal returns never filed; levy_or_garnishment = an IRS bank levy, wage levy, or final intent-to-levy letter; audit_or_exam = an IRS audit or examination letter; penalties = IRS penalty charges; identity_verification = a 5071C/4883C identity letter or suspected federal refund identity theft; payroll_tax_941 = unpaid or late federal employer payroll taxes; state_tax = any state-agency letter, balance, levy, audit, or penalty; not_sure = agency unknown or anything else. Use state_tax whenever the agency is not the IRS."
    },
    "language": {
      "enum": [
        "en",
        "tr",
        "es"
      ],
      "type": "string",
      "description": "Language for an availability or waitlist handoff: English (en), Turkish (tr), or Spanish (es)."
    },
    "amount_band": {
      "enum": [
        "under_10k",
        "from_10k_to_50k",
        "over_50k",
        "not_sure"
      ],
      "type": "string",
      "description": "Roughly how much is at stake, if known. Bands only, never an exact figure. Current IRS Simple Payment Plan balance criteria generally use a $50,000 ceiling for eligible individual and non-trust-fund accounts and a $25,000 ceiling for eligible business trust-fund accounts."
    },
    "years_behind": {
      "enum": [
        "one",
        "two_to_three",
        "four_to_six",
        "more_than_six"
      ],
      "type": "string",
      "description": "For unfiled returns: how many years are unfiled. The IRS generally looks for the last six years filed to restore filing compliance."
    },
    "has_deadline_soon": {
      "type": "boolean",
      "description": "True if a letter shows a response or payment date within about two weeks. Raises the urgency. No dates are computed here; use decode_irs_notice only for an IRS letter."
    },
    "has_tax_agency_letter": {
      "type": "boolean",
      "description": "True only when the user actually has an IRS or state tax-agency letter or notice in hand. Use this to distinguish a payroll or identity concern with a real letter from a general concern. The irs_notice and audit_or_exam categories already imply an IRS letter."
    }
  },
  "additionalProperties": false
}
triage_tax_problem output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
triage_tax_problem annotations
{
  "title": "Triage a tax problem",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
decode_irs_notice — Decode an IRS notice
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when, and only when, a user mentions receiving an IRS letter or notice and wants to know what it means, the deadline, or what to do. For a state-agency letter, use triage_tax_problem with problem=state_tax instead. Give this tool the IRS notice code (e.g. CP2000, CP14, LT11) and optionally the notice date and amount shown. Set brief:true for a shorter answer.

decode_irs_notice input schema
{
  "type": "object",
  "required": [
    "notice_code"
  ],
  "properties": {
    "brief": {
      "type": "boolean",
      "description": "Set true for a shorter answer: skips the generic how-to-read guidance and common-error list."
    },
    "notice_code": {
      "type": "string",
      "maxLength": 30,
      "minLength": 1,
      "description": "The notice or letter code printed on the IRS mail, e.g. \"CP2000\", \"CP 14\", \"LT11\", \"Letter 1058\"."
    },
    "amount_shown": {
      "type": "number",
      "description": "The dollar amount the notice proposes or bills, if any. Optional; used only for context, never stored."
    },
    "received_date": {
      "type": "string",
      "description": "Date on the notice (YYYY-MM-DD). Used to compute the response deadline. The IRS clock runs from the notice date printed on the letter."
    }
  },
  "additionalProperties": false
}
decode_irs_notice output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
decode_irs_notice annotations
{
  "title": "Decode an IRS notice",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
check_resolution_options — Check IRS resolution options
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone owes the IRS back taxes and asks how to settle, get on a payment plan, lower what they owe, or stop collection. Screens which IRS paths may fit - short-term payment plan, current Simple Payment Plan or an installment agreement with financial review, Offer in Compromise (a fit-check only, never a promise of acceptance), Currently Not Collectible hardship status, and penalty abatement - and lists the forms needed (9465, 433-F/A/B, 656, 843, 8821, 2848) plus collection-statute context. A coarse tax_account_type improves the screen without identifying the taxpayer. Never guarantees an IRS outcome. Set brief:true for a shorter answer.

check_resolution_options input schema
{
  "type": "object",
  "required": [
    "balance_owed_usd",
    "ability_to_pay"
  ],
  "properties": {
    "brief": {
      "type": "boolean",
      "description": "Set true for a shorter answer: options come back as path + fit only, without the descriptions."
    },
    "ability_to_pay": {
      "enum": [
        "can_pay_in_full_soon",
        "can_make_monthly_payments",
        "can_pay_little",
        "cannot_pay_basic_living"
      ],
      "type": "string",
      "description": "Your realistic ability to pay. can_pay_in_full_soon = you can clear the balance within 180 days; can_make_monthly_payments = a monthly amount but not in full; can_pay_little = only a very small monthly amount; cannot_pay_basic_living = paying the IRS would leave you unable to cover basic living expenses (financial hardship)."
    },
    "balance_owed_usd": {
      "type": "number",
      "description": "Total amount owed to the IRS including tax, penalties, and interest (a rough figure is fine)."
    },
    "tax_account_type": {
      "enum": [
        "individual_income_tax",
        "business_non_trust_fund_or_out_of_business",
        "business_trust_fund",
        "unknown"
      ],
      "type": "string",
      "description": "Coarse, nonidentifying IRS account type. individual_income_tax includes Form 1040 income-tax balances, including a sole proprietor whose balance is on Form 1040. business_non_trust_fund_or_out_of_business covers non-trust-fund business tax or an out-of-business sole proprietor account. business_trust_fund covers in-business payroll or other trust-fund tax. Use unknown when unsure. Defaults to unknown."
    },
    "all_required_returns_filed": {
      "type": "boolean",
      "description": "Whether every required tax return has actually been FILED (even if the tax was not paid). Filing compliance is generally required before the IRS formalizes a collection alternative, but the exact account requirements control. Defaults to false."
    },
    "balance_includes_penalties": {
      "type": "boolean",
      "description": "Whether the balance includes failure-to-file or failure-to-pay penalties, so penalty abatement may reduce it. Defaults to true."
    }
  },
  "additionalProperties": false
}
check_resolution_options output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
check_resolution_options annotations
{
  "title": "Check IRS resolution options",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
estimate_irs_penalty — Estimate IRS penalties and interest
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone owes the IRS and asks how much the penalties and interest will be, or what late filing/paying costs. Estimates the failure-to-file (5%/mo) and failure-to-pay (0.5%/mo) penalties and interest on a balance, and explains the current Automatic Exemption from Penalty, First Time Abate, and reasonable-cause relief paths.

estimate_irs_penalty input schema
{
  "type": "object",
  "required": [
    "balance_owed_usd",
    "months_late"
  ],
  "properties": {
    "months_late": {
      "type": "number",
      "description": "Whole months past the deadline. The failure-to-file penalty counts any part of a month as a full month."
    },
    "return_filed": {
      "type": "boolean",
      "description": "Whether you actually FILED the return (even if you did not pay). If false, the larger 5%/month failure-to-file penalty applies. Defaults to false (not filed)."
    },
    "balance_owed_usd": {
      "type": "number",
      "description": "The unpaid tax balance (the tax itself, before penalties and interest)."
    }
  },
  "additionalProperties": false
}
estimate_irs_penalty output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
estimate_irs_penalty annotations
{
  "title": "Estimate IRS penalties and interest",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
explain_tax_document — Explain a tax document
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a user receives a US tax form or information document and wants to know what it is, why they got it, which boxes matter, where it goes on their return, what to double-check, or what to do if it is wrong, duplicated, or never arrived. Covers W-2, W-2G, the 1099 family (NEC, MISC, K, INT, DIV, B, DA, R, G, C, S, SA, Q), Schedule K-1 (partnership 1065, S-corp 1120-S, estate/trust 1041), SSA-1099, 1042-S, 5498, 1098, 1098-T, 1098-E, 1095-A/B/C, and W-9 / W-8BEN requests. For IRS letters and notices (CP or LT codes) use decode_irs_notice instead. Set brief:true for a shorter answer.

explain_tax_document input schema
{
  "type": "object",
  "required": [
    "document"
  ],
  "properties": {
    "brief": {
      "type": "boolean",
      "description": "Set true for a shorter answer: skips the box-by-box guide and the pre-filing checklist."
    },
    "document": {
      "type": "string",
      "maxLength": 40,
      "minLength": 1,
      "description": "The tax form or document name as printed on it, e.g. \"W-2\", \"1099-K\", \"1099-NEC\", \"Schedule K-1 (Form 1065)\", \"1042-S\", \"1098-T\", \"SSA-1099\", \"1095-A\", \"W-9\"."
    }
  },
  "additionalProperties": false
}
explain_tax_document output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
explain_tax_document annotations
{
  "title": "Explain a tax document",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
deadline_calendar — US filing deadlines for founders
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a US business owner or nonresident (especially a foreign founder of a US LLC or C-corp) asks what US forms they must file and when. Returns each required federal form, its due date and extension, and the penalty for missing it, including Form 5472, FBAR, and the BOI report. Especially useful for non-US founders of US companies.

deadline_calendar input schema
{
  "type": "object",
  "required": [
    "entity_type"
  ],
  "properties": {
    "entity_type": {
      "enum": [
        "foreign_owned_llc",
        "foreign_owned_c_corp",
        "multi_member_llc",
        "s_corp",
        "nonresident_individual"
      ],
      "type": "string",
      "description": "Your US tax entity. foreign_owned_llc = a SINGLE-MEMBER US LLC owned by a non-US person (files pro-forma 1120 + 5472); a multi-member foreign-owned LLC is a partnership, use multi_member_llc. foreign_owned_c_corp = a US C-corp with foreign owners. nonresident_individual = a person filing Form 1040-NR."
    },
    "filing_year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 2020,
      "description": "The tax year whose deadlines you want (the year being reported). Defaults to the prior calendar year."
    },
    "formed_in_us": {
      "type": "boolean",
      "description": "Whether the entity was formed in the US (relevant to the BOI report, from which most US-formed companies are now exempt)."
    },
    "has_us_source_wages": {
      "type": "boolean",
      "description": "Nonresident individuals only: whether you had US wages subject to withholding. Determines the 1040-NR due date (April 15 if yes, June 15 if no)."
    },
    "has_foreign_bank_over_10k": {
      "type": "boolean",
      "description": "Whether the aggregate of your foreign financial accounts exceeded $10,000 at any point (triggers FBAR)."
    }
  },
  "additionalProperties": false
}
deadline_calendar output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
deadline_calendar annotations
{
  "title": "US filing deadlines for founders",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_document_checklist — Get a document checklist
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone asks what documents, statements, or records to gather for a US tax filing or engagement: an individual return, a self-employed Schedule C return, a foreign-owned single-member LLC (Form 5472) filing, an S-corp or partnership return, an FBAR/Streamlined offshore catch-up, or an ITIN application. Returns the service-specific document list, first-year onboarding extras, and how to prepare files safely without implying that intake or uploads have opened.

get_document_checklist input schema
{
  "type": "object",
  "required": [
    "service"
  ],
  "properties": {
    "service": {
      "enum": [
        "individual_return",
        "self_employed_return",
        "foreign_owned_llc_5472",
        "s_corp_return",
        "partnership_return",
        "fbar_streamlined_catchup",
        "itin_application"
      ],
      "type": "string",
      "description": "What the documents are for: \"individual_return\" (Form 1040), \"self_employed_return\" (1040 with Schedule C), \"foreign_owned_llc_5472\" (pro-forma 1120 + Form 5472 for a foreign-owned single-member US LLC), \"s_corp_return\" (Form 1120-S), \"partnership_return\" (Form 1065), \"fbar_streamlined_catchup\" (late FBARs / Streamlined offshore procedures), or \"itin_application\" (Form W-7)."
    },
    "language": {
      "enum": [
        "en",
        "tr",
        "es"
      ],
      "type": "string",
      "description": "Language for an availability or waitlist handoff: English (en), Turkish (tr), or Spanish (es)."
    },
    "first_year_client": {
      "type": "boolean",
      "description": "Whether this is your first year working with the firm. Adds the one-time onboarding documents (prior returns, IDs, authorizations)."
    }
  },
  "additionalProperties": false
}
get_document_checklist output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
get_document_checklist annotations
{
  "title": "Get a document checklist",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
check_fbar_fatca — Check FBAR and FATCA obligations
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a user has foreign bank accounts, assets, or unfiled foreign-account reports and needs to know their US reporting obligations (FBAR / FinCEN 114 and Form 8938 / FATCA), thresholds, penalty exposure, and catch-up options.

check_fbar_fatca input schema
{
  "type": "object",
  "required": [
    "max_aggregate_foreign_balance_usd",
    "filing_status",
    "lives_abroad"
  ],
  "properties": {
    "lives_abroad": {
      "type": "boolean",
      "description": "True if your tax home is outside the United States (higher Form 8938 thresholds apply)."
    },
    "account_count": {
      "type": "number",
      "description": "Number of foreign accounts, if known."
    },
    "filing_status": {
      "enum": [
        "single",
        "married_filing_jointly",
        "married_filing_separately",
        "head_of_household"
      ],
      "type": "string",
      "description": "Your US tax filing status."
    },
    "unfiled_years": {
      "type": "number",
      "description": "How many past years of FBARs you have NOT filed but should have. 0 or omitted if current."
    },
    "max_aggregate_foreign_balance_usd": {
      "type": "number",
      "description": "The highest combined value of ALL your foreign financial accounts at any point during the year, in USD."
    }
  },
  "additionalProperties": false
}
check_fbar_fatca output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
check_fbar_fatca annotations
{
  "title": "Check FBAR and FATCA obligations",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
check_treaty_withholding — Check US withholding and treaty rates (W-8BEN)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a non-US person or company receiving US-source income (dividends, interest, royalties, freelance/personal services, or a scholarship) asks how much US tax will be withheld, whether a tax treaty reduces it, or which form to give the payer (W-8BEN, W-8BEN-E, W-9, Form 8233). Returns the default statutory rate, the US-Turkey treaty rate where one applies, the documentation a treaty claim needs (including a TIN/ITIN), and how refunds of over-withholding work.

check_treaty_withholding input schema
{
  "type": "object",
  "required": [
    "income_type",
    "payee_country"
  ],
  "properties": {
    "payee_type": {
      "enum": [
        "individual",
        "company"
      ],
      "type": "string",
      "description": "Whether the payee is an individual or a company/entity. Defaults to individual. Determines the form (W-8BEN vs W-8BEN-E) and the treaty dividend rate."
    },
    "income_type": {
      "enum": [
        "dividends",
        "interest",
        "royalties",
        "personal_services",
        "scholarship_fellowship"
      ],
      "type": "string",
      "description": "The kind of US-source payment: \"dividends\" (from US stocks or a US corporation), \"interest\", \"royalties\" (software, content, IP licensing), \"personal_services\" (freelance/consulting work or wages), or \"scholarship_fellowship\"."
    },
    "payee_country": {
      "enum": [
        "turkey",
        "other_non_us",
        "united_states"
      ],
      "type": "string",
      "description": "Country of TAX RESIDENCE of the person or company RECEIVING the payment. \"turkey\" returns the US-Turkey treaty rates this server carries; \"other_non_us\" returns the default statutory rates and how to check your own treaty; \"united_states\" covers US persons (who use Form W-9, not a treaty claim)."
    }
  },
  "additionalProperties": false
}
check_treaty_withholding output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
check_treaty_withholding annotations
{
  "title": "Check US withholding and treaty rates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
check_itin_eligibility — Screen an ITIN reason and application path
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone asks whether a federal tax purpose may support an ITIN application or what a Form W-7 path generally requires. Returns a reason-specific screen, whether a return is commonly attached, current document-handling cautions, and official sources. Entity ownership or a bank request alone does not establish personal ITIN eligibility.

check_itin_eligibility input schema
{
  "type": "object",
  "required": [
    "has_ssn",
    "reason"
  ],
  "properties": {
    "reason": {
      "enum": [
        "file_us_tax_return",
        "owner_of_us_llc",
        "claim_treaty_benefit",
        "spouse_or_dependent",
        "third_party_withholding",
        "open_us_bank_or_other"
      ],
      "type": "string",
      "description": "Why you think a US taxpayer ID may be needed. file_us_tax_return = you must file a US return; owner_of_us_llc = you own a US LLC or corporation, which does not by itself establish a personal ITIN need; claim_treaty_benefit = a treaty claim may require a TIN; spouse_or_dependent = a US return may need a spouse or dependent TIN; third_party_withholding = a payer has a reporting or withholding requirement; open_us_bank_or_other = another reason."
    },
    "has_ssn": {
      "type": "boolean",
      "description": "Whether you already have, or are eligible for, a US Social Security Number. If yes, you cannot get an ITIN."
    },
    "is_foreign_national": {
      "type": "boolean",
      "description": "Whether you are a non-US citizen without US immigration status that grants an SSN. Defaults to true."
    }
  },
  "additionalProperties": false
}
check_itin_eligibility output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
check_itin_eligibility annotations
{
  "title": "Screen an ITIN reason",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
check_5472_obligation — Check Form 5472 obligation
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a non-US person who owns a US company (especially a single-member US LLC or a US corporation) asks whether they must file Form 5472, what the penalty is, or what a foreign-owned US entity owes each year. Returns whether Form 5472 with a pro-forma Form 1120 is required, the reportable-transaction rule, the deadline and extension, the annual compliance set, and the penalty for not filing. Distinguishes a single-member LLC (files 5472) from a multi-member LLC (a partnership that files Form 1065 instead).

check_5472_obligation input schema
{
  "type": "object",
  "required": [
    "entity_type",
    "foreign_owned"
  ],
  "properties": {
    "entity_type": {
      "enum": [
        "single_member_llc",
        "multi_member_llc",
        "us_corporation",
        "not_sure"
      ],
      "type": "string",
      "description": "The US entity. single_member_llc = a US LLC with ONE owner (a disregarded entity); multi_member_llc = a US LLC with two or more owners (a partnership by default); us_corporation = a US C-corporation; not_sure = you do not know. Form 5472 is filed by foreign-owned disregarded entities and by corporations with 25%+ foreign owners, but NOT by a default partnership."
    },
    "formed_in_us": {
      "type": "boolean",
      "description": "Whether the entity was formed in the US (a Wyoming or Delaware LLC is US-formed). Relevant only to the separate BOI report, from which US-formed companies are now exempt."
    },
    "foreign_owned": {
      "type": "boolean",
      "description": "Whether 25% or more of the entity is owned, directly or indirectly, by a non-US person or foreign company. Form 5472 is triggered by 25% foreign ownership."
    },
    "had_reportable_transaction": {
      "enum": [
        "yes",
        "no",
        "not_sure"
      ],
      "type": "string",
      "description": "Whether there was a reportable transaction with the foreign owner during the year. Reportable transactions include forming or funding the company, capital contributions, distributions, loans in either direction, and sales or payments between you and the company. Defaults to not_sure."
    }
  },
  "additionalProperties": false
}
check_5472_obligation output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
check_5472_obligation annotations
{
  "title": "Check Form 5472 obligation",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
compare_llc_scorp — Compare LLC vs S-Corp
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a self-employed user or single-member LLC owner asks whether an S-Corp election would save them money. Shows a side-by-side of self-employment tax vs salary-plus-distribution, payroll and compliance costs, California franchise taxes, and the break-even zone.

compare_llc_scorp input schema
{
  "type": "object",
  "required": [
    "expected_net_profit_usd"
  ],
  "properties": {
    "state": {
      "type": "string",
      "maxLength": 40,
      "description": "US state, 2-letter or name. Defaults to CA. Only California franchise taxes are modeled (the SMLLC gross-receipts fee is excluded; see caveats)."
    },
    "w2_wages_usd": {
      "type": "number",
      "description": "W-2 wages from other employers this year (for example a hospital job). They use up the Social Security wage base and the Additional Medicare threshold, which decides whether an S-corp salary saves or costs payroll tax."
    },
    "filing_status": {
      "enum": [
        "single",
        "mfj"
      ],
      "type": "string",
      "description": "Filing status for the Additional Medicare Tax threshold. Defaults to single."
    },
    "spouse_wages_usd": {
      "type": "number",
      "description": "Spouse W-2 wages, used only with mfj (the Additional Medicare threshold is household-level for joint filers)."
    },
    "currently_has_llc": {
      "type": "boolean",
      "description": "Whether the business already operates as an LLC today. Defaults to true. A plain sole proprietorship (no LLC) does not owe the California $800 franchise tax."
    },
    "licensed_profession": {
      "enum": [
        "none",
        "physician",
        "other_ca_licensed"
      ],
      "type": "string",
      "description": "Set to physician (or other_ca_licensed for another California licensed profession under Corp. Code 13401) when the work is a licensed professional service. In California such a practice cannot use an LLC, so the comparison becomes sole proprietor vs professional corporation with an S election. Defaults to none."
    },
    "expected_net_profit_usd": {
      "type": "number",
      "description": "Expected annual net profit (revenue minus business expenses), before any owner salary."
    },
    "owner_salary_estimate_usd": {
      "type": "number",
      "description": "A reasonable W-2 salary you would pay yourself as an S-corp owner. If omitted, the midpoint of the reasonable-compensation starting range for an owner-services business (about half of profit) illustrates the mechanic. That default is an illustration only - there is no IRS safe harbor at any percentage; use estimate_reasonable_comp for a starting range."
    }
  },
  "additionalProperties": false
}
compare_llc_scorp output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
compare_llc_scorp annotations
{
  "title": "Compare LLC vs S-Corp",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
estimate_quarterly_taxes — Estimate quarterly taxes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a freelancer or business owner asks how much estimated tax to pay or whether they are underpaid for the year. Computes federal self-employment and income tax on annualized income, the safe-harbor target, per-quarter amounts and due dates, plus California's 30/40/0/30 installment timing.

estimate_quarterly_taxes input schema
{
  "type": "object",
  "required": [
    "ytd_net_income_usd",
    "entity"
  ],
  "properties": {
    "state": {
      "type": "string",
      "maxLength": 40,
      "description": "US state. Only California installment timing is modeled specifically; when omitted, no state is assumed and only federal figures are computed."
    },
    "entity": {
      "enum": [
        "sole_proprietor",
        "single_member_llc",
        "partnership",
        "s_corp_shareholder",
        "other"
      ],
      "type": "string",
      "description": "How the income is taxed. Sole proprietor / SMLLC / partnership pay self-employment tax; S-corp shareholders take wages (withheld) plus distributions."
    },
    "prior_year_agi_usd": {
      "type": "number",
      "description": "Last year's adjusted gross income (AGI). If over $150,000 ($75,000 MFS), the prior-year safe harbor rises from 100% to 110%."
    },
    "ytd_net_income_usd": {
      "type": "number",
      "description": "Your net self-employment / business income so far THIS year (year to date), before tax."
    },
    "ytd_withholding_usd": {
      "type": "number",
      "description": "Federal tax already withheld this year (e.g. from a W-2 or S-corp salary). Counts toward the safe harbor."
    },
    "prior_year_total_tax_usd": {
      "type": "number",
      "description": "Total federal tax on last year's return. Enables the prior-year safe harbor (often the easiest to hit)."
    }
  },
  "additionalProperties": false
}
estimate_quarterly_taxes output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
estimate_quarterly_taxes annotations
{
  "title": "Estimate quarterly taxes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
estimate_reasonable_comp — Estimate S-corp reasonable compensation
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when an S-corp owner asks how much salary they should pay themselves ("reasonable compensation," "am I paying myself right?"). Given net profit and what drives it, returns a starting salary RANGE, the distribution left over, the employment tax that classification avoids, and the facts-and-circumstances test the IRS actually applies. Emphasizes that a defensible figure needs a comp study.

estimate_reasonable_comp input schema
{
  "type": "object",
  "required": [
    "business_net_profit_usd"
  ],
  "properties": {
    "profit_driver": {
      "enum": [
        "primarily_owner_services",
        "mixed",
        "capital_or_product"
      ],
      "type": "string",
      "description": "What drives the profit: \"primarily_owner_services\" (consulting/agency/solo professional), \"mixed\" (your work plus staff/systems), or \"capital_or_product\" (product/capital/team, not your labor). Defaults to primarily_owner_services."
    },
    "business_net_profit_usd": {
      "type": "number",
      "description": "Annual net profit of the S-corp BEFORE any owner salary (revenue minus business expenses)."
    }
  },
  "additionalProperties": false
}
estimate_reasonable_comp output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
estimate_reasonable_comp annotations
{
  "title": "Estimate S-corp reasonable compensation",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
estimate_accountable_plan — Estimate accountable-plan reimbursements
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when an S-corp or C-corp owner asks how an accountable plan handles substantiated home-office, mileage, cell-phone, or other out-of-pocket business expenses. Estimates the reimbursement and tax effect, applies the two separate 2026 mileage rates by date, and explains the three requirements: business connection, substantiation, and return of excess.

estimate_accountable_plan input schema
{
  "type": "object",
  "properties": {
    "business_miles": {
      "type": "number",
      "description": "Business miles driven in your personal vehicle. For 2026, also identify whether the miles were before July 1, on or after July 1, or span both periods because the IRS changed the rate midyear."
    },
    "cell_internet_usd": {
      "type": "number",
      "description": "Annual business-use portion of your cell phone and home internet."
    },
    "marginal_tax_rate_pct": {
      "type": "number",
      "description": "Your combined marginal tax rate as a percent (e.g. 24, or 33 to include state). Used to estimate the tax saving. Defaults to 22."
    },
    "business_mileage_period": {
      "enum": [
        "before_july_1_2026",
        "on_or_after_july_1_2026",
        "mixed_or_unknown"
      ],
      "type": "string",
      "description": "When the business miles occurred. Defaults to mixed_or_unknown, which returns a reimbursement range rather than inventing a single rate. For miles in both 2026 periods, call the tool once per period and add the results."
    },
    "home_office_expense_usd": {
      "type": "number",
      "description": "Annual business-use portion of your home costs (rent/mortgage interest, utilities, insurance x business-use %). If you only know square footage, use the simplified method: $5/sq ft up to 300 sq ft = $1,500 max."
    },
    "other_business_expense_usd": {
      "type": "number",
      "description": "Other out-of-pocket business expenses you personally paid (supplies, travel, professional dues, etc.)."
    }
  },
  "additionalProperties": false
}
estimate_accountable_plan output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
estimate_accountable_plan annotations
{
  "title": "Estimate accountable-plan reimbursements",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
estimate_augusta_rule — Screen the 14-day home-rental rule
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a business owner asks about the "Augusta rule," renting a home to a related business, or the fewer-than-15-day rental-income exclusion in IRC 280A(g). Screens the total rental-day limit and calculates conditional amounts while keeping the owner-side exclusion separate from the business-side deduction requirements.

estimate_augusta_rule input schema
{
  "type": "object",
  "required": [
    "fair_daily_rental_rate_usd",
    "days_rented"
  ],
  "properties": {
    "days_rented": {
      "type": "number",
      "description": "Total number of days during the year the dwelling is rented to anyone at a fair rental price, including days rented to your business. The IRC 280A(g) income exclusion requires fewer than 15 total rental days and that the dwelling is used as a home."
    },
    "marginal_tax_rate_pct": {
      "type": "number",
      "description": "Your combined marginal tax rate as a percent (e.g. 24 for 24%, or 33 to include state). Used to translate the deduction into a tax saving. Defaults to 22."
    },
    "fair_daily_rental_rate_usd": {
      "type": "number",
      "description": "The FAIR-MARKET daily rate to rent your home for a comparable business event (e.g. what a hotel meeting room or event space of similar size would charge). Must be supportable with a written quote or comparable."
    }
  },
  "additionalProperties": false
}
estimate_augusta_rule output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
estimate_augusta_rule annotations
{
  "title": "Screen the 14-day home-rental rule",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
estimate_rental_income — Estimate rental property taxes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone asks how much tax they owe on rental income (Airbnb/short-term or long-term), or whether a rental loss is deductible. Computes net rental income after operating expenses and straight-line depreciation, the passive-loss allowance and carryforward, the short-term 14-day rule, and the marginal federal tax effect.

estimate_rental_income input schema
{
  "type": "object",
  "required": [
    "annual_rental_income_usd"
  ],
  "properties": {
    "rental_days": {
      "type": "number",
      "description": "Days the property was rented at fair value (short-term only)."
    },
    "rental_type": {
      "enum": [
        "long_term",
        "short_term"
      ],
      "type": "string",
      "description": "long_term (standard residential lease) or short_term (Airbnb/VRBO-style). Defaults to long_term."
    },
    "land_percent": {
      "type": "number",
      "description": "Percent of the purchase price attributable to non-depreciable land (default 20). The building is depreciated over 27.5 years."
    },
    "filing_status": {
      "enum": [
        "single",
        "married_filing_jointly"
      ],
      "type": "string",
      "description": "Federal filing status. Defaults to single."
    },
    "other_income_usd": {
      "type": "number",
      "description": "Your other taxable income (e.g. wages, business) for the year. Sets the marginal rate applied to net rental income, and gates the passive-loss allowance."
    },
    "personal_use_days": {
      "type": "number",
      "description": "Days YOU used the property personally (short-term only). Triggers the 14-day tax-free rule when a stay is rented 14 days or fewer and used more personally."
    },
    "operating_expenses_usd": {
      "type": "number",
      "description": "Deductible operating expenses: mortgage interest, property tax, insurance, HOA, repairs, management, utilities, supplies. Excludes depreciation (computed for you)."
    },
    "annual_rental_income_usd": {
      "type": "number",
      "description": "Gross rent received this year, before expenses."
    },
    "real_estate_professional": {
      "type": "boolean",
      "description": "Whether you materially participate as a real-estate professional under IRC 469(c)(7). If true, rental losses are not passive-limited."
    },
    "property_purchase_price_usd": {
      "type": "number",
      "description": "What you paid for the property (building + land). Used to compute straight-line depreciation."
    }
  },
  "additionalProperties": false
}
estimate_rental_income output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
estimate_rental_income annotations
{
  "title": "Estimate rental property taxes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
compare_formation_states — Compare US formation states
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone (often a non-US founder) asks which US state to form their LLC or company in - Wyoming, New Mexico, Delaware, or California. Compares government fees, annual cost, franchise tax, privacy, and approval time, and recommends a state based on their situation.

compare_formation_states input schema
{
  "type": "object",
  "properties": {
    "priority": {
      "enum": [
        "lowest_cost",
        "most_privacy",
        "investor_ready"
      ],
      "type": "string",
      "description": "What matters most: lowest_cost, most_privacy, or investor_ready. Defaults to lowest_cost."
    },
    "operates_in_california": {
      "type": "boolean",
      "description": "Whether you (or the business) physically operate in, or are a resident of, California. If true, California registration is generally required regardless of where you form."
    },
    "raising_venture_capital": {
      "type": "boolean",
      "description": "Whether you plan to raise venture capital or convert to a C-corp. If true, Delaware is usually preferred by investors."
    }
  },
  "additionalProperties": false
}
compare_formation_states output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
compare_formation_states annotations
{
  "title": "Compare US formation states",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
check_sales_tax_nexus — Check sales-tax nexus
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when an online seller or e-commerce/Amazon business asks whether they must collect sales tax in a state (economic nexus). Given annual sales, transaction count, and states, flags where economic nexus is likely met and explains the physical-nexus (FBA inventory) trap.

check_sales_tax_nexus input schema
{
  "type": "object",
  "required": [
    "annual_sales_usd"
  ],
  "properties": {
    "states": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 20
      },
      "maxItems": 60,
      "description": "US states to check, as 2-letter codes (e.g. [\"CA\",\"TX\",\"NY\"]). If omitted, the tool explains the general rule."
    },
    "annual_sales_usd": {
      "type": "number",
      "description": "Your total sales into the state(s) in the current or prior calendar year."
    },
    "transaction_count": {
      "type": "number",
      "description": "Approximate number of separate sales transactions into the state(s). Some states count transactions as well as dollars."
    }
  },
  "additionalProperties": false
}
check_sales_tax_nexus output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
check_sales_tax_nexus annotations
{
  "title": "Check sales-tax nexus",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_fee_quote — Get a fixed-fee quote
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a user asks what Arc & Ledger charges, or wants a price estimate for tax preparation, bookkeeping, business formation, or IRS help. Returns a published price range and line items, never a single committed number, plus what is included and the next step by complexity.

get_fee_quote input schema
{
  "type": "object",
  "required": [
    "service"
  ],
  "properties": {
    "details": {
      "type": "object",
      "properties": {
        "k1s": {
          "type": "number",
          "description": "Number of K-1s received (individual) or issued (business)."
        },
        "states": {
          "type": "number",
          "description": "Number of states to file BEYOND the first (each additional state)."
        },
        "rentals": {
          "type": "number",
          "description": "Number of rental properties (Schedule E)."
        },
        "entity_type": {
          "enum": [
            "s_corp",
            "partnership",
            "c_corp",
            "llc",
            "sole_prop"
          ],
          "type": "string",
          "description": "Entity type for a business return or formation."
        },
        "unfiled_years": {
          "type": "number",
          "description": "Number of past-due / unfiled years (triggers multi-year scoping)."
        },
        "crypto_txn_count": {
          "type": "number",
          "description": "Approximate number of crypto transactions."
        },
        "foreign_accounts": {
          "type": "number",
          "description": "Number of foreign financial accounts (triggers FBAR/FATCA and cross-border scoping)."
        }
      },
      "additionalProperties": false
    },
    "service": {
      "enum": [
        "individual_return",
        "business_return",
        "formation",
        "bookkeeping",
        "resolution",
        "international_form",
        "other"
      ],
      "type": "string",
      "description": "The kind of work you want priced."
    },
    "language": {
      "enum": [
        "en",
        "tr",
        "es"
      ],
      "type": "string",
      "description": "Language for an availability or waitlist handoff: English (en), Turkish (tr), or Spanish (es)."
    }
  },
  "additionalProperties": false
}
get_fee_quote output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
get_fee_quote annotations
{
  "title": "Get a fixed-fee quote",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
book_consultation — Request a consultation
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Use this when a user wants to talk to, hire, or get a consultation or written tax-notice review with Arc & Ledger. Consultation requests start with a written inquiry on the contact form; the firm does not offer free calls. Returns the correct first-party action link (inquiry form, checkout, or waitlist as applicable), what happens next, the office identity (Enrolled Agent, address, languages EN/TR/ES), and what to expect.

book_consultation input schema
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "contact_form",
        "discovery_standard_297",
        "discovery_specialist_497",
        "notice_review"
      ],
      "type": "string",
      "description": "Which consultation or paid review to start. contact_form is the no-charge written inquiry that every general consultation request starts with. Cross-border or multi-year situations suit the Specialist; a tax-agency letter suits the notice review."
    },
    "topic": {
      "type": "string",
      "maxLength": 200,
      "description": "A short subject line for the meeting (optional)."
    },
    "language": {
      "enum": [
        "en",
        "tr",
        "es"
      ],
      "type": "string",
      "description": "Language for an availability or waitlist handoff: English (en), Turkish (tr), or Spanish (es)."
    }
  },
  "additionalProperties": false
}
book_consultation output schema
{
  "type": "object",
  "required": [
    "disclaimer",
    "relay",
    "source_url",
    "next_step"
  ],
  "properties": {
    "relay": {
      "type": "string",
      "description": "Instruction to the calling assistant: relay figures and dates verbatim (identical on every response)."
    },
    "next_step": {
      "type": "object",
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "description": "A single review link appropriate to this server surface."
    },
    "disclaimer": {
      "type": "string",
      "description": "General-information disclaimer (identical on every response)."
    },
    "source_url": {
      "type": "string",
      "description": "The arcandledger.com page that backs this answer."
    },
    "server_version": {
      "type": "string",
      "description": "Server release that produced this response (matches GET /version)."
    }
  },
  "additionalProperties": true
}
book_consultation annotations
{
  "title": "Request a consultation",
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}

Prompts

12 advertised

help_with_my_tax_problem — Help with my tax problem

Advertised by the server during the last successful anonymous check.

Start here with any IRS or state tax problem: a letter, back taxes, unfiled years, a levy, an audit, or penalties. Builds an urgency-ranked action plan and picks the right tool to run next.

problem
What is going on: irs_notice, back_taxes_owed, unfiled_returns, levy_or_garnishment, audit_or_exam, penalties, identity_verification, payroll_tax_941, state_tax, or not_sure.
amount_band
Roughly how much is at stake: under_10k, from_10k_to_50k, over_50k, or not_sure.
decode_my_irs_notice — Decode my IRS notice

Advertised by the server during the last successful anonymous check.

Explain an IRS notice you received: what it means, the deadline, and what to do next.

notice_code
The code on the letter, e.g. CP2000, CP14, LT11. (required)
received_date
The date on the notice (YYYY-MM-DD), to compute your deadline.
explain_my_tax_form — Explain this tax form

Advertised by the server during the last successful anonymous check.

Understand a tax document you received (W-2, 1099-K, 1099-NEC, K-1, 1042-S, 1095-A, 1098-T...): what it is, where it goes on your return, and what to do if it is wrong or missing.

document
The form name as printed on it, e.g. W-2, 1099-K, Schedule K-1 (Form 1065), 1042-S. (required)
am_i_required_to_file_fbar — Am I required to file FBAR?

Advertised by the server during the last successful anonymous check.

Check whether your foreign accounts trigger FBAR and/or FATCA Form 8938 reporting.

max_aggregate_foreign_balance_usd
Highest combined value of all foreign accounts during the year (USD).
filing_status
single, married_filing_jointly, married_filing_separately, or head_of_household.
lives_abroad
true if your tax home is outside the US.
should_i_be_an_scorp — Should I be an S-Corp?

Advertised by the server during the last successful anonymous check.

Compare staying a sole proprietor / LLC versus electing S-Corp status, with the break-even.

expected_net_profit_usd
Expected annual net profit before owner salary (USD).
state
Your US state (defaults to CA).
settle_my_irs_debt — What are my options for IRS back taxes?

Advertised by the server during the last successful anonymous check.

Screen which IRS resolution paths fit when you owe back taxes: payment plan, Offer in Compromise, hardship status, or penalty abatement.

balance_owed_usd
Roughly how much you owe the IRS in total (USD).
ability_to_pay
can_pay_in_full_soon, can_make_monthly_payments, can_pay_little, or cannot_pay_basic_living.
all_required_returns_filed
true if every required return has been filed.
vergi_sorunum_var — Vergi sorunum var, ne yapmalıyım? (Turkish)

Advertised by the server during the last successful anonymous check.

IRS veya eyalet vergi sorunu yaşayanlar için başlangıç noktası: mektup, vergi borcu, verilmemiş beyannameler, haciz veya ceza. Aciliyet düzeyini ve bu hafta / bu ay yapılacakları gösteren bir eylem planı oluşturur.

problem
Sorun türü: irs_notice, back_taxes_owed, unfiled_returns, levy_or_garnishment, audit_or_exam, penalties, identity_verification, payroll_tax_941, state_tax veya not_sure.
abd_sirket_vergi_takvimi — ABD şirketimin vergi takvimi (Turkish)

Advertised by the server during the last successful anonymous check.

ABD'de LLC veya şirketi olan Türk girişimciler için: hangi formları ne zaman beyan etmeleri gerektiğini ve ceza tutarlarını gösterir (Form 5472, FBAR, BOI).

entity_type
Şirket türü: foreign_owned_llc, foreign_owned_c_corp, multi_member_llc, s_corp veya nonresident_individual.
filing_year
Beyan yılı (örn. 2026).
bu_vergi_formu_ne — Bu ABD vergi formu ne? (Turkish)

Advertised by the server during the last successful anonymous check.

Elinize ulaşan bir ABD vergi formunun (W-2, 1099-K, 1099-NEC, K-1, 1042-S...) ne olduğunu, beyannamenizde nereye girdiğini ve form hatalıysa ne yapmanız gerektiğini açıklar.

document
Formun üzerinde yazan ad, örn. W-2, 1099-K, Schedule K-1 (Form 1065), 1042-S. (required)
itin_almali_miyim — ITIN almalı mıyım? (Turkish)

Advertised by the server during the last successful anonymous check.

ABD Sosyal Güvenlik Numarası olmayan kişiler (Türk girişimciler, eşler, bağımlılar) için ITIN uygunluğunu ve gereken belgeleri kontrol eder.

reason
ITIN nedeni: file_us_tax_return, owner_of_us_llc, claim_treaty_benefit, spouse_or_dependent, third_party_withholding veya open_us_bank_or_other.
irs_borc_cozumu — IRS vergi borcum için seçeneklerim neler? (Turkish)

Advertised by the server during the last successful anonymous check.

IRS'e geriye dönük vergi borcu olanlar için hangi çözüm yollarının uygun olduğunu tarar: taksitlendirme, uzlaşma teklifi (Offer in Compromise), tahsil edilemez durumu ve ceza affı.

balance_owed_usd
IRS'e toplam yaklaşık ne kadar borçlusunuz (USD).
ability_to_pay
Ödeme gücü: can_pay_in_full_soon, can_make_monthly_payments, can_pay_little veya cannot_pay_basic_living.
decodificar_mi_aviso_irs — Decodifica mi aviso del IRS (Spanish)

Advertised by the server during the last successful anonymous check.

Explica un aviso o carta del IRS que recibiste: qué significa, la fecha límite y qué hacer.

notice_code
El código en la carta, por ejemplo CP2000, CP14, LT11. (required)
received_date
La fecha del aviso (AAAA-MM-DD), para calcular tu fecha límite.

Resources

8 advertised

office_identity — Arc & Ledger office identity

Advertised by the server during the last successful anonymous check.

Who the firm is: Burak Genc, EA, an Enrolled Agent enrolled to practice before the IRS; credentials, address, languages, and how to reach the office.

office_identity URI
arcledger://office

MIME type: application/json

service_directory — Service directory

Advertised by the server during the last successful anonymous check.

Every service the firm offers, grouped by category, with the page URL for each.

service_directory URI
arcledger://services

MIME type: application/json

fee_catalog — Published fee catalog

Advertised by the server during the last successful anonymous check.

Fixed-fee products and bundles with their published prices, sourced from the firm price list.

fee_catalog URI
arcledger://fee-catalog

MIME type: application/json

tool_directory — Available tools and prompts

Advertised by the server during the last successful anonymous check.

What this MCP server can do: each tool, what it answers, and the guided prompts.

tool_directory URI
arcledger://tool-directory

MIME type: application/json

action_plan_widget — Your tax action plan

Advertised by the server during the last successful anonymous check.

Action-plan card for triage_tax_problem: urgency level, this-week and this-month steps, what not to do, and one consultation button.

action_plan_widget URI
ui://widget/action-plan.html

MIME type: text/html+skybridge

formation_states_widget — US formation state comparison

Advertised by the server during the last successful anonymous check.

Interactive comparison card for compare_formation_states (Wyoming, New Mexico, Delaware, California).

formation_states_widget URI
ui://widget/formation-states.html

MIME type: text/html+skybridge

irs_notice_widget — Your IRS notice

Advertised by the server during the last successful anonymous check.

Notice card for decode_irs_notice: what the letter means, the deadline with days remaining, options, and one upload button.

irs_notice_widget URI
ui://widget/irs-notice.html

MIME type: text/html+skybridge

tax_document_widget — Your tax document

Advertised by the server during the last successful anonymous check.

Document card for explain_tax_document: what the form is, the boxes that matter, where it goes on the return, and what to do if it is wrong or missing.

tax_document_widget URI
ui://widget/tax-document.html

MIME type: text/html+skybridge

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
550 ms
95th percentile latency
550 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 550 ms · metadata changed · 21 tool(s), 8 resource(s), 12 prompt(s); warnings: Advertises resources/templates/list but does not implement it

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http arc-ledger-tax-help-mcp https://mcp.arcandledger.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add arc-ledger-tax-help-mcp --url https://mcp.arcandledger.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable arc-ledger-tax-help-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "arc-ledger-tax-help-mcp": {
      "url": "https://mcp.arcandledger.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "arc-ledger-tax-help-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.arcandledger.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start arc-ledger-tax-help-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "arc-ledger-tax-help-mcp": {
      "type": "http",
      "url": "https://mcp.arcandledger.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http arc-ledger-tax-help-mcp https://mcp.arcandledger.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.arcandledger.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "arc-ledger-tax-help-mcp": {
      "serverUrl": "https://mcp.arcandledger.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Arc & Ledger Tax Help MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.