Skip to content

Corpus Law

by corpuslaw.us · remote · no sign-in to list tools · v1.2.1 · published by us.corpuslaw

Search and cite US law from official sources, then form an LLC or nonprofit with free agent tools.

Changes · 3

10 tools: 3 change things and 7 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http corpus-legal https://corpuslaw.us/api/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "account.status" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "account.status" says "status": a word for reading.

    What this check looks for
  • The server marks "formation.payment_status" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "formation.payment_status" says "status": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Changes things 3Claude Code: ask
  • account.statusReports the credit balance, tier, rate limits, and upgrade options for the API key on this connection, or the free-tier allowance and the key URL for an anonymous caller.1 finding

    Why it is in this group

    • The name "account.status" says "status": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "account.status" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "account.status" says "status": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Reports the credit balance, tier, rate limits, and upgrade options for the API key on this connection, or the free-tier allowance and the key URL for an anonymous caller. Free — this call does not consume a credit. Also mints or returns a referral code; `referral_code` on later calls keeps the same referral identity.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • title: Check account status
  • formation.checkoutCreates the founder's formation order and a USDC (Solana) payment request — no API key, no Corpus sign-in.No findings

    Why it is in this group

    • The name "formation.checkout" says "checkout": a word for a change.
    Description, as the server wrote it
    Creates the founder's formation order and a USDC (Solana) payment request — no API key, no Corpus sign-in. Payment is USDC on Solana ONLY. The first call takes the complete draft, the founder's contactEmail, an idempotencyKey (the same order is returned on retry), and consent { version, registeredAgentAcknowledgements: true }, which records that the founder accepted the registered-agent acknowledgements. A queue-lane order first returns a submission promise, accepted with a second call { orderId, trackingToken, acceptPromise: { termDays } }. The payment response includes a payPageUrl: an ordinary https link to a Corpus page with a QR code to scan with a phone camera, a button that opens a Solana wallet, and the address and exact amount for a manual send. The founder pays the exact amount from a self-custody wallet (never an exchange withdrawal; refunds go only to the sending wallet) and must click the confirmation link Corpus emails within 48 hours, or the order is refunded. Nothing is filed before that confirmation, and then Corpus's human review, unless the founder chose to skip review on an expedited order (offered only where formation.requirements shows a SKIP REVIEW line). The tax-ID add-on is not sold here. Free; does not consume credits.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • title: Check out a formation order in USDC
  • formation.payment_statusReports the USDC payment state of an order created by formation.checkout: awaiting, paid, expired, underpaid or held, plus whether the founder has confirmed by email (required with…1 finding

    Why it is in this group

    • The name "formation.payment_status" says "status": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "formation.payment_status" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "formation.payment_status" says "status": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Reports the USDC payment state of an order created by formation.checkout: awaiting, paid, expired, underpaid or held, plus whether the founder has confirmed by email (required within 48 hours of payment). Reading the chain also records a payment that just arrived. Free; does not consume credits.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Check a formation order's USDC payment
Only reads 7Claude Code: allow
  • formation.compareCompares LLC formation providers on price, recurring costs, registered-agent renewals, and machine/agent capabilities, from a dated dataset of 19 LLC services + 1 adjacent verified…No findings

    Why it is in this group

    • The name "formation.compare" says "compare": a word for reading.
    Description, as the server wrote it
    Compares LLC formation providers on price, recurring costs, registered-agent renewals, and machine/agent capabilities, from a dated dataset of 19 LLC services + 1 adjacent verified against primary sources. Corpus is one of the compared providers and is scored with the same rubric, including its own gaps; the response says so. Free; does not consume credits.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Compare LLC formation services
  • formation.handoffValidates a formation draft (people, address, management, EIN answers, state-specific answers) and returns exactly what is still missing.No findings

    Why it is in this group

    • The description's first verb is "validate": a word for reading.
    Description, as the server wrote it
    Validates a formation draft (people, address, management, EIN answers, state-specific answers) and returns exactly what is still missing. A complete draft also returns a prefilled corpuslaw.us link that opens the formation agent with every detail loaded, where the founder reviews, signs in, and pays. Free; does not consume credits.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Validate and hand off a formation draft
  • formation.lookup_naicsReturns candidate NAICS industry codes (typically 2–6) for a plain-English business description.No findings

    Why it is in this group

    • The name "formation.lookup_naics" says "lookup": a word for reading.
    Description, as the server wrote it
    Returns candidate NAICS industry codes (typically 2–6) for a plain-English business description. A code is required for every LLC, and for nonprofits in AK, CT, LA, MS, TN, WV. Free; does not consume credits.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Find a NAICS industry code
  • formation.requirementsReturns the intake checklist for forming an LLC or nonprofit in one state: every required field, that state's specific questions, live all-in pricing, and the optional EIN add-on w…No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Returns the intake checklist for forming an LLC or nonprofit in one state: every required field, that state's specific questions, live all-in pricing, and the optional EIN add-on with its price when available. Free; does not consume credits.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Get formation requirements
  • law.get_nodeReturns the full official text, citation, and hierarchy of one legal provision, by its node id (the UUID in search results).No findings

    Why it is in this group

    • The name "law.get_node" says "get": a word for reading.
    Description, as the server wrote it
    Returns the full official text, citation, and hierarchy of one legal provision, by its node id (the UUID in search results).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Get a law provision
  • law.list_coverageLists the covered jurisdictions (federal, state, and municipal) with per-jurisdiction provision counts, searchable-chunk counts, GIS status, and a placeholder flag.No findings

    Why it is in this group

    • The name "law.list_coverage" says "list": a word for reading.
    Description, as the server wrote it
    Lists the covered jurisdictions (federal, state, and municipal) with per-jurisdiction provision counts, searchable-chunk counts, GIS status, and a placeholder flag.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: List covered jurisdictions
  • law.searchSearches US federal, state, and municipal law by topic or keyword (legality, permits, zoning, licensing, compliance, filing requirements).No findings

    Why it is in this group

    • The name "law.search" says "search": a word for reading.
    Description, as the server wrote it
    Searches US federal, state, and municipal law by topic or keyword (legality, permits, zoning, licensing, compliance, filing requirements). Returns ranked provisions with verbatim citations, headings, snippets, and node ids. `jurisdiction` limits results to one state, federal law, or a city.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Search US law

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.2.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http corpus-legal https://corpuslaw.us/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__corpus-legal__law_search",
      "mcp__corpus-legal__law_get_node",
      "mcp__corpus-legal__law_list_coverage",
      "mcp__corpus-legal__formation_requirements",
      "mcp__corpus-legal__formation_compare",
      "mcp__corpus-legal__formation_lookup_naics",
      "mcp__corpus-legal__formation_handoff"
    ],
    "ask": [
      "mcp__corpus-legal__account_status",
      "mcp__corpus-legal__formation_checkout",
      "mcp__corpus-legal__formation_payment_status"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as corpus-legal. Review it before you use it.