← WebMCP Directory

Tool tree

corpuslaw.us

Productivity & BusinessTools verified
Website
Corpus forms your company in all 50 states + DC, then helps you find the state and local rules that apply where Corpus has verified coverage — in plain English, with a citation to the law behind…
Explore capabilities
    formation.apply_draftAction

    WRITE: form a company with the user on this Corpus page. Applies a formation draft to the live /formation intake so they can see it, review, sign in, and pay. Does NOT charge a card, does NOT create a payment, does NOT file with the state. Call formation.requirements first, collect answers in conversation, use formation.lookup_naics for the industry code, then call this with everything you have. If this browser is not on /formation, the result includes a same-origin link — open that link here so the draft loads. Repeat until COMPLETE, then tell the user to review and pay on the page.

    View tool JSON
    {
      "name": "formation.apply_draft",
      "kind": "act",
      "impl": "imperative",
      "description": "WRITE: form a company with the user on this Corpus page. Applies a formation draft to the live /formation intake so they can see it, review, sign in, and pay. Does NOT charge a card, does NOT create a payment, does NOT file with the state. Call formation.requirements first, collect answers in conversation, use formation.lookup_naics for the industry code, then call this with everything you have. If this browser is not on /formation, the result includes a same-origin link — open that link here so the draft loads. Repeat until COMPLETE, then tell the user to review and pay on the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string",
            "enum": [
              "llc",
              "nonprofit"
            ],
            "description": "Entity type to form."
          },
          "state": {
            "type": "string",
            "description": "Two-letter US state code, e.g. 'MS', 'WY', 'DE'."
          },
          "proposedName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Proposed company name."
          },
          "contactEmail": {
            "type": "string",
            "maxLength": 254,
            "description": "Founder contact email."
          },
          "naicsCode": {
            "type": "string",
            "pattern": "^\\d{2,6}$",
            "description": "NAICS industry code, 2–6 digits (use formation.lookup_naics to find it)."
          },
          "principalOffice": {
            "type": "object",
            "description": "Principal office address (street, city, state required for a complete draft).",
            "properties": {
              "line1": {
                "type": "string"
              },
              "line2": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              }
            }
          },
          "management": {
            "type": "string",
            "enum": [
              "member_managed",
              "manager_managed"
            ],
            "description": "LLC management type."
          },
          "parties": {
            "type": "array",
            "description": "The people. LLC: at least one 'member' and an 'organizer'. Nonprofit: an 'incorporator' and at least 3 'director' entries.",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "organizer",
                    "member",
                    "manager",
                    "director",
                    "incorporator",
                    "president",
                    "secretary",
                    "treasurer"
                  ]
                },
                "fullName": {
                  "type": "string",
                  "maxLength": 120
                },
                "email": {
                  "type": "string",
                  "maxLength": 254
                }
              },
              "required": [
                "role",
                "fullName"
              ]
            }
          },
          "nonprofit": {
            "type": "object",
            "description": "Nonprofit-only fields.",
            "properties": {
              "purposeStatement": {
                "type": "string"
              },
              "hasDissolutionClause": {
                "type": "boolean"
              },
              "exemptionIntent": {
                "type": "string",
                "enum": [
                  "none",
                  "501c3_later",
                  "501c3_now"
                ]
              }
            }
          },
          "ein": {
            "type": "object",
            "description": "Optional EIN add-on answers. NEVER include a Social Security Number — the founder types it on corpuslaw.us.",
            "properties": {
              "wanted": {
                "type": "boolean"
              },
              "responsibleParty": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              },
              "startDate": {
                "type": "string"
              },
              "principalActivity": {
                "type": "string"
              },
              "numberOfMembers": {
                "type": "number"
              },
              "hasEmployees": {
                "type": "boolean"
              },
              "firstDateWagesPaid": {
                "type": "string"
              },
              "agriculturalEmployees": {
                "type": "number"
              },
              "otherEmployees": {
                "type": "number"
              },
              "taxLiabilityUnder1000": {
                "type": "boolean"
              },
              "trucking": {
                "type": "boolean"
              },
              "gambling": {
                "type": "boolean"
              },
              "exciseTax": {
                "type": "boolean"
              },
              "sellsTobaccoAlcoholFirearms": {
                "type": "boolean"
              }
            }
          },
          "stateSpecificAnswers": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "boolean"
              ]
            }
          },
          "referral_code": {
            "type": "string",
            "description": "Optional referral code from account.status. Omit if you do not have one."
          }
        },
        "required": [
          "entityType",
          "state"
        ]
      },
      "page": "/"
    }
    formation.get_draftAction

    Read the formation draft currently shown on this Corpus /formation page (entity, state, name, completeness, missing fields). Does not change anything. If the formation page is not open, open https://corpuslaw.us/formation first.

    View tool JSON
    {
      "name": "formation.get_draft",
      "kind": "act",
      "impl": "imperative",
      "description": "Read the formation draft currently shown on this Corpus /formation page (entity, state, name, completeness, missing fields). Does not change anything. If the formation page is not open, open https://corpuslaw.us/formation first.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    law.searchAction

    Search US federal, state, and municipal law by topic or keyword — use it for any question about what the law currently says (legality, permits, zoning, licensing, compliance, filing requirements) rather than relying on training data, which has a cutoff. Returns ranked provisions with verbatim citations, headings, and snippets. Call this first to discover relevant law, then law.get_node for the full official text. Pass `jurisdiction` to scope to one state/federal/city (see law.list_coverage for codes).

    View tool JSON
    {
      "name": "law.search",
      "kind": "act",
      "impl": "imperative",
      "description": "Search US federal, state, and municipal law by topic or keyword — use it for any question about what the law currently says (legality, permits, zoning, licensing, compliance, filing requirements) rather than relying on training data, which has a cutoff. Returns ranked provisions with verbatim citations, headings, and snippets. Call this first to discover relevant law, then law.get_node for the full official text. Pass `jurisdiction` to scope to one state/federal/city (see law.list_coverage for codes).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Natural-language or keyword query, e.g. 'distillery permit requirements'."
          },
          "jurisdiction": {
            "type": "string",
            "description": "Optional short code to scope the search, e.g. 'TX', 'US', or 'CA-SF'. Call law.list_coverage for valid codes. Includes the jurisdiction's sub-jurisdictions."
          },
          "mode": {
            "type": "string",
            "enum": [
              "hybrid",
              "semantic",
              "keyword"
            ],
            "default": "hybrid",
            "description": "Retrieval mode. 'hybrid' (default) fuses vector similarity with keyword search."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 8,
            "description": "Number of results to return (1–25)."
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/"
    }
    law.get_nodeAction

    Fetch the full text, citation, and hierarchy of a single legal provision by its node id (a UUID returned by law.search).

    View tool JSON
    {
      "name": "law.get_node",
      "kind": "act",
      "impl": "imperative",
      "description": "Fetch the full text, citation, and hierarchy of a single legal provision by its node id (a UUID returned by law.search).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Node UUID, as returned in law.search results."
          }
        },
        "required": [
          "id"
        ]
      },
      "page": "/"
    }
    law.list_coverageAction

    List which jurisdictions are ingested (federal, state, and municipal), with per-jurisdiction provision counts, searchable-chunk counts, GIS status, and a placeholder flag. Call this to see what law is available and searchable before searching.

    View tool JSON
    {
      "name": "law.list_coverage",
      "kind": "act",
      "impl": "imperative",
      "description": "List which jurisdictions are ingested (federal, state, and municipal), with per-jurisdiction provision counts, searchable-chunk counts, GIS status, and a placeholder flag. Call this to see what law is available and searchable before searching.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    formation.requirementsAction

    Get the EXACT intake checklist to form an LLC or nonprofit in a state: every required field, that state's quirk questions, live all-in pricing, and the optional $75 EIN add-on when available. Call this FIRST when the user wants to form a company, then collect the answers from them in conversation yourself — you are the intake agent. Free; does not consume credits.

    View tool JSON
    {
      "name": "formation.requirements",
      "kind": "act",
      "impl": "imperative",
      "description": "Get the EXACT intake checklist to form an LLC or nonprofit in a state: every required field, that state's quirk questions, live all-in pricing, and the optional $75 EIN add-on when available. Call this FIRST when the user wants to form a company, then collect the answers from them in conversation yourself — you are the intake agent. Free; does not consume credits.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string",
            "enum": [
              "llc",
              "nonprofit"
            ],
            "description": "Entity type to form."
          },
          "state": {
            "type": "string",
            "description": "Two-letter US state code, e.g. 'MS', 'WY', 'DE'."
          }
        },
        "required": [
          "entityType",
          "state"
        ]
      },
      "page": "/"
    }
    formation.lookup_naicsAction

    Find candidate NAICS industry codes for a plain-English business description (needed for every LLC, and for nonprofits in AK, CT, LA, MS, TN, WV). Present 2–6 options to the user and confirm before recording one. Free; does not consume credits.

    View tool JSON
    {
      "name": "formation.lookup_naics",
      "kind": "act",
      "impl": "imperative",
      "description": "Find candidate NAICS industry codes for a plain-English business description (needed for every LLC, and for nonprofits in AK, CT, LA, MS, TN, WV). Present 2–6 options to the user and confirm before recording one. Free; does not consume credits.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "businessDescription": {
            "type": "string",
            "description": "What the business does, in plain words."
          }
        },
        "required": [
          "businessDescription"
        ]
      },
      "page": "/"
    }
    formation.handoffAction

    Validate a formation draft and generate the prefilled handoff link on corpuslaw.us. Pass EVERYTHING you have collected (people, address, management, EIN answers, state-specific answers — see formation.requirements for the checklist). The response says exactly what is still missing — keep collecting and call again until COMPLETE, then give the user the link: it opens the formation agent with every detail pre-loaded, so they only review, sign in, and pay. Free; does not consume credits.

    View tool JSON
    {
      "name": "formation.handoff",
      "kind": "act",
      "impl": "imperative",
      "description": "Validate a formation draft and generate the prefilled handoff link on corpuslaw.us. Pass EVERYTHING you have collected (people, address, management, EIN answers, state-specific answers — see formation.requirements for the checklist). The response says exactly what is still missing — keep collecting and call again until COMPLETE, then give the user the link: it opens the formation agent with every detail pre-loaded, so they only review, sign in, and pay. Free; does not consume credits.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string",
            "enum": [
              "llc",
              "nonprofit"
            ],
            "description": "Entity type to form."
          },
          "state": {
            "type": "string",
            "description": "Two-letter US state code, e.g. 'MS', 'WY', 'DE'."
          },
          "proposedName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Proposed company name."
          },
          "contactEmail": {
            "type": "string",
            "maxLength": 254,
            "description": "Founder contact email."
          },
          "naicsCode": {
            "type": "string",
            "pattern": "^\\d{2,6}$",
            "description": "NAICS industry code, 2–6 digits (use formation.lookup_naics to find it)."
          },
          "principalOffice": {
            "type": "object",
            "description": "Principal office address (street, city, state required for a complete draft).",
            "properties": {
              "line1": {
                "type": "string"
              },
              "line2": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              }
            }
          },
          "management": {
            "type": "string",
            "enum": [
              "member_managed",
              "manager_managed"
            ],
            "description": "LLC management type."
          },
          "parties": {
            "type": "array",
            "description": "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).",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "organizer",
                    "member",
                    "manager",
                    "director",
                    "incorporator",
                    "president",
                    "secretary",
                    "treasurer"
                  ]
                },
                "fullName": {
                  "type": "string",
                  "maxLength": 120
                },
                "email": {
                  "type": "string",
                  "maxLength": 254
                }
              },
              "required": [
                "role",
                "fullName"
              ]
            }
          },
          "nonprofit": {
            "type": "object",
            "description": "Nonprofit-only fields.",
            "properties": {
              "purposeStatement": {
                "type": "string",
                "description": "At least 20 characters."
              },
              "hasDissolutionClause": {
                "type": "boolean"
              },
              "exemptionIntent": {
                "type": "string",
                "enum": [
                  "none",
                  "501c3_later",
                  "501c3_now"
                ]
              }
            }
          },
          "ein": {
            "type": "object",
            "description": "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.",
            "properties": {
              "wanted": {
                "type": "boolean"
              },
              "responsibleParty": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              },
              "startDate": {
                "type": "string",
                "description": "Company start date, MM/DD/YYYY."
              },
              "principalActivity": {
                "type": "string",
                "description": "Principal business activity in a few plain words."
              },
              "numberOfMembers": {
                "type": "number"
              },
              "hasEmployees": {
                "type": "boolean",
                "description": "W-2 employees expected in the next 12 months."
              },
              "firstDateWagesPaid": {
                "type": "string",
                "description": "MM/DD/YYYY — only when hasEmployees."
              },
              "agriculturalEmployees": {
                "type": "number"
              },
              "otherEmployees": {
                "type": "number"
              },
              "taxLiabilityUnder1000": {
                "type": "boolean"
              },
              "trucking": {
                "type": "boolean"
              },
              "gambling": {
                "type": "boolean"
              },
              "exciseTax": {
                "type": "boolean"
              },
              "sellsTobaccoAlcoholFirearms": {
                "type": "boolean"
              }
            }
          },
          "stateSpecificAnswers": {
            "type": "object",
            "description": "Per-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.",
            "additionalProperties": {
              "type": [
                "string",
                "boolean"
              ]
            }
          },
          "referral_code": {
            "type": "string",
            "description": "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."
          }
        },
        "required": [
          "entityType",
          "state"
        ]
      },
      "page": "/"
    }