Skip to main content
Glama

Validate and hand off an LLC or nonprofit formation draft

formation.handoff
Read-onlyIdempotent

Validates an LLC or nonprofit 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.

Input Schema

NameRequiredDescriptionDefault
einNoOptional EIN (federal tax ID) add-on, when available — formation.requirements states whether it can currently be sold and at what price. `wanted` records the founder's decision. No Social Security Number is accepted here: the founder enters it in a secure panel on corpuslaw.us.
stateYesTwo-letter US state code, e.g. 'MS', 'WY', 'DE'.
partiesNoThe people. LLC: at least one 'member' and an 'organizer' (one person holding both roles appears as two entries). Nonprofit: an 'incorporator' and at least 3 'director' entries (plus officers where the state requires them).
expediteNoOptional expedited state filing, available only in states where formation.requirements lists an EXPEDITE line (the price and listed days are in that line). true records that the founder chose it.
naicsCodeNoNAICS industry code, 2–6 digits (formation.lookup_naics returns candidates).
nonprofitNoNonprofit-only fields.
entityTypeYesEntity type to form.
managementNoLLC management type.
contactEmailNoFounder contact email.
proposedNameNoProposed company name.
referral_codeNoA referral code issued by account.status. With a valid code the founder saves 25% of the Corpus service fee and the order is credited to the code; an absent or unrecognised code changes nothing about the link.
principalOfficeNoPrincipal office address. Street, city and state are required for a complete draft. In Wyoming and Delaware, an office outside the US needs street, city and country instead; state is then the province or region, if it has one. Maryland and New York need an office in that state.
businessActivityNoIn one plain sentence, what the business actually does, in the founder's words (not the company name). Corpus researches the licenses and permits that apply from this.
expediteSkipReviewNoOptional, with expedite: true, where formation.requirements shows a SKIP REVIEW line. true records that the founder heard that SKIP REVIEW sentence verbatim and explicitly agreed. It takes effect only on an order an agent pays for directly, where the founder's email confirmation page shows the choice again before anything is filed. A handoff link ignores it: on the page the founder ticks it themselves.
stateSpecificAnswersNoPer-state quirk answers under the EXACT keys shown by formation.requirements (e.g. "would_you_like_to_list_members_managers_on_the_state_record"). Values are strings or booleans.

Output Schema

NameRequiredDescriptionDefault
textYesHuman-readable tool result (also mirrored in content[].text).
isErrorNoTrue when the tool could not complete successfully.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / principalOffice / description
      Previous value: -"Principal office address (street, city, state required for a complete draft)."New value: +"Principal office address. Street, city and state are required for a complete draft. In Wyoming and Delaware, an office outside the US needs street, city and country instead; state is then the province or region, if it has one. Maryland and New York need an office in that state."
    • addedInput schema / properties / principalOffice / properties / country
      Added value: +{
      +  "description": "Two-letter country code, e.g. 'CN'. Absent means a US address.",
      +  "type": "string"
      +}
  2. Changed6 schema fields changed
    • changedInput schema / properties / ein / description
      Previous value: -"Optional EIN (federal tax ID) add-on, when available — formation.requirements says whether it can currently be sold and at what price. Never quote a remembered EIN price; use the one that call returns. Set wanted=true/false once the user decides. NEVER include a Social Security Number anywhere — the founder types it into a secure panel on corpuslaw.us, never in chat."New value: +"Optional EIN (federal tax ID) add-on, when available — formation.requirements states whether it can currently be sold and at what price. `wanted` records the founder's decision. No Social Security Number is accepted here: the founder enters it in a secure panel on corpuslaw.us."
    • changedInput schema / properties / expedite / description
      Previous value: -"Optional expedited state filing — ONLY in states where formation.requirements lists an EXPEDITE line (its price and listed days come from that call; never quote one from memory). Set true only when the founder chose it."New value: +"Optional expedited state filing, available only in states where formation.requirements lists an EXPEDITE line (the price and listed days are in that line). true records that the founder chose it."
    • changedInput schema / properties / expediteSkipReview / description
      Previous value: -"Optional, with expedite: true only, and ONLY where formation.requirements says skipping review is available. True only after the founder, having heard the SKIP REVIEW sentence from formation.requirements read to them verbatim, explicitly agrees. It takes effect only on an order an agent pays for directly, where the founder's email confirmation page shows the choice again before anything is filed. A handoff link ignores it: on the page the founder ticks it themselves."New value: +"Optional, with expedite: true, where formation.requirements shows a SKIP REVIEW line. true records that the founder heard that SKIP REVIEW sentence verbatim and explicitly agreed. It takes effect only on an order an agent pays for directly, where the founder's email confirmation page shows the choice again before anything is filed. A handoff link ignores it: on the page the founder ticks it themselves."
    • changedInput schema / properties / naicsCode / description
      Previous value: -"NAICS industry code, 2–6 digits (use formation.lookup_naics to find it)."New value: +"NAICS industry code, 2–6 digits (formation.lookup_naics returns candidates)."
    • changedInput schema / properties / parties / description
      Previous value: -"The people. LLC: at least one 'member' and an 'organizer' (same person may hold both roles — pass two entries). Nonprofit: an 'incorporator' and at least 3 'director' entries (plus officers where the state requires them)."New value: +"The people. LLC: at least one 'member' and an 'organizer' (one person holding both roles appears as two entries). Nonprofit: an 'incorporator' and at least 3 'director' entries (plus officers where the state requires them)."
    • changedInput schema / properties / referral_code / description
      Previous value: -"Your referral code from account.status, if you have one. The founder saves 25% of the Corpus service fee and the order is credited to your code. Omit it if you do not have one — an absent or unrecognised code changes nothing about the link."New value: +"A referral code issued by account.status. With a valid code the founder saves 25% of the Corpus service fee and the order is credited to the code; an absent or unrecognised code changes nothing about the link."
  3. Changed2 schema fields changed
    • addedInput schema / properties / expedite
      Added value: +{
      +  "description": "Optional expedited state filing — ONLY in states where formation.requirements lists an EXPEDITE line (its price and listed days come from that call; never quote one from memory). Set true only when the founder chose it.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / expediteSkipReview
      Added value: +{
      +  "description": "Optional, with expedite: true only, and ONLY where formation.requirements says skipping review is available. True only after the founder, having heard the SKIP REVIEW sentence from formation.requirements read to them verbatim, explicitly agrees. It takes effect only on an order an agent pays for directly, where the founder's email confirmation page shows the choice again before anything is filed. A handoff link ignores it: on the page the founder ticks it themselves.",
      +  "type": "boolean"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / businessActivity
      Added value: +{
      +  "description": "In one plain sentence, what the business actually does, in the founder's words (not the company name). Corpus researches the licenses and permits that apply from this.",
      +  "maxLength": 500,
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / ein / description
      Previous value: -"Optional $75 EIN (federal tax ID) add-on, when available — formation.requirements says whether it can currently be sold. Set wanted=true/false once the user decides. NEVER include a Social Security Number anywhere — the founder types it into a secure panel on corpuslaw.us, never in chat."New value: +"Optional EIN (federal tax ID) add-on, when available — formation.requirements says whether it can currently be sold and at what price. Never quote a remembered EIN price; use the one that call returns. Set wanted=true/false once the user decides. NEVER include a Social Security Number anywhere — the founder types it into a secure panel on corpuslaw.us, never in chat."
  6. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds useful context beyond them: it returns exactly what is missing, returns a prefilled external link for review/sign/pay when complete, and consumes no credits. It does not discuss auth or rate limits, but it is strong given the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three focused sentences, front-loaded with the action and outcome. The free/no-credit detail is useful and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers validation output and handoff behavior for a complex 15-parameter tool, while the output schema and annotations fill in return-shape and safety details. Missing explicit sequencing or prerequisite guidance, such as consulting formation.requirements first, but that is not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all 15 parameters, including nested objects and references to formation.requirements. The description only groups input categories such as people, address, management, EIN answers, and state-specific answers without adding formats or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (validates) and resource (LLC or nonprofit formation draft) plus the handoff outcome. It does not explicitly differentiate itself from siblings such as formation.checkout or formation.status, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly implies use when preparing a formation draft and wanting validation, missing-field feedback, and a prefilled handoff link; it also notes that the call is free and does not consume credits. It lacks explicit when-not or alternative-tool guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources