ein-llc
A human must claim and pay before EIN.LLC files. Agents may assess, prepare, and read status.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"ein-llc": {
"url": "https://ein.llc/mcp"
}
}
}Remote endpoints
https://ein.llc/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
⚪assess_formation(goal, hasUsEntity, hasEin, jurisdictionKnown, selectedState, ...)
Assess formation need without checkout. Anonymous. An SSN-shaped or ITIN-shaped field is refused and nothing is stored.
Input Schema
{
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "Trimmed and truncated to 500 characters."
},
"hasUsEntity": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"hasEin": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"jurisdictionKnown": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"selectedState": {
"type": "string",
"description": "Trimmed and truncated to 80 characters."
},
"providerRequiresUsEntity": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"providerRequiresEin": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"foreignOwnedCaution": {
"type": "boolean"
},
"intendedEmail": {
"type": "string",
"description": "Optional. When a valid email is supplied it is stored on the assessment; later prepare must use the same recipient. Invalid values are ignored, not rejected."
}
},
"required": []
}Output Schema
{
"type": "object",
"additionalProperties": true,
"if": {
"type": "object",
"required": [
"error"
]
},
"then": {
"type": "object",
"additionalProperties": true,
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
}
}
},
"else": {
"type": "object",
"properties": {
"unknownFields": {
"type": "array",
"items": {
"type": "string",
"enum": [
"goal",
"hasUsEntity",
"hasEin",
"providerRequiresUsEntity",
"providerRequiresEin"
]
}
},
"assessment": {
"type": "object",
"properties": {
"outcome": {
"type": "string",
"enum": [
"not_needed_now",
"already_satisfied",
"insufficient_information",
"recommended_for_review",
"required_for_selected_path"
]
},
"summary": {
"type": "string"
},
"rationale": {
"type": "array",
"items": {
"type": "string"
}
},
"nextSteps": {
"type": "array",
"items": {
"type": "string"
}
},
"evidenceLinks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"offer": {
"anyOf": [
{
"type": "object",
"properties": {
"serviceId": {
"const": "llc-ein-399"
},
"priceNote": {
"type": "string"
},
"timingNote": {
"type": "string"
}
},
"required": [
"serviceId",
"priceNote",
"timingNote"
]
},
{
"type": "null"
}
]
},
"createsCheckout": {
"const": false
}
},
"required": [
"outcome",
"summary",
"rationale",
"nextSteps",
"evidenceLinks",
"offer",
"createsCheckout"
]
},
"deploymentStatus": {
"const": "available"
},
"assessmentId": {
"type": "string"
},
"decisionBound": {
"type": "boolean"
},
"authorizedState": {
"type": "string",
"enum": [
"provisional_advice",
"actionable_bound"
]
},
"actionableAuthorized": {
"type": "boolean"
},
"filingAuthorization": {
"const": false
},
"adviceStatus": {
"const": "provisional"
}
},
"required": [
"unknownFields",
"assessment",
"deploymentStatus",
"assessmentId",
"decisionBound",
"authorizedState",
"actionableAuthorized",
"filingAuthorization",
"adviceStatus"
]
}
}⚪prepare_application(intendedEmail, assessmentId, assessment, operationId, assessmentOutcome, ...)
Prepare a provisional application and return the human claim URL. A human must claim and pay. This does not file, charge, or approve.
Input Schema
{
"type": "object",
"properties": {
"intendedEmail": {
"type": "string",
"description": "Trimmed/lowercased; invalid or missing email produces an incomplete application, not a claim token."
},
"assessmentId": {
"type": "string",
"description": "When present, the server-stored assessment is bound in one transaction with the application and authority. Same assessment plus intended email recovers the same application when the stored preparation matches. Facts and intended recipient must match the stored assessment. A different assessment cannot reuse an explicit operationId."
},
"assessment": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "Trimmed and truncated to 500 characters."
},
"hasUsEntity": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"hasEin": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"jurisdictionKnown": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"selectedState": {
"type": "string",
"description": "Trimmed and truncated to 80 characters."
},
"providerRequiresUsEntity": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"providerRequiresEin": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Other values are treated as unknown, not rejected."
},
"foreignOwnedCaution": {
"type": "boolean"
},
"intendedEmail": {
"type": "string",
"description": "Optional. When a valid email is supplied it is stored on the assessment; later prepare must use the same recipient. Invalid values are ignored, not rejected."
}
},
"required": []
},
"operationId": {
"type": "string",
"description": "Optional caller idempotency key for a bound prepare. Trimmed and limited to 200 characters. When omitted, the key is prepare:{assessmentId}:{intendedEmailNormalized} and is specific to that assessment and recipient, and a missing key still recovers the application already bound to that assessment. An explicit key is not namespaced by assessment: it determines one durable application id. Reusing it for a different assessment returns 409 operation_identity_conflict. Supplying a different explicit key when this assessment is already bound returns the same 409, does not reserve that key, and returns no claim token. The same assessment with a different stored preparation returns 409 operation_payload_mismatch. Both leave the application, assessment, and authority unchanged and return no claim token. The same assessment, recipient, and stored preparation returns the original application and claim token and does not write again."
},
"assessmentOutcome": {
"type": "string",
"description": "Fallback when preparation.assessmentOutcome is absent and no assessmentId/assessment is bound. Trimmed/truncated to 80 characters. Unknown values are refused. already_satisfied and not_needed_now are refused. insufficient_information cannot issue a claim token. Unbound allowed enum remains provisional advice, not actionable authorization."
},
"preparation": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "Allowlisted and normalized; strings are trimmed/truncated, invalid enum values discarded."
},
"jurisdiction": {
"type": "string",
"description": "Allowlisted and normalized; strings are trimmed/truncated, invalid enum values discarded."
},
"existingEntityStatus": {
"type": "string",
"description": "Allowlisted and normalized; strings are trimmed/truncated, invalid enum values discarded."
},
"assessmentOutcome": {
"type": "string",
"description": "Allowlisted and normalized; strings are trimmed/truncated, invalid enum values discarded."
},
"providerPath": {
"type": "string",
"description": "Allowlisted and normalized; strings are trimmed/truncated, invalid enum values discarded."
},
"notes": {
"type": "string",
"description": "Allowlisted and normalized; strings are trimmed/truncated, invalid enum values discarded."
},
"intendedEmail": {
"type": "string",
"description": "Fallback when top-level intendedEmail is absent."
}
},
"required": []
}
},
"required": []
}Output Schema
{
"type": "object",
"additionalProperties": true,
"if": {
"type": "object",
"required": [
"error"
]
},
"then": {
"type": "object",
"additionalProperties": true,
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
}
}
},
"else": {
"oneOf": [
{
"type": "object",
"properties": {
"applicationId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"provisional",
"provisional_incomplete",
"claimed",
"quoted",
"paid",
"async_pending",
"async_failed"
]
},
"preparation": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"maxLength": 500
},
"jurisdiction": {
"type": "string",
"maxLength": 80
},
"existingEntityStatus": {
"type": "string",
"enum": [
"none",
"has_entity",
"has_ein",
"unknown"
]
},
"assessmentOutcome": {
"type": "string",
"maxLength": 80
},
"providerPath": {
"type": "string",
"maxLength": 200
},
"notes": {
"type": "string",
"maxLength": 1000
}
},
"required": [],
"additionalProperties": false
},
"reviewUrl": {
"type": "string"
},
"deploymentStatus": {
"const": "available"
},
"note": {
"type": "string"
},
"assessmentId": {
"type": [
"string",
"null"
]
},
"decisionBound": {
"type": "boolean"
},
"authorizedState": {
"type": "string",
"enum": [
"provisional_advice",
"actionable_bound"
]
},
"actionableAuthorized": {
"type": "boolean"
},
"filingAuthorization": {
"const": false
},
"adviceStatus": {
"const": "provisional"
},
"complete": {
"const": true
},
"intendedEmailNormalized": {
"type": "string"
},
"claimUrl": {
"type": "string"
},
"claimToken": {
"type": "string"
},
"humanAction": {
"type": "object",
"properties": {
"kind": {
"const": "human_claim"
},
"reviewUrl": {
"type": "string"
},
"requiredScope": {
"type": "object",
"properties": {
"applicationId": {
"type": "string"
},
"actor": {
"const": "intended_recipient"
},
"verifiedEmailRequired": {
"const": true
},
"action": {
"const": "claim"
}
},
"required": [
"applicationId",
"actor",
"verifiedEmailRequired",
"action"
]
},
"claimLink": {
"type": "object",
"properties": {
"field": {
"const": "claimUrl"
},
"effectsOnVisit": {
"const": "none"
}
},
"required": [
"field",
"effectsOnVisit"
]
},
"continuationScope": {
"type": "object",
"properties": {
"applicationId": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"const": "status"
},
"minItems": 1,
"maxItems": 1
},
"issuer": {
"const": "human_owner"
}
},
"required": [
"applicationId",
"scopes",
"issuer"
]
}
},
"required": [
"kind",
"reviewUrl",
"requiredScope",
"claimLink",
"continuationScope"
]
}
},
"required": [
"applicationId",
"status",
"preparation",
"reviewUrl",
"deploymentStatus",
"note",
"assessmentId",
"decisionBound",
"authorizedState",
"actionableAuthorized",
"filingAuthorization",
"adviceStatus",
"complete",
"intendedEmailNormalized",
"claimUrl",
"claimToken",
"humanAction"
]
},
{
"type": "object",
"properties": {
"applicationId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"provisional",
"provisional_incomplete",
"claimed",
"quoted",
"paid",
"async_pending",
"async_failed"
]
},
"preparation": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"maxLength": 500
},
"jurisdiction": {
"type": "string",
"maxLength": 80
},
"existingEntityStatus": {
"type": "string",
"enum": [
"none",
"has_entity",
"has_ein",
"unknown"
]
},
"assessmentOutcome": {
"type": "string",
"maxLength": 80
},
"providerPath": {
"type": "string",
"maxLength": 200
},
"notes": {
"type": "string",
"maxLength": 1000
}
},
"required": [],
"additionalProperties": false
},
"reviewUrl": {
"type": "string"
},
"deploymentStatus": {
"const": "available"
},
"note": {
"type": "string"
},
"assessmentId": {
"type": [
"string",
"null"
]
},
"decisionBound": {
"type": "boolean"
},
"authorizedState": {
"type": "string",
"enum": [
"provisional_advice",
"actionable_bound"
]
},
"actionableAuthorized": {
"type": "boolean"
},
"filingAuthorization": {
"const": false
},
"adviceStatus": {
"const": "provisional"
},
"complete": {
"const": false
},
"reason": {
"type": "string"
},
"claimToken": {
"type": "null"
}
},
"required": [
"applicationId",
"status",
"preparation",
"reviewUrl",
"deploymentStatus",
"note",
"assessmentId",
"decisionBound",
"authorizedState",
"actionableAuthorized",
"filingAuthorization",
"adviceStatus",
"complete",
"reason",
"claimToken"
]
}
]
}
}🟢get_application_status(applicationId, AgentGrant)
Read redacted application status. Pass AgentGrant exactly as the HTTP route expects: Authorization bearer of the opaque application grant, not a Firebase ID token.
Input Schema
{
"type": "object",
"properties": {
"applicationId": {
"type": "string",
"minLength": 1
},
"AgentGrant": {
"type": "string",
"minLength": 1,
"description": "Revocable, expiring status-only token issued by the owner. Not a Firebase ID token. Pass this value as the bearer token, the same Authorization header the HTTP route expects. Not a Firebase ID token."
}
},
"required": [
"applicationId",
"AgentGrant"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true,
"if": {
"type": "object",
"required": [
"error"
]
},
"then": {
"type": "object",
"additionalProperties": true,
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
}
}
},
"else": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"applicationId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"provisional",
"provisional_incomplete",
"claimed",
"quoted",
"paid",
"async_pending",
"async_failed"
]
},
"preparation": {
"type": "object",
"properties": {
"goal": {
"type": [
"string",
"null"
]
},
"jurisdiction": {
"type": [
"string",
"null"
]
},
"existingEntityStatus": {
"type": [
"string",
"null"
]
},
"assessmentOutcome": {
"type": [
"string",
"null"
]
},
"providerPath": {
"type": [
"string",
"null"
]
}
},
"required": [
"goal",
"jurisdiction",
"existingEntityStatus",
"assessmentOutcome",
"providerPath"
]
},
"quote": {
"anyOf": [
{
"type": "object",
"properties": {
"version": {
"type": "integer"
},
"serviceId": {
"type": "string"
},
"state": {
"type": "string"
},
"baseCents": {
"type": "integer"
},
"stateFeeCents": {
"type": "integer"
},
"totalCents": {
"type": "integer"
},
"currency": {
"const": "usd"
},
"attemptId": {
"type": "string"
}
},
"required": [
"version",
"serviceId",
"state",
"baseCents",
"stateFeeCents",
"totalCents",
"currency",
"attemptId"
]
},
{
"type": "null"
}
]
},
"fulfillmentStatus": {
"type": [
"string",
"null"
]
},
"nextAction": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"kind"
]
},
{
"type": "null"
}
]
},
"einIssued": {
"type": "boolean"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"assessmentId": {
"type": [
"string",
"null"
]
},
"decisionBound": {
"type": "boolean"
},
"authorizedState": {
"type": "string",
"enum": [
"provisional_advice",
"actionable_bound"
]
},
"actionableAuthorized": {
"type": "boolean"
},
"filingAuthorization": {
"const": false
},
"adviceStatus": {
"const": "provisional"
}
},
"required": [
"applicationId",
"status",
"preparation",
"quote",
"fulfillmentStatus",
"nextAction",
"einIssued",
"notes",
"assessmentId",
"decisionBound",
"authorizedState",
"actionableAuthorized",
"filingAuthorization",
"adviceStatus"
]
},
"deploymentStatus": {
"const": "available"
}
},
"required": [
"status",
"deploymentStatus"
]
}
}🟢get_formation_contract
Return the live agent OpenAPI document.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"required": [
"openapi",
"info",
"paths"
]
}🟢compare_states
Read-only rows for Wyoming, Delaware, New Mexico, Florida, Texas, and California. Each row has the formation fee, the annual fee or report, franchise-tax notes, and the registered-agent requirement. Every figure has a government source URL and a retrieved date. This does not give legal advice, file, open an account, or take payment.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true,
"if": {
"type": "object",
"required": [
"error"
]
},
"then": {
"type": "object",
"additionalProperties": true,
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
}
}
},
"else": {
"type": "object",
"properties": {
"retrieved": {
"type": "string",
"format": "date"
},
"disclaimer": {
"type": "string"
},
"states": {
"type": "array",
"minItems": 6,
"items": {
"type": "object"
}
},
"effects": {
"type": "object",
"properties": {
"readOnly": {
"const": true
},
"files": {
"const": false
},
"createsAccount": {
"const": false
},
"takesPayment": {
"const": false
}
},
"required": [
"readOnly",
"files",
"createsAccount",
"takesPayment"
]
}
},
"required": [
"retrieved",
"disclaimer",
"states",
"effects"
]
}
}🟢explain_ein_route(hasSsnOrItin, principalBusinessInUs)
Read-only IRS EIN channels for whether the applicant has an SSN or ITIN and whether the principal business is in the United States, plus EIN.LLC's qualified timing. A principal business outside the United States is offered phone, fax, and mail only. It does not state another vendor's day count. It does not file or take payment.
Input Schema
{
"type": "object",
"properties": {
"hasSsnOrItin": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false",
"1",
"0",
"yes",
"no"
]
}
]
},
"principalBusinessInUs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false",
"1",
"0",
"yes",
"no"
]
}
]
}
},
"required": [
"hasSsnOrItin",
"principalBusinessInUs"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true,
"if": {
"type": "object",
"required": [
"error"
]
},
"then": {
"type": "object",
"additionalProperties": true,
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
}
}
},
"else": {
"type": "object",
"properties": {
"channels": {
"type": "array",
"items": {
"type": "object"
}
},
"eligibleChannels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"online",
"phone",
"fax",
"mail"
]
}
},
"einLlcTiming": {
"type": "string"
},
"effects": {
"type": "object",
"properties": {
"readOnly": {
"const": true
},
"files": {
"const": false
},
"createsAccount": {
"const": false
},
"takesPayment": {
"const": false
}
},
"required": [
"readOnly",
"files",
"createsAccount",
"takesPayment"
]
}
},
"required": [
"channels",
"eligibleChannels",
"einLlcTiming",
"effects"
]
}
}🟢get_compliance_deadlines(entityType, ownerResidency, formationState, formationDate, reportableTransactions, ...)
Read-only dated obligations. Form 5472 with pro forma Form 1120 is conditional on reportable transactions and entity status, not an automatic yearly filing for every foreign-owned SMLLC. Unknown transaction facts are unknown/needs-review. The $25,000 figure is the IRS failure-to-file penalty quote, plus the formation state's sourced annual report or franchise tax. It does not file.
Input Schema
{
"type": "object",
"properties": {
"entityType": {
"type": "string",
"enum": [
"single-member-llc",
"multi-member-llc",
"corporation"
]
},
"ownerResidency": {
"type": "string",
"enum": [
"foreign",
"us"
]
},
"formationState": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"formationDate": {
"type": "string",
"format": "date"
},
"reportableTransactions": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
]
},
"partVTransactions": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
]
}
},
"required": [
"entityType",
"ownerResidency",
"formationState",
"formationDate"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true,
"if": {
"type": "object",
"required": [
"error"
]
},
"then": {
"type": "object",
"additionalProperties": true,
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
}
}
},
"else": {
"type": "object",
"properties": {
"obligations": {
"type": "array",
"items": {
"type": "object"
}
},
"form5472": {
"type": [
"object",
"null"
]
},
"icsUrl": {
"type": "string",
"format": "uri"
},
"effects": {
"type": "object",
"properties": {
"readOnly": {
"const": true
},
"files": {
"const": false
},
"createsAccount": {
"const": false
},
"takesPayment": {
"const": false
}
},
"required": [
"readOnly",
"files",
"createsAccount",
"takesPayment"
]
}
},
"required": [
"obligations",
"effects"
]
}
}Community
Evidence