Corpus Law
Ce que fait ce MCP
Searches and cites US law, supports LLC and nonprofit formation workflows, compares formation services, and handles formation orders using USDC on Solana.
Outils
Schéma d’entrée
{'type': 'object', 'properties': {'referral_code': {'type': 'string', 'description': 'An active referral code returned by an earlier account.status call. Pass it back to keep the same referral identity; if it is no longer active, account.status issues a new code instead.'}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'draft': {'type': 'object', 'required': ['entityType', 'state'], 'properties': {'ein': {'type': 'object', 'properties': {'wanted': {'type': 'boolean'}, 'gambling': {'type': 'boolean'}, 'trucking': {'type': 'boolean'}, 'exciseTax': {'type': 'boolean'}, 'startDate': {'type': 'string', 'description': 'Company start date, MM/DD/YYYY.'}, 'hasEmployees': {'type': 'boolean', 'description': 'W-2 employees expected in the next 12 months.'}, 'otherEmployees': {'type': 'number'}, 'numberOfMembers': {'type': 'number'}, 'responsibleParty': {'type': 'object', 'properties': {'phone': {'type': 'string'}, 'fullName': {'type': 'string'}}}, 'principalActivity': {'type': 'string', 'description': 'Principal business activity in a few plain words.'}, 'firstDateWagesPaid': {'type': 'string', 'description': 'MM/DD/YYYY — only when hasEmployees.'}, 'agriculturalEmployees': {'type': 'number'}, 'taxLiabilityUnder1000': {'type': 'boolean'}, 'sellsTobaccoAlcoholFirearms': {'type': 'boolean'}}, 'description': '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.'}, 'state': {'type': 'string', 'description': "Two-letter US state code, e.g. 'MS', 'WY', 'DE'."}, 'parties': {'type': 'array', 'items': {'type': 'object', 'required': ['role', 'fullName'], 'properties': {'role': {'enum': ['organizer', 'member', 'manager', 'director', 'incorporator', 'president', 'secretary', 'treasurer'], 'type': 'string'}, 'email': {'type': 'string', 'maxLength': 254}, 'fullName': {'type': 'string', 'maxLength': 120}}}, '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)."}, 'naicsCode': {'type': 'string', 'pattern': '^\\d{2,6}$', 'description': 'NAICS industry code, 2–6 digits (use formation.lookup_naics to find it).'}, 'nonprofit': {'type': 'object', 'properties': {'exemptionIntent': {'enum': ['none', '501c3_later', '501c3_now'], 'type': 'string'}, 'purposeStatement': {'type': 'string', 'description': 'At least 20 characters.'}, 'hasDissolutionClause': {'type': 'boolean'}}, 'description': 'Nonprofit-only fields.'}, 'entityType': {'enum': ['llc', 'nonprofit'], 'type': 'string', 'description': 'Entity type to form.'}, 'management': {'enum': ['member_managed', 'manager_managed'], 'type': 'string', 'description': 'LLC management type.'}, 'contactEmail': {'type': 'string', 'maxLength': 254, 'description': 'Founder contact email.'}, 'proposedName': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Proposed company name.'}, 'principalOffice': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'line1': {'type': 'string'}, 'line2': {'type': 'string'}, 'state': {'type': 'string'}, 'postalCode': {'type': 'string'}}, 'description': 'Principal office address (street, city, state required for a complete draft).'}, 'businessActivity': {'type': 'string', 'maxLength': 500, '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."}, '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']}}}, 'description': 'First call: the complete formation draft, the same shape formation.handoff takes.'}, 'consent': {'type': 'object', 'required': ['version', 'registeredAgentAcknowledgements'], 'properties': {'version': {'type': 'string', 'description': 'The consentVersion of the acknowledgement text you read.'}, 'registeredAgentAcknowledgements': {'type': 'boolean', 'const': True}}, 'description': "First call: the founder's attestation to the registered-agent acknowledgements, read to them verbatim. `version` is the consentVersion formation.requirements shows."}, 'orderId': {'type': 'string', 'description': 'Second call (or to refresh an expired charge): the orderId returned earlier.'}, 'contactEmail': {'type': 'string', 'maxLength': 254, 'description': "First call: the founder's email. The confirmation link is sent here; nothing files until they click it."}, 'acceptPromise': {'type': 'object', 'required': ['termDays'], 'properties': {'termDays': {'type': 'integer', 'maximum': 90, 'minimum': 1}}, 'description': 'Second call, queue lane only: the founder accepted the submission promise with this many days.'}, 'trackingToken': {'type': 'string', 'description': 'Second call: the trackingToken returned with the orderId.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{8,128}$', 'description': 'A random id you generate once per order and reuse on every retry; the same order is returned for 24 hours.'}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'view': {'enum': ['overall', 'lowest_total_cost', 'most_transparent', 'most_agentic', 'developer'], 'type': 'string', 'description': 'overall (default, by Agentic Readiness) · lowest_total_cost (parsed first-year estimate) · most_transparent · most_agentic · developer (public MCP/API only).'}, 'limit': {'type': 'integer', 'description': "How many providers to return in a ranked view. Default 5, max 19. Ignored when 'providers' is given."}, 'providers': {'type': 'array', 'items': {'type': 'string'}, 'description': "Specific providers to compare, by name or slug (e.g. ['corpus','legalzoom']). Omit for a ranked field. Anything with no dossier is named back to you rather than dropped."}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['entityType', 'state'], 'properties': {'ein': {'type': 'object', 'properties': {'wanted': {'type': 'boolean'}, 'gambling': {'type': 'boolean'}, 'trucking': {'type': 'boolean'}, 'exciseTax': {'type': 'boolean'}, 'startDate': {'type': 'string', 'description': 'Company start date, MM/DD/YYYY.'}, 'hasEmployees': {'type': 'boolean', 'description': 'W-2 employees expected in the next 12 months.'}, 'otherEmployees': {'type': 'number'}, 'numberOfMembers': {'type': 'number'}, 'responsibleParty': {'type': 'object', 'properties': {'phone': {'type': 'string'}, 'fullName': {'type': 'string'}}}, 'principalActivity': {'type': 'string', 'description': 'Principal business activity in a few plain words.'}, 'firstDateWagesPaid': {'type': 'string', 'description': 'MM/DD/YYYY — only when hasEmployees.'}, 'agriculturalEmployees': {'type': 'number'}, 'taxLiabilityUnder1000': {'type': 'boolean'}, 'sellsTobaccoAlcoholFirearms': {'type': 'boolean'}}, 'description': '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.'}, 'state': {'type': 'string', 'description': "Two-letter US state code, e.g. 'MS', 'WY', 'DE'."}, 'parties': {'type': 'array', 'items': {'type': 'object', 'required': ['role', 'fullName'], 'properties': {'role': {'enum': ['organizer', 'member', 'manager', 'director', 'incorporator', 'president', 'secretary', 'treasurer'], 'type': 'string'}, 'email': {'type': 'string', 'maxLength': 254}, 'fullName': {'type': 'string', 'maxLength': 120}}}, '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)."}, 'naicsCode': {'type': 'string', 'pattern': '^\\d{2,6}$', 'description': 'NAICS industry code, 2–6 digits (use formation.lookup_naics to find it).'}, 'nonprofit': {'type': 'object', 'properties': {'exemptionIntent': {'enum': ['none', '501c3_later', '501c3_now'], 'type': 'string'}, 'purposeStatement': {'type': 'string', 'description': 'At least 20 characters.'}, 'hasDissolutionClause': {'type': 'boolean'}}, 'description': 'Nonprofit-only fields.'}, 'entityType': {'enum': ['llc', 'nonprofit'], 'type': 'string', 'description': 'Entity type to form.'}, 'management': {'enum': ['member_managed', 'manager_managed'], 'type': 'string', 'description': 'LLC management type.'}, 'contactEmail': {'type': 'string', 'maxLength': 254, 'description': 'Founder contact email.'}, 'proposedName': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Proposed company name.'}, '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.'}, 'principalOffice': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'line1': {'type': 'string'}, 'line2': {'type': 'string'}, 'state': {'type': 'string'}, 'postalCode': {'type': 'string'}}, 'description': 'Principal office address (street, city, state required for a complete draft).'}, 'businessActivity': {'type': 'string', 'maxLength': 500, '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."}, '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']}}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['businessDescription'], 'properties': {'businessDescription': {'type': 'string', 'description': 'What the business does, in plain words.'}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['orderId', 'trackingToken'], 'properties': {'orderId': {'type': 'string', 'description': 'The orderId formation.checkout returned.'}, 'trackingToken': {'type': 'string', 'description': 'The trackingToken formation.checkout returned.'}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['entityType', 'state'], 'properties': {'state': {'type': 'string', 'description': "Two-letter US state code, e.g. 'MS', 'WY', 'DE'."}, 'entityType': {'enum': ['llc', 'nonprofit'], 'type': 'string', 'description': 'Entity type to form.'}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Node UUID, as returned in law.search results.'}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['query'], 'properties': {'mode': {'enum': ['hybrid', 'semantic', 'keyword'], 'type': 'string', 'default': 'hybrid', 'description': "Retrieval mode. 'hybrid' (default) fuses vector similarity with keyword search."}, 'limit': {'type': 'integer', 'default': 8, 'maximum': 25, 'minimum': 1, 'description': 'Number of results to return (1–25).'}, '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."}}}
Schéma de sortie
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Human-readable tool result (also mirrored in content[].text).'}, 'isError': {'type': 'boolean', 'description': 'True when the tool could not complete successfully.'}}}
Modifications récentes des outils
Serveurs MCP similaires
site
Collects and submits consented enquiries to human providers about Malta crypto licensing; it does not purchase services or guaran…
BeeL
Provides Spanish company administration and VeriFactu-compliant invoicing, including customers, products, invoice issuance, corre…
corply
Supports company formation and corporate administration including incorporation documents, signatures, cap tables, corporate acti…
DPX — Institutional Cross-Border Settlement
Provides compliance-gated cross-border crypto settlement, agent registration and spending mandates, stablecoin routing, ESG and s…
FalaZuki Finance BR
Provides Brazil-focused financial calculations and rules for investments, credit, taxes, payroll, labor costs, debt, budgeting, a…
XBOSS
Accesses Korean tax, social insurance, payroll, cash receipt, e-tax invoice, and certificate filing services.
Sirenic
Provides European company registry, financial, procurement, sanctions, regulatory, insolvency, ownership, and ongoing due-diligen…
vealth
Provides an on-chain work marketplace with ecological and community tasks, wallet-based work records, funding and settlement info…