Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Lovie Company Formation

REMOTE · MCP.LOVIE.CO · 2 COMPONENTS · SCANNED SEP 21

Form companies, manage bank accounts, cards, invoices and more — directly from your AI coding tools.

+1 this week 89 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security97
Transport & Reachability100
Schema Quality & AI Usability74
  • 80% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 30375 tokens (~90/item across 334 items; 333 tools + 1 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability check failed: schema churn in the 30 days we've observed: 4 tool removals, 4 breaking changes, 0 auth/transport breaks, 135 additions. See how to fix → Fail
Tool Coverage83
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 42% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety45
  • Injection-marker check failed: the server instructions contains an instruction to conceal the call from the user, the text "Never tell the user", at byte 2460 of that field, plus 2 further marker(s) of the same kind. See how to fix → Fail
  • 19 of 24 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "accounting_suggest_transfer_pairs" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 335 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the Lovie Company Formation MCP server?

Lovie Company Formation is a hosted endpoint at https://mcp.lovie.co/mcp/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.lovie.co

# add to Claude Code
claude mcp add --transport http co-lovie-company-formation 'https://mcp.lovie.co/mcp/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "co-lovie-company-formation": {
      "url": "https://mcp.lovie.co/mcp/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "co-lovie-company-formation": {
      "type": "http",
      "url": "https://mcp.lovie.co/mcp/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.co-lovie-company-formation]
url = "https://mcp.lovie.co/mcp/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "co-lovie-company-formation": {
      "type": "remote",
      "url": "https://mcp.lovie.co/mcp/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add co-lovie-company-formation --url 'https://mcp.lovie.co/mcp/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  co-lovie-company-formation:
    url: "https://mcp.lovie.co/mcp/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "co-lovie-company-formation": {
      "Transport": "http",
      "Url": "https://mcp.lovie.co/mcp/mcp"
    }
  }
}
# add to Vellum
assistant mcp add co-lovie-company-formation -t streamable-http -u 'https://mcp.lovie.co/mcp/mcp'
// mcp.json
{
  "mcpServers": {
    "co-lovie-company-formation": {
      "type": "http",
      "url": "https://mcp.lovie.co/mcp/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Sept 26 +1
    • Authorization: partial → pass security
    • New tool “kyc_start_kyc_inquiry” functional
  • 16 Sept 26 0
    • Tool “equity_onboarding_hydrate_formation_carry” rewrote its description, which is the text the model reads security
    • Tool “equity_onboarding_update” rewrote its description, which is the text the model reads security
  • 11 Sept 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

    • Tool “account_get_list_accounts” was removed security
    • Tool “card_get_list_card_transactions” was removed security
    • Tool “formation_get_election83b_prefill” was removed security
    • Tool “transaction_get_list_transactions” was removed security
    • New tool “itin_submit_itin_intake”, which the server declares destructive security
    • New tool “signature_reconcile_document_state”, which the server declares destructive security
    • New tool “trademark_delete_application”, which the server declares destructive security
    • New tool “trademark_submit_to_firm”, which the server declares destructive security
    • New tool “banking_set_application_ein”, which the server declares destructive security
    • New tool “banking_set_owner_identity_document_number”, which the server declares destructive security
    • New tool “banking_set_owner_tax_identifier”, which the server declares destructive security
    • New tool “banking_submit_banking_application”, which the server declares destructive security
    • New tool “commit_transfer”, which the server declares destructive security
    • New tool “equity_onboarding_submit”, which the server declares destructive security
    • New tool “formation_delete_pending_domain”, which the server declares destructive security
    • New tool “formation_get_domain_auth_code”, which the server declares destructive security
    • New tool “formation_remove_shareholder”, which the server declares destructive security
    • New tool “formation_set_domain_dns_records”, which the server declares destructive security
    • New tool “formation_set_founder_profile”, which the server declares destructive security
    • New tool “formation_set_shareholder_tax_identifier”, which the server declares destructive security
    • New tool “formation_start_domain_transfer”, which the server declares destructive security
    • Tool “accounting_preview_close” rewrote its description, which is the text the model reads security
    • Tool “cap_table_create_cap_table_round” rewrote its description, which is the text the model reads security
    • Tool “cap_table_create_cap_table_stakeholder” rewrote its description, which is the text the model reads security
    • Tool “cap_table_get_cap_table_agreement” rewrote its description, which is the text the model reads security
    • Tool “cap_table_get_cap_table_overview” rewrote its description, which is the text the model reads security
    • Tool “cap_table_get_cap_table_round” rewrote its description, which is the text the model reads security
    • Tool “cap_table_get_list_cap_table_agreements” rewrote its description, which is the text the model reads security
    • Tool “cap_table_get_list_cap_table_rounds” rewrote its description, which is the text the model reads security
    • Tool “cap_table_get_list_cap_table_wire_match_suggestions” rewrote its description, which is the text the model reads security
    • Tool “cap_table_list_cap_table_snapshots_for_round” rewrote its description, which is the text the model reads security
    • Tool “cap_table_list_cumulative_cap_table_snapshots_for_stakeholder” rewrote its description, which is the text the model reads security
    • Tool “cap_table_record_cap_table_investment” rewrote its description, which is the text the model reads security
    • Tool “cap_table_update_cap_table_round” rewrote its description, which is the text the model reads security
    • Tool “card_create_card” rewrote its description, which is the text the model reads security
    • Tool “card_get_card” rewrote its description, which is the text the model reads security
    • Tool “card_get_card_spend” rewrote its description, which is the text the model reads security
    • Tool “client_get_client” rewrote its description, which is the text the model reads security
    • Tool “client_get_list_clients” rewrote its description, which is the text the model reads security
    • Tool “formation_create_formation” rewrote its description, which is the text the model reads security
    • Tool “formation_get_formation_document_download_url” rewrote its description, which is the text the model reads security
    • Tool “formation_get_payment_link” rewrote its description, which is the text the model reads security
    • Tool “formation_save_cap_table_import” rewrote its description, which is the text the model reads security
    • Tool “formation_set_company_type” rewrote its description, which is the text the model reads security
    • Tool “formation_set_state” rewrote its description, which is the text the model reads security
    • Tool “formation_update_formation” rewrote its description, which is the text the model reads security
    • Tool “invoice_get_invoice” rewrote its description, which is the text the model reads security
    • Tool “invoice_get_list_invoices” rewrote its description, which is the text the model reads security
    • Tool “invoice_settings_get_invoice_settings” rewrote its description, which is the text the model reads security
    • Tool “payment_get_list_payments” rewrote its description, which is the text the model reads security
    • Tool “payment_get_payment” rewrote its description, which is the text the model reads security
    • Tool “signature_get_list_signature_envelopes” rewrote its description, which is the text the model reads security
    • Tool “signature_get_signature_envelope” rewrote its description, which is the text the model reads security
    • Tool “vendor_bill_create_vendor_bill” rewrote its description, which is the text the model reads security
    • Tool “vendor_bill_get_list_vendor_bills” rewrote its description, which is the text the model reads security
    • Tool “vendor_bill_get_vendor_bill” rewrote its description, which is the text the model reads security
    • Tool “vendor_bill_mark_vendor_bill_paid” rewrote its description, which is the text the model reads security
    • Schema quality: 17365 → 30245 functional
    • “card_create_card” added a required parameter “accountId”, so existing callers break functional
    • “field_suggest_field_options” added a required parameter “companyId”, so existing callers break functional
    • “invoice_get_invoice_pdf_url” added a required parameter “companyId”, so existing callers break functional
    • “saved_view_get_list_saved_views” added a required parameter “companyId”, so existing callers break functional
    • Tool coverage: 88% → 100% functional
    • Destructive annotations: 19 of 24 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "accounting_suggest_transfer_pairs" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does. functional
    • New tool “transaction_get_list_categorization_rules” functional
    • New tool “itin_get_itin_application” functional
    • New tool “itin_get_itin_mailing_instructions” functional
    • New tool “itin_get_itin_quote” functional
    • New tool “itin_list_itin_applications” functional
    • New tool “itin_list_itin_documents” functional
    • New tool “itin_mark_itin_documents_mailed” functional
    • New tool “itin_poll_itin_checkout” functional
    • New tool “itin_save_itin_intake_draft” functional
    • New tool “itin_submit_itin_for_review” functional
    • New tool “list_accounts” functional
    • New tool “list_agents” functional
    • New tool “list_send_recipients” functional
    • New tool “mcp_draft_transfer” functional
    • New tool “read_agent_spend” functional
    • New tool “read_insights” functional
    • New tool “read_transactions” functional
    • New tool “request_transfer_approval” functional
    • New tool “subscription_get_list_subscriptions” functional
    • New tool “trademark_attach_document” functional
    • New tool “trademark_draft_goods_services” functional
    • New tool “trademark_firm_acknowledge_handoff” functional
    • New tool “trademark_firm_get_handoff_package” functional
    • New tool “trademark_firm_list_pending_handoffs” functional
    • New tool “trademark_firm_request_additional_info” functional
    • New tool “trademark_firm_update_handoff_status” functional
    • New tool “trademark_generate_package” functional
    • New tool “trademark_get_application” functional
    • New tool “trademark_get_clearance_report” functional
    • New tool “trademark_get_list_applications” functional
    • New tool “trademark_get_upload_url” functional
    • New tool “trademark_recommend_classes” functional
    • New tool “trademark_run_clearance” functional
    • New tool “trademark_set_classes” functional
    • New tool “trademark_set_competitors” functional
    • New tool “trademark_set_goods_services” functional
    • New tool “trademark_set_mark” functional
    • New tool “trademark_set_owner” functional
    • New tool “trademark_set_use_dates” functional
    • New tool “trademark_start_application” functional
    • New tool “trademark_study_competitors” functional
    • New tool “trademark_suggest_classes” functional
    • New tool “transaction_apply_categorization_rule” functional
    • New tool “transaction_batch_categorize_transactions” functional
    • New tool “transaction_batch_categorize_transactions_by_account” functional
    • New tool “transaction_categorize_transaction_by_account” functional
    • New tool “transaction_get_categorization_rule” functional
    • New tool “accounting_batch_accept_review_items” functional
    • New tool “accounting_batch_set_excluded” functional
    • New tool “accounting_confirm_statement_match” functional
    • New tool “accounting_confirm_transfer_pair” functional
    • New tool “accounting_get_funding_summaries” functional
    • New tool “accounting_get_gl_account_type_catalog” functional
    • New tool “accounting_get_list_review_items” functional
    • New tool “accounting_get_list_statements” functional
    • New tool “accounting_get_review_counts” functional
    • New tool “accounting_get_statement” functional
    • New tool “accounting_set_opening_balance” functional
    • New tool “accounting_suggest_statement_matches” functional
    • New tool “accounting_suggest_transfer_pairs” functional
    • New tool “accounting_unpair_transfer” functional
    • New tool “ads_insight_summarize_ad_spend” functional
    • New tool “approval_session_create_approval_session” functional
    • New tool “autonomous_pay” functional
    • New tool “banking_confirm_extracted_value” functional
    • New tool “banking_confirm_initial_transfer” functional
    • New tool “banking_extract_document_fields” functional
    • New tool “banking_get_banking_application” functional
    • New tool “banking_get_initial_transfer_preview” functional
    • New tool “banking_get_issuance_state” functional
    • New tool “banking_hydrate_from_cap_table” functional
    • New tool “banking_hydrate_from_formation” functional
    • New tool “banking_preview_cap_table_hydration” functional
    • New tool “banking_preview_formation_hydration” functional
    • New tool “banking_refresh_application_provider_status” functional
    • New tool “banking_refresh_owner_verification” functional
    • New tool “banking_start_banking_application” functional
    • New tool “banking_suggest_industry_code” functional
    • New tool “banking_update_banking_application” functional
    • New tool “banking_upsert_beneficial_owner” functional
    • New tool “captable_hydrate_formation_carry” functional
    • New tool “captable_preview_formation_carry” functional
    • New tool “card_get_dispute” functional
    • New tool “card_get_list_card_disputes” functional
    • New tool “company_update_company” functional
    • New tool “connection_suggest_connections” functional
    • New tool “draft_agent_account” functional
    • New tool “draft_payment” functional
    • New tool “equity_onboarding_get” functional
    • New tool “equity_onboarding_hydrate_formation_carry” functional
    • New tool “equity_onboarding_preview_formation_carry” functional
    • New tool “equity_onboarding_start” functional
    • New tool “equity_onboarding_update” functional
    • New tool “formation_check_domain_availability” functional
    • New tool “formation_confirm_cohort_deal_terms” functional
    • New tool “formation_confirm_naics_code” functional
    • New tool “formation_create_domain_checkout” functional
    • New tool “formation_create_domain_transfer_checkout” functional
    • New tool “formation_extract_safe_terms_ocr” functional
    • New tool “formation_get_domain_order” functional
    • New tool “formation_get_domain_transfer_status” functional
    • New tool “formation_get_formation_timeline” functional
    • New tool “formation_list_company_domains” functional
    • New tool “formation_lookup_domain_dns_records” functional
    • New tool “formation_record_entity_guidance_quiz” functional
    • New tool “formation_set_banking_intent” functional
    • New tool “formation_set_company_setup_details” functional
    • New tool “formation_set_selected_domain” functional
    • New tool “formation_set_team_equity” functional
    • New tool “formation_suggest_naics_codes” functional
    • New tool “formation_update_shareholder” functional
    • New tool “insight_get_insight” functional
    • New tool “insight_get_savings_summary” functional
    • New tool “itin_check_itin_eligibility” functional
    • New tool “itin_create_itin_checkout” functional
    • New tool “itin_create_itin_document_upload_link” functional
    • “accounting_preview_close” added an optional parameter “granularity” cosmetic
    • “cap_table_generate_cap_table_agreement_pdf” added an optional parameter “templateFields” cosmetic
    • “cap_table_import_safe” added an optional parameter “unsignedDocument” cosmetic
    • “cap_table_record_cap_table_wire” added an optional parameter “reviewedProof” cosmetic
    • “formation_add_shareholder” added an optional parameter “addressType” cosmetic
    • “formation_set_company_address” added an optional parameter “physicalBusinessAddress” cosmetic
    • “formation_start_formation” added an optional parameter “inviteToken” cosmetic
    • “signature_create_envelope” added an optional parameter “sourceCompanyId” cosmetic
    • “signature_create_envelope” added an optional parameter “sourceDocumentId” cosmetic
    • “transaction_get_summary” added an optional parameter “scope” cosmetic
    • “transaction_get_summary” added an optional parameter “timeBucket” cosmetic
    • “captable_send_safe_for_signature” dropped the optional parameter “accessCode” cosmetic
    • “formation_confirm_payment” dropped the optional parameter “paymentConfirmed” cosmetic
    • “formation_get_payment_link” dropped the optional parameter “billingInterval” cosmetic
    • “signature_create_envelope” dropped the optional parameter “accessCode” cosmetic
  • 10 Sept 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

  • 7 Sept 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

  • 5 Sept 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

  • 3 Sept 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

  • 1 Sept 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://mcp.lovie.co/mcp/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.lovie.co CN=WE1,O=Google Trust Services,C=US 11 Aug 2026 9 Nov 2026 ECDSA 256 ECDSA-SHA256 bd5572c47fda70e70ee37c945006247c
SANs: mcp.lovie.co
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.lovie.co. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
co. present 7786 8 Verified
lovie.co. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="mcp", resource_metadata="https://mcp.lovie.co/.well-known/oauth-protected-resource/mcp/mcp"

Bearer realm="mcp", resource_metadata="https://mcp.lovie.co/.well-known/oauth-protected-resource/mcp/mcp"
Header Value
strict-transport-security max-age=0; includeSubDomains; preload
x-content-type-options nosniff

Protected resource metadata

Document https://mcp.lovie.co/.well-known/oauth-protected-resource/mcp/mcp
Retrieved Yes
Resource https://mcp.lovie.co/mcp/mcp
Authorisation server https://clerk.lovie.co

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.lovie.co/mcp/mcp Verified 200
http (plaintext) http://mcp.lovie.co/mcp/mcp HTTPS enforced 301 https://mcp.lovie.co/mcp/mcp
MCP tools · 333 exposed · ~29,622 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
documents_get_document ~44

Fetch one document's metadata and its related signed/unsigned set.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
documentIdobjectyesUUID value wrapper.
NameTypeReqDescription
document
relatedarray

No examples provided.

documents_get_user_template ~46

Fetch one user-uploaded template including Vision-detected fillable fields.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
templateIdobjectyesUUID value wrapper.
NameTypeReqDescription
template

No examples provided.

documents_list_documents ~48

List a company's documents, filtered by type, source, category, or template.

NameTypeReqDescription
filterobject
pageSizeinteger
pageTokenstring
NameTypeReqDescription
documentsarray
nextPageTokenstring
totalCountinteger

No examples provided.

documents_list_saved_signatures ~33

List the caller's saved signatures for the selected company.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
NameTypeReqDescription
savedSignaturesarray

No examples provided.

documents_list_user_templates ~43

List company-scoped user-uploaded templates (Use your own template). Separate from Lovie's builtin catalog.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
NameTypeReqDescription
templatesarray

No examples provided.

documents_update_document ~59

Rename a stored document by updating its title. Company-scoped: only the owning company's members may rename.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
documentIdobjectyesUUID value wrapper.
titlestring

Structured output declared, but exposes no named fields.

No examples provided.

draft_agent_account ~90

Draft a proposed agent-account setup for human review: a suggested spend envelope (per-payment / daily caps), allowed rails, and status. Creates nothing — a human provisions from the spec.

NameTypeReqDescription
agentNamestring
companyIdstring
purposestring
suggestedDailyCentsinteger
suggestedPerPaymentCentsinteger
NameTypeReqDescription
specJsonstring
summarystring

No examples provided.

draft_payment ~138

Draft a payment for human review: returns a canonical, ready-to-sign Mandate (body JSON + JCS hash) and a plain-language summary. Does NOT move money or run the pipeline — a human commits it by signing and submitting.

NameTypeReqDescription
accountNumberIdstring
amountCentsinteger
companyIdstring
counterpartyRefstring
customerIdstring
expiresInSecondsinteger
keyFingerprintstring
memostring
railstring
signerIdstring
NameTypeReqDescription
jcsHashstring
mandateBodyJsonstring
summarystring

No examples provided.

equity_onboarding_get ~105

Returns a company's proof-of-formation intake: the facts on file, which sections are still outstanding and why, and how much is answered. Read-only. Resolve it by company rather than by id — the server finds the company's one open intake. A section that comes back with a handoff_url cannot be finished by any tool: send the person to that URL.

NameTypeReqDescription
companyIdobjectUUID value wrapper.
onboardingIdobjectUUID value wrapper.
NameTypeReqDescription
onboarding

No examples provided.

equity_onboarding_hydrate_formation_carry ~112

Carries a company's Lovie formation into its intake: the facts, the registered agent, and the stamped certificate of incorporation or formation. Idempotent, and it never overwrites an answer the person gave themselves. Call this before asking for anything on a company Lovie formed — it usually settles the proof section outright, which is the one section no tool can fill.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
onboardingIdobjectyesUUID value wrapper.
NameTypeReqDescription
onboarding

No examples provided.

equity_onboarding_preview_formation_carry ~75

Says what a company's Lovie formation would carry into the intake, without writing anything. Read-only. When the formation cannot be read the answer is that it is unavailable — not an error — so offer to collect the facts directly instead of retrying.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
NameTypeReqDescription
availableboolean
formationId
prefillPercentinteger
rowsarray
stillNeededarray

No examples provided.

equity_onboarding_start ~81

Opens a company's proof-of-formation intake so its cap table can be set up. Idempotent: a company has at most one open intake, and calling again returns the existing one rather than splitting the answers across two records. Safe to call first when you do not know whether an intake exists.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
NameTypeReqDescription
onboarding

No examples provided.

equity_onboarding_submit ~89

Finishes the intake and records the company's proof of formation. A refusal is a normal answer, not a failure: it names the sections still blocking and, for a section no tool can clear, the URL where a person finishes it. Read that back rather than retrying. On success the cap table opens for a named, documented entity.

NameTypeReqDescription
onboardingIdobjectyesUUID value wrapper.
NameTypeReqDescription
blockingSectionsarray
onboarding

No examples provided.

equity_onboarding_update ~142

Records the company facts the intake asks for: legal name, entity type, the state (or, for a non-US company, the country) it was incorporated in, the formation date, the company's own address, and — for a US company — its registered agent's name and address. Only the paths named in the field mask are written, and each one lands attributed to the person who answered. The employer identification number is accepted but never required — a company formed days ago will not have one for weeks, and its absence does not hold the intake up.

NameTypeReqDescription
onboardingobjectyes
updateMaskstringyesComma-separated field paths.
NameTypeReqDescription
onboarding

No examples provided.

field_get_field ~53

Get a single field by ID or code

NameTypeReqDescription
codeobjectLowercase kebab-case code identifier.
companyIdobjectUUID value wrapper.
idobjectUUID value wrapper.
NameTypeReqDescription
field

No examples provided.

field_get_field_option ~66

Get a single field option by ID or code

NameTypeReqDescription
codeobjectLowercase kebab-case code identifier.
companyIdobjectUUID value wrapper.
fieldIdobjectyesUUID value wrapper.
idobjectUUID value wrapper.
NameTypeReqDescription
option

No examples provided.

field_get_list_field_options ~42

List field options with filtering and pagination

NameTypeReqDescription
filterobjectyes
pageSizeinteger
pageTokenstring
NameTypeReqDescription
nextPageTokenstring
optionsarray
totalCountinteger

No examples provided.

field_get_list_fields ~48

List fields with filtering and pagination

NameTypeReqDescription
filterobject
includeOptionsboolean
pageSizeinteger
pageTokenstring
NameTypeReqDescription
fieldsarray
nextPageTokenstring
totalCountinteger

No examples provided.

field_suggest_field_options ~62

SuggestFieldOptions asks the LLM to propose dropdown option labels for a SELECT-typed field. Synchronous unary call.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
existingOptionsarray
fieldNamestring
NameTypeReqDescription
suggestionsarray

No examples provided.

field_value_get_list_entity_field_values ~40

List an entity's field values (detail/edit/admin flows only — N+1 over a grid).

NameTypeReqDescription
filterobjectyes
NameTypeReqDescription
valuesarray

No examples provided.

formation_acknowledge_warnings ~75

Acknowledges entity-type warnings raised when the user chooses an entity type against the recommendation (e.g. an LLC despite indicators pointing to C-Corp). Required before proceeding whenever warnings were raised while setting the company type.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
warningTypesarray
NameTypeReqDescription
acknowledgedWarningsarray
formationId
messagestring

No examples provided.

formation_add_shareholder ~91

AddShareholder adds a shareholder or LLC member

NameTypeReqDescription
addressobject
addressTypestring
emailstring
firstNamestring
formationIdobjectyesUUID value wrapper.
lastNamestring
ownershipPercentagestring
phonestring
rolestring
NameTypeReqDescription
formationId
ownershipCompleteboolean
shareholder
totalOwnershipstring
totalShareholdersinteger

No examples provided.

formation_append_conversation_entry ~52

AppendConversationEntry atomically appends one or more chat entries to the formation's conversation_history. Owner-scoped.

NameTypeReqDescription
entriesarray
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
formation

No examples provided.

formation_approve_certificate ~149

Records the user's approval of the reviewed formation details (the certificate checkpoint). This only records approval — it files NOTHING with any state and charges NOTHING, so it is always safe to call, including during testing; never refuse or stop short because it is a 'test'. Call it once the user has reviewed the details and confirmed they are correct. As soon as this returns, call formation_get_payment_link with the SAME formation_id. Formation is a single one-time payment — there is NO subscription and NO monthly/annual choice, so do NOT ask the user to pick a billing cadence. Do NOT start a new formation or re-run earlier steps.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
approvedAt
certificateIdstring
formationId
nextStepstring

No examples provided.

formation_check_domain_availability ~53

Checks whether a specific fully-qualified domain (e.g. "acme.com") is available to register. Informational only; does not read or change any formation or company.

NameTypeReqDescription
domainstring
NameTypeReqDescription
availableboolean
messagestring
reasonstring

No examples provided.

formation_check_name ~31

CheckName checks company name availability in the selected state

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
companyNamestring
formationId
result

No examples provided.

formation_claim_demo_formations ~92

ClaimDemoFormations reassigns formations created during a demo session (under a hardcoded demo user) to a newly-signed-up real user. This is a cross-user mutation; the server enforces reviewer/admin/service role.

NameTypeReqDescription
fromUserIdobjectyesUUID value wrapper.
sessionIdobjectyesUUID value wrapper.
toUserIdobjectyesUUID value wrapper.
NameTypeReqDescription
claimedinteger
formationId

No examples provided.

formation_confirm_cohort_deal_terms ~68

Record that the founder confirms the starter investment terms their accelerator offered, as shown on their formation. Idempotent. This records agreement only — it does not create a security, change a cap table, or move money.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
confirmedAt

No examples provided.

formation_confirm_naics_code ~131

Records the NAICS industry classification a founder has chosen for their formation. Call formation_suggest_naics_codes first, show the candidates with their official titles, and call this ONLY after the person has explicitly picked one. Never choose on their behalf and never infer a code from the business description alone: this value travels onto a bank application, where a wrong classification is a compliance problem rather than a typo. The code is checked against the 2022 edition and a code naming no real industry is refused.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
naicsCodestring
NameTypeReqDescription
formationId
naicsCodestring
naicsTitle

No examples provided.

formation_confirm_payment ~119

Verifies with Stripe that payment actually completed and, on success, advances the formation to filing. Usually unnecessary — payment auto-confirms via webhook once the user pays. Only call this if the user explicitly returns and says they have paid. A user saying they paid is NOT proof — only a successful result here confirms payment. If it is not successful, do not tell the user payment succeeded or proceed to filing; ask them to complete checkout and retry.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
stripeSessionIdstring
NameTypeReqDescription
formationId
messagestring
paymentStatusstring
statusstring

No examples provided.

formation_create_domain_checkout ~109

Starts a PAID domain purchase for the company: quotes the live registrar price plus Lovie's margin and returns a Stripe Checkout URL — give it to the user, payment happens on the Stripe page. Companies still eligible for their included free domain are refused here (their first domain uses the free flow). Requires passed identity verification (KYC); a failed-precondition answer means walk the user through verifying first.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
domainstring
NameTypeReqDescription
amountCentsstring
checkoutUrlstring
currencystring

No examples provided.

formation_create_domain_transfer_checkout ~81

Starts transferring a domain the company already owns elsewhere INTO Lovie: returns a Stripe Checkout URL covering the transfer (which includes a one-year renewal). After payment, start the transfer with the auth code from the current registrar. Requires passed identity verification (KYC).

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
domainstring
NameTypeReqDescription
amountCentsstring
checkoutUrlstring
currencystring

No examples provided.

formation_create_formation ~87

CreateFormation creates a formation with full data (MCP/bulk use case). A request whose shareholders carry ssn_last4 is refused with INVALID_ARGUMENT and writes nothing: those four digits are recorded only by SetShareholderTaxIdentifier, after the whole identifier has reached the secret store. Accepting them here would report a saved number that nothing holds.

NameTypeReqDescription
formationobjectyes
NameTypeReqDescription
formationIdyes

No examples provided.

formation_delete_pending_domain ~61

Removes an abandoned pending domain purchase attempt from the company's domain list. Only pending (never-completed) purchases can be removed; registered domains cannot be deleted this way.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
domainstring

Structured output declared, but exposes no named fields.

No examples provided.

formation_describe_business ~99

Analyzes a business description and recommends the best entity type (LLC or C-Corp) with a confidence score. Call this once you understand what the user is building. When the recommendation is LLC or confidence is not high, mention that Lovie offers a free LLC-to-C-Corp conversion later.

NameTypeReqDescription
descriptionobjectyesFree-form description (max 5000 chars).
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
formationId
indicatorsarray
recommendation

No examples provided.

formation_extract_cap_table ~140

Runs vision OCR on an uploaded cap table file and returns the extracted rows without persisting them. Each row may include a vesting schedule (vesting_start_date / vesting_total_months / vesting_cliff_months) for service equity held by founders, employees, and advisors. PRESERVE these vesting fields and pass them through to RecordCapTableInvestment when creating each holding — do not drop them or record such holdings as fully vested. Investor instruments (SAFE, preferred) carry no vesting.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
mimeTypestring
sourceS3Uristring
NameTypeReqDescription
extractedShareholdersarray
formationId
ocrConfidencestring
sourceS3Uristring
sourceTotalSharesstring
totalOwnershipPercentagestring
totalSharesstring
warningsarray

No examples provided.

formation_extract_cap_table_ocr ~145

Runs vision OCR on an uploaded cap table for the active company and returns the extracted rows without persisting them. Each row may include a vesting schedule (vesting_start_date / vesting_total_months / vesting_cliff_months) for service equity held by founders, employees, and advisors. PRESERVE these vesting fields and pass them through to RecordCapTableInvestment when creating each holding — do not drop them or record such holdings as fully vested. Investor instruments (SAFE, preferred) carry no vesting.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
mimeTypestring
sourceS3Uristring
NameTypeReqDescription
extractedShareholdersarray
ocrConfidencestring
sourceS3Uristring
sourceTotalSharesstring
totalOwnershipPercentagestring
totalSharesstring
warningsarray

No examples provided.

formation_extract_rsa_terms_ocr ~228

Runs vision OCR on an already-uploaded signed Restricted Stock Purchase/Award Agreement (RSA) PDF for the active company and returns the founder and company names plus structured terms (total_shares, unvested_shares, price_per_share, grant_date, vesting_start_date / vesting_total_months / vesting_cliff_months, acceleration_clause, repurchase_right, 83(b) status, etc.) WITHOUT persisting anything. Empty string / 0 / false means the value was not stated in the document — never fabricate. Flow: first call GetOcrUploadURL with kind=RSA and upload the PDF, then call this tool with the returned source_s3_uri. To persist the grant and link the document, pass the extracted terms and the SAME source_s3_uri to CreateCapTableAgreement with type=CAP_TABLE_AGREEMENT_TYPE_RSA — preserve the vesting fields, do not drop them.

NameTypeReqDescription
agentCodestring
companyIdobjectyesUUID value wrapper.
sourceS3Uristring
NameTypeReqDescription
companyNamestring
founderNamestring
ocrConfidencestring
rsaTerms
sourceS3Uristring
warningsarray

No examples provided.

formation_extract_safe_terms ~255

Reads a SAFE PDF and returns its terms WITHOUT saving anything. Always call this before ImportSAFE and show the result to the user for confirmation — never import a SAFE the user has not seen. Present one block per document, largest investment first, with exactly these fields in this order: investor name, investment amount, valuation cap, discount, post-money or pre-money, date, and which existing stakeholder it will be matched to (or that a new one will be created). Then state the effect on the cap table as three figures — stakeholders, SAFEs and SAFE capital now, what this import adds, and the totals after — and ask the user to confirm. Report the confidence score and every warning verbatim in plain language rather than as codes. Two things block the import until the user resolves them: a missing date (ask for it; a SAFE is never imported without one) and a company name on the document that differs from the company being imported into (say both names and ask the user to confirm it belongs here). This is the same review the web upload screen performs, so keep the wording and order identical.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
sourceS3Uristring
NameTypeReqDescription
companyNamestring
formationId
investorNamestring
ocrConfidencestring
safeTerms
sourceS3Uristring
warningsarray

No examples provided.

formation_extract_safe_terms_ocr ~70

ExtractSafeTermsOcr runs vision OCR on a SAFE PDF for a company (no formation required). Company-scoped: requires an active company.

NameTypeReqDescription
agentCodestring
companyIdobjectyesUUID value wrapper.
sourceS3Uristring
NameTypeReqDescription
companyNamestring
investorNamestring
isSignedboolean
ocrConfidencestring
safeTerms
sourceS3Uristring
warningsarray

No examples provided.

formation_generate_certificate ~99

Prepares the Certificate of Formation/Incorporation as a review checkpoint before filing. This is a confirmation step, NOT a downloadable document — the official, state-issued certificate is produced only after payment and state filing, so do NOT present a download link here. Summarize the formation details for the user to review, then call formation_approve_certificate only once they explicitly confirm the details are correct.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
certificateIdstring
downloadUrlstring
expiresAt
formationId
minutesRemaininginteger

No examples provided.

formation_get_domain_auth_code ~117

Reveals the domain's transfer authorization (EPP) code and lifts the transfer lock — the customer's exit door, shown once and never stored. Requires a trusted-device approval: open one with identity's create-approval-session tool (action_type domain_auth_code_reveal, payload {domain}), have the user approve on their phone, then pass the session id as approval_session_id.

NameTypeReqDescription
approvalSessionIdobjectUUID value wrapper.
companyIdobjectyesUUID value wrapper.
domainstring
NameTypeReqDescription
authCodestring

No examples provided.

formation_get_domain_order ~50

Returns one domain purchase's live status — use it to answer 'did my domain go through?' after checkout.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
domainstring
NameTypeReqDescription
autoRenewboolean
expiresAt
statusstring

No examples provided.

formation_get_domain_transfer_status ~63

Reports a transfer-in's live progress at the registrar (waiting on the losing registrar, completed, failed). Poll sparingly — registrar transfers move on a scale of days.

NameTypeReqDescription
companyIdobjectyesUUID value wrapper.
domainstring
NameTypeReqDescription
detailstring
statusstring

No examples provided.

formation_get_ein_filing_info ~41

GetEinFilingInfo returns the stored payload without the SSN/ITIN.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
hasSsnboolean
info

No examples provided.

formation_get_filing_fee ~64

GetFilingFee returns the state formation filing fee (table amount, formatted string, and Stripe Price id when charged via a pre-created Price). Used by the onboarding review/certificate step. Stateless lookup — no formation context required.

NameTypeReqDescription
statestring
NameTypeReqDescription
amountCentsstring
formattedstring
stripePriceIdstring

No examples provided.

formation_get_formation ~121

Returns the full formation record for a formation_id: company name, entity type, state, business address, registered agent, share structure, shareholders, authorized party, EIN, certificate data, payment and filing status, and timestamps. Use this to answer specific questions such as the user's EIN, registered agent, company address, or shareholders, and to RESUME an in-progress formation with a formation_id you already have — it works both before and after sign-in (do not start a new formation to resume).

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
formation
progress

No examples provided.

formation_get_formation_document_download_url ~84

Returns a short-lived signed URL for one of a formation's documents. Reviewer role only. The URL is a read credential and expires; treat it as one — do not repeat it back or store it anywhere it outlives the answer it was fetched for.

NameTypeReqDescription
documentTypestring
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
contentTypestring
downloadUrlstring
expiresAt
fileNamestring

No examples provided.

formation_get_formation_info ~32

GetFormationInfo returns educational content topics or content for a specific topic

NameTypeReqDescription
topicstring
NameTypeReqDescription
contentstring
topicstring
topicsarray

No examples provided.

formation_get_formation_purchase_quote ~73

GetFormationPurchaseQuote returns the CorpTools filing product, methods, parsed form schema, prefilled values, and missing required fields for a formation (non-DE/WY states). Reviewer-only; no side effects beyond ensuring a CorpTools company record exists.

NameTypeReqDescription
formationIdobjectyesUUID value wrapper.
NameTypeReqDescription
corpToolsCompanyIdstring
filingMethodsarray
missingFieldsarray
prefilled
productIdstring
productNamestring
schemaFieldsarray

No examples provided.

Common questions

What is the Lovie Company Formation MCP server?

Lovie Company Formation is an MCP server listed in the public MCP registry as co.lovie/company-formation. Form companies, manage bank accounts, cards, invoices and more, directly from your AI coding tools. This page covers its hosted endpoint (https://mcp.lovie.co/mcp/mcp).

Is the Lovie Company Formation MCP server safe to use?

Lovie Company Formation scores 89 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Lovie Company Formation MCP server expose?

Lovie Company Formation exposes 333 tools: account_get_account, account_get_list_account_details, accounting_batch_accept_review_items, accounting_batch_set_excluded, accounting_cancel_schedule, and 328 more. Their descriptions and schemas cost roughly 29,622 tokens of context every time the server is loaded.

Does the Lovie Company Formation MCP server require authentication?

Yes. Lovie Company Formation asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Lovie Company Formation MCP server still maintained?

Lovie Company Formation is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.