{
  "markdown": "# Arc & Ledger Tax Help MCP server\n\nA public remote Model Context Protocol server for general US tax information,\nscreening tools, estimates, and firm-specific service tools. It runs as a\nstateless Cloudflare Worker and requires no Arc & Ledger account or\nauthentication.\n\nThe project exposes two surfaces:\n\n| Edition | Endpoint | Scope |\n|---|---|---|\n| Complete server | `https://mcp.arcandledger.com/mcp` | 21 tools, 12 prompts, 4 read-only resources, and 4 optional ChatGPT cards. Some results include first-party firm or service links. |\n| Directory edition | `https://mcp.arcandledger.com/directory/mcp` | 13 reviewed educational tools. No prompts, resources, cards, firm pricing, service matching, booking, payment, upload, purchase, or promotional handoff. |\n\n- Complete docs: https://www.arcandledger.com/mcp/\n- Directory docs: https://www.arcandledger.com/mcp/directory/\n- MCP privacy policy: https://www.arcandledger.com/mcp/privacy/\n- Support: https://www.arcandledger.com/mcp/support/\n\nEvery result is general information, not tax advice, and creates no\npractitioner-client relationship. The tools do not file, transmit, sign,\ncertify, authorize payment, or access a taxpayer account.\n\n## Connect\n\nNo API key, OAuth flow, or Arc & Ledger account is required. For the reviewed\neducational surface, use:\n\n```text\nhttps://mcp.arcandledger.com/directory/mcp\n```\n\nFor local Claude Code testing:\n\n```bash\nclaude mcp add --transport http arc-ledger-tax-reference https://mcp.arcandledger.com/directory/mcp\n```\n\nThe complete endpoint remains available to users who intentionally want the\nfirm-specific public tools documented on the main MCP page.\n\n## Directory tool set\n\nThe directory edition is the surface proposed for the OpenAI Plugins Directory\nand Anthropic Software Directory.\n\n| Tool | General purpose |\n|---|---|\n| `decode_irs_notice` | Explain a supported IRS notice code and usual response path. |\n| `check_resolution_options` | Screen general IRS payment and collection alternatives. |\n| `estimate_irs_penalty` | Estimate selected federal late-filing, late-payment, and underpayment amounts. |\n| `explain_tax_document` | Explain the purpose and common fields of a named US tax document. |\n| `deadline_calendar` | Return common federal filing and payment dates. |\n| `check_fbar_fatca` | Screen general FBAR and Form 8938 thresholds. |\n| `check_treaty_withholding` | Explain general withholding rules and supported US-Turkey treaty rates. |\n| `check_itin_eligibility` | Screen general ITIN reason categories without treating entity ownership as automatic eligibility. |\n| `check_5472_obligation` | Screen common Form 5472 triggers. |\n| `estimate_quarterly_taxes` | Estimate federal quarterly payments and show assumptions. |\n| `estimate_accountable_plan` | Estimate potentially reimbursable expenses, including split 2026 mileage rates. |\n| `estimate_augusta_rule` | Screen the fewer-than-15-days home-rental rule and calculate conditional amounts. |\n| `estimate_rental_income` | Estimate a basic rental-income result and modeled limitations. |\n\nEach directory result:\n\n- cites an official IRS or FinCEN page;\n- includes a shared general-information limitation;\n- tells the calling model to preserve exact returned figures and dates;\n- contains no Arc & Ledger service, contact, booking, payment, or upload link.\n\nThe directory edition intentionally excludes firm quotations, consultations,\ndocument collection, service matching, formation-state comparisons, sales-tax\nnexus screens, and reasonable-compensation ranges. Those tools either have a\ncommercial purpose, rely on changing state data, or need more professional\njudgment than a short deterministic screen should imply.\n\n## Privacy and safety\n\n- Tool inputs are processed in memory to answer the request.\n- The Worker writes no tool-call inputs, outputs, tool names, or per-call\n  analytics to application logs.\n- Cloudflare Worker observability is disabled.\n- The server uses the request's network address temporarily as a rate-limit\n  key. It is not written to application storage or paired with the tool body.\n- There is no MCP request database, user history, tax-return store, or document\n  upload surface.\n- Users are instructed not to send SSNs, ITINs, EINs, tax account numbers,\n  bank details, passwords, or documents.\n- All tools carry `readOnlyHint: true`, `destructiveHint: false`, and an\n  explicit `openWorldHint`.\n\nCloudflare still processes ordinary request metadata as the infrastructure\nprovider. The public privacy policy describes that boundary.\n\n## Claude plugin\n\n`plugin/` is a Claude plugin bundle that points to the directory endpoint and\nadds two procedural Skills:\n\n- `respond-to-your-irs-notice`\n- `resolve-back-taxes`\n\nThe Skills use only tools available on the directory edition. They lead with\ndeadlines and filing-compliance gates, label estimates, retain official source\nlinks, request no sensitive identifiers or documents, and do not promote or\nsell a firm service.\n\nThe repository marketplace manifest lives at\n`.claude-plugin/marketplace.json`.\n\n```text\n/plugin marketplace add Bgenc48/arc-ledger-mcp\n/plugin install arc-ledger-irs@arc-ledger\n```\n\n## Architecture\n\n- Stateless Streamable HTTP JSON-RPC handler, with no sessions or Durable\n  Objects.\n- Official `@modelcontextprotocol/sdk` protocol types and `zod` input schemas.\n- Two registries: the complete server in `src/registry.ts` and the restricted\n  directory surface in `src/directory.ts`.\n- A 65,536-byte request-body cap, JSON content-type enforcement, batch limits,\n  CORS handling, and per-network-address rate limiting.\n- Per-tool kill switch through `DISABLED_TOOLS`.\n- Version, tax-year, and active-tool counts exposed by `GET /version`.\n- Apps SDK widgets are bound only on the complete server. The directory\n  edition exposes standard MCP results with no UI resource.\n\n## Routes\n\n| Route | Purpose |\n|---|---|\n| `POST /mcp` | Complete MCP surface. |\n| `POST /directory/mcp` | Restricted directory MCP surface. |\n| `GET /healthz` | Liveness. |\n| `GET /version` | Version, tax year, tool counts, and directory endpoint. |\n| `GET /.well-known/mcp-registry-auth` | MCP Registry domain proof. |\n| `GET /.well-known/openai-apps-challenge` | Exact OpenAI domain challenge when configured. |\n\n## Commands\n\n```bash\nnpm ci\nnpm run typecheck\nnpm test\nnpm run dev\nnpm run bundle-check\nnpm run gen:products\nnode scripts/gen-examples.mjs\n```\n\n`npm run bundle-check` runs a Cloudflare Worker dry deployment. The bundled\n`workerd` binary does not support every local Windows ARM64 environment, so\nthe hosted CI result is the release gate when that platform limitation occurs.\n\n## Layout\n\n```text\nsrc/\n  index.ts            Worker routes, request limits, and registry selection\n  registry.ts         Complete 21-tool and 12-prompt registry\n  directory.ts        Restricted 13-tool directory registry and output scrubber\n  pricing.ts          Adapter over the published pricing data source\n  rates.ts            Adapter over reviewed tax-year constants\n  resources.ts        Complete-server read-only resources\n  lib/                MCP, response, rate-limit, tax, date, and schema helpers\n  tools/              One module per tool\n  ui/                 Complete-server Apps SDK widgets\nplugin/               Claude plugin bundle\ntest/                 Protocol, HTTP, tax, directory, privacy, and governance tests\n```\n\n## License\n\nSource-available for transparency and directory review. All rights reserved;\nsee `LICENSE`.\n",
  "bytes": 7483,
  "sha": "13529297220bc02e6597908e2947a3a119e1e1302c3c8401ee912ccc4c3cf717",
  "repo_slug": "bgenc48/arc-ledger-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_bgenc48_arc_ledger_tax_tools_f21714dc/readme"
}