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.
Available components
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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
claude mcp add --transport http co-lovie-company-formation 'https://mcp.lovie.co/mcp/mcp'
{
"mcpServers": {
"co-lovie-company-formation": {
"url": "https://mcp.lovie.co/mcp/mcp"
}
}
} {
"servers": {
"co-lovie-company-formation": {
"type": "http",
"url": "https://mcp.lovie.co/mcp/mcp"
}
}
} [mcp_servers.co-lovie-company-formation] url = "https://mcp.lovie.co/mcp/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"co-lovie-company-formation": {
"type": "remote",
"url": "https://mcp.lovie.co/mcp/mcp",
"enabled": true
}
}
} openclaw mcp add co-lovie-company-formation --url 'https://mcp.lovie.co/mcp/mcp' --transport streamable-http
mcp_servers:
co-lovie-company-formation:
url: "https://mcp.lovie.co/mcp/mcp" {
"McpServers": {
"co-lovie-company-formation": {
"Transport": "http",
"Url": "https://mcp.lovie.co/mcp/mcp"
}
}
} assistant mcp add co-lovie-company-formation -t streamable-http -u 'https://mcp.lovie.co/mcp/mcp'
{
"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.
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.
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 |
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 →
itin_create_itin_document_upload_link Create ITIN Document Upload Link ~58
Mints the secure, upload-only browser page for the user's identity documents (a passport photo page is enough). Chat cannot receive files — always hand the user this link.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| expiresAt | – | – | – |
| url | string | – | – |
No examples provided.
itin_get_itin_application Get ITIN Application ~63
Returns one ITIN application merged with the provider pipeline: who acts next, the identity-call booking link when scheduled, and the final outcome. Use this to answer 'any news on my ITIN?'.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| application | – | – | – |
No examples provided.
itin_get_itin_mailing_instructions Get ITIN Mailing Instructions ~56
Returns where to mail the wet-signed W-7 package, the envelope checklist, and the case reference. Share when the pipeline reaches the mail step.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| caseReference | string | – | – |
| checklist | array | – | – |
| officeAddress | string | – | – |
No examples provided.
itin_get_itin_quote Get ITIN Quote ~67
Returns Lovie's price and timeline for a U.S. ITIN application (IRS Form W-7) — the tax id for founders without an SSN. Quote this before offering the service; the price shown is exactly what checkout charges.
| Name | Type | Req | Description |
|---|---|---|---|
| package | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | – | – |
| irsWindow | string | – | – |
| preparationSla | string | – | – |
| priceCents | string | – | – |
No examples provided.
itin_list_itin_applications List ITIN Applications ~52
Lists the company's ITIN applications with status. Call this FIRST when the user asks about an ITIN — never ask them for an application id.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| applications | array | – | – |
No examples provided.
itin_list_itin_documents List ITIN Documents ~56
Lists the uploaded identity documents with review status and OCR feedback (blurry, expired, name mismatch). Relay any feedback and offer a fresh upload link before submitting for review.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| documents | array | – | – |
No examples provided.
itin_mark_itin_documents_mailed Mark ITIN Documents Mailed ~64
Records that the user mailed their signed W-7 package; include the courier tracking number so the team can watch for arrival.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| carrier | string | – | – |
| trackingNumber | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| remoteState | string | – | – |
No examples provided.
itin_poll_itin_checkout Poll ITIN Checkout ~47
Re-checks a pending ITIN payment against Stripe and settles it if paid. Use after the user says they completed checkout.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | – |
No examples provided.
itin_save_itin_intake_draft Save ITIN Intake Draft ~65
Persists partial W-7 intake answers while collecting them conversationally, so nothing is lost between sessions. Overwrites the previous draft — send everything gathered so far.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| draft | object | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
itin_submit_itin_for_review Submit ITIN For Review ~58
Hands the case to the provider's review team once identity documents are on file. A legible passport that matches the intake auto-verifies straight to the video-call booking step.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| remoteState | string | – | – |
No examples provided.
itin_submit_itin_intake Submit ITIN Intake ~120
Submits the confirmed W-7 intake and pushes the application to the processing partner. Only call after showing the user a full summary and getting explicit confirmation. Requires a trusted-device approval: open one with identity's create-approval-session tool (action_type itin_submit_intake, payload {applicationId}), have the user approve on their phone, then pass the session id as approval_session_id.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| approvalSessionId | object | – | UUID value wrapper. |
| intake | object | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| pushError | string | – | – |
| status | string | – | – |
No examples provided.
kyc_get_kyc_status Get KYC Status ~47
GetKycStatus aggregates the user's inquiries into a single app-level KYC status. Safe to expose to agents.
| Name | Type | Req | Description |
|---|---|---|---|
| userId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| latestInquiryId | – | – | – |
| status | string | – | – |
No examples provided.
kyc_start_kyc_inquiry Start KYC Inquiry ~110
StartKycInquiry creates a provider inquiry and returns the hosted flow URL. Idempotent within an open inquiry window. Exposed because the Mac app reaches the server only over MCP, and only an inquiry this service opened is one the webhook and GetKycStatus can read.
| Name | Type | Req | Description |
|---|---|---|---|
| redirectUri | string | – | – |
| templateId | string | – | – |
| trustedDeviceId | object | – | UUID value wrapper. |
| userId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| hostedFlowUrl | string | – | – |
| inquiryId | – | yes | – |
No examples provided.
list_accounts List Accounts ~43
List the company's bank accounts with current balances. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| accounts | array | – | – |
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
No examples provided.
list_agents List Company Agents ~41
List the company's registered payment agents (assistants) with their autonomy envelopes (caps, allowed rails, status). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agents | array | – | – |
No examples provided.
list_send_recipients List Recipients ~93
ListRecipients returns a company's registered destinations, optionally narrowed to one counterparty. One counterparty may have many recipients, so this is what a send-money picker enumerates. Company-scoped + membership-authorized. MCP-exposed (read-only).
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | – |
| counterpartyId | string | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| nextPageToken | string | – | – |
| recipients | array | – | – |
| totalCount | integer | – | – |
No examples provided.
mcp_draft_transfer Mcp Draft Transfer ~124
Seal a transfer to a registered recipient as a server-held draft and get back a summary plus a single-use draft_id. Moves no money. Requires an active trusted device. Any change to amount, recipient, or rail is a NEW draft.
| Name | Type | Req | Description |
|---|---|---|---|
| amountCents | integer | – | – |
| companyId | string | – | – |
| destinationAccountId | string | – | – |
| memo | string | – | – |
| rail | string | – | – |
| recipientId | string | – | – |
| serviceLevel | string | – | – |
| sourceAccountId | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| availableCents | string | – | – |
| draftId | string | – | – |
| expiresAt | – | – | – |
| feeCents | string | – | – |
| summary | string | – | – |
| totalDebitCents | string | – | – |
No examples provided.
meta_ads_metrics_get_meta_ads_campaign_window Get Meta Ads Campaign Window ~69
GetMetaAdsCampaignWindow aggregates each campaign over an arbitrary date range — the shape a charge is reconciled against.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | – | – |
| companyId | string | – | – |
| periodEnd | string | – | – |
| periodStart | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| campaigns | array | – | – |
| currencyCode | string | – | – |
| totalSpend | string | – | – |
No examples provided.
notification_get_list_notifications List Notifications ~46
GetListNotifications lists notifications for the caller with filtering and pagination
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| nextPageToken | string | – | – |
| notifications | array | – | – |
| totalCount | integer | – | – |
| unreadCount | integer | – | – |
No examples provided.
notification_get_notification Get Notification ~30
GetNotification returns a single notification owned by the caller
| Name | Type | Req | Description |
|---|---|---|---|
| id | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| notification | – | – | – |
No examples provided.
payment_get_list_payments List Payments ~80
Lists payments a company has received, newest first, each with the invoice it was applied to. Read-only and paginated. Use this to answer "what has come in" or to reconcile an invoice against what was actually collected.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| nextPageToken | string | – | – |
| payments | array | – | – |
| totalCount | integer | – | – |
No examples provided.
payment_get_payment Get Payment ~46
Returns one payment received against an invoice, by id: amount, date, method and the invoice it was applied to. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| id | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| payment | – | – | – |
No examples provided.
read_agent_spend Get Agent Spend ~52
Read an agent's settled spend broken down by counterparty and rail over an optional time window.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | – |
| signerId | string | – | – |
| since | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| spend | – | – | – |
No examples provided.
read_insights List Insights ~57
List the company's cost-intelligence insights (savings opportunities, spend anomalies) with status/type filtering and pagination. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | yes | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| insights | array | – | – |
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
No examples provided.
read_transactions List Transactions ~71
List the company's transactions with filtering, sorting, and pagination. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| includeTotalCount | boolean | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| sortField | string | – | – |
| sortOrder | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
| transactions | array | – | – |
No examples provided.
request_transfer_approval Request Transfer Approval ~68
Send the trusted-device approval for a sealed draft to the user's phone. Tell the user to answer within ~5 minutes. Poll approval status with get_approval_session_status only when the user says they have answered.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | – |
| draftId | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| approvalSessionId | string | – | – |
| expiresAt | – | – | – |
No examples provided.
saved_view_get_default_saved_view Get Default Saved View ~61
GetDefaultSavedView returns the calling user's pinned default view for a datatable (empty when none is pinned)
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| datatableCode | object | yes | Lowercase kebab-case code identifier. |
| Name | Type | Req | Description |
|---|---|---|---|
| savedViewId | – | – | – |
No examples provided.
saved_view_get_list_saved_views List Saved Views ~58
GetListSavedViews lists saved views with filtering and pagination
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| nextPageToken | string | – | – |
| savedViews | array | – | – |
| totalCount | integer | – | – |
No examples provided.
saved_view_get_saved_view Get Saved View ~32
GetSavedView retrieves a single saved view by ID
| Name | Type | Req | Description |
|---|---|---|---|
| id | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| savedView | – | – | – |
No examples provided.
shopify_orders_get_shopify_payout_orders Get Shopify Payout Orders ~74
GetShopifyPayoutOrders lists the orders that make up a single payout, with the payout's authoritative gross/fees/net — the shape a deposit is reconciled against.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | – |
| payoutId | string | – | – |
| shopDomain | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| currencyCode | string | – | – |
| fees | string | – | – |
| gross | string | – | – |
| net | string | – | – |
| orderCount | integer | – | – |
| orders | array | – | – |
No examples provided.
signature_create_envelope Create Signature Envelope ~111
Open a multi-signer signature envelope for an already-created company document. Prefer the composite signature_send_document_for_signature tool; this low-level primitive never returns signing tokens.
| Name | Type | Req | Description |
|---|---|---|---|
| documentS3Bucket | string | – | – |
| documentS3Key | string | – | – |
| envelope | object | yes | – |
| reminderIntervalDays | integer | – | – |
| signers | array | – | – |
| sourceCompanyId | object | – | UUID value wrapper. |
| sourceDocumentId | object | – | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| envelopeId | string | – | – |
No examples provided.
signature_get_consent_document Get Consent Document ~42
GetConsentDocument returns the currently effective ESIGN consent version (or a specific historical version when id is provided).
| Name | Type | Req | Description |
|---|---|---|---|
| consentVersionId | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| version | – | – | – |
No examples provided.
signature_get_list_signature_envelopes List Signature Envelopes ~72
Lists a company's signature envelopes with their status and signer progress. Read-only and paginated. Use this to answer "what is out for signature" or to find an envelope id.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| envelopes | array | – | – |
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
No examples provided.
signature_get_signature_envelope Get Signature Envelope ~60
Returns one signature envelope by id: the documents in it, every signer, and who has signed so far. Read-only. Use this to answer "who still needs to sign" for a specific envelope.
| Name | Type | Req | Description |
|---|---|---|---|
| envelopeId | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| envelope | – | – | – |
| events | array | – | – |
No examples provided.
signature_reconcile_document_state Reconcile Document Signature State ~376
ReconcileDocumentSignatureState re-runs the document-hub write-back for every envelope that is not voided, so the hub carries the signature state of envelopes created before the write-back understood subjects that name a record rather than a document. Platform-wide, never scoped to the caller's company: it reads and rewrites the signature pointer on every tenant's document rows. Invoked on demand, not on a cron. Its purpose is a backfill — the surfaces that read the hub would otherwise report every pre-existing SAFE as unsent — and it stays available afterwards because the same repair is needed whenever a write-back was lost (the document service unreachable at signing time, say). Reports by default; set apply to write. The safe mode is the zero value deliberately — see the field's own comment. Idempotent in effect, not in cost: the write is an upsert of (signature_envelope_id, signed_at) on the hub row, so repeating it converges rather than accumulating, but every call sweeps the whole platform. One case is NOT idempotent, and it is why this runs on demand rather than on a cron. The sweep resolves every envelope before it writes any row, and resolving costs one RPC per envelope over as many as 5000 of them, so the gap between reading an envelope and writing its row can span the whole run. A signature that completes inside that gap is overwritten by the winner the sweep decided on earlier. The write is unconditional anyway because the rows this backfill exists for carry no envelope at all, and a compare-and-set against an expected id cannot match an empty row. Run it when signing is quiet, and re-run it afterwards if it is not.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | – |
| resumeToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| complete | boolean | – | – |
| errors | array | – | – |
| errorsOmitted | integer | – | – |
| examined | integer | – | – |
| nextResumeToken | string | – | – |
| skipped | integer | – | – |
| written | integer | – | – |
No examples provided.
signature_run_reminders Run Signature Reminders ~184
RunSignatureReminders sweeps every Lovie Sign envelope that is still awaiting signature — SAFEs and plain documents alike; Docusign envelopes are excluded because Docusign runs its own reminders — and re-emails the signing link to the signers whose turn it currently is. The sweep is platform-wide, never scoped to the caller's company: it mails every tenant's pending signers and the response lists their emails. The cadence is whatever was configured per envelope when it was sent, capped at 5 (MaxRemindersPerTurn) reminders per signing turn. Each reminder rotates that signer's token, so every link emailed to them earlier stops working. Runs on the syncer cron; also reviewer-invokable for a manual sweep. dry_run reports the would-be sends without emailing, rotating, or persisting anything.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | array | – | – |
| scanned | integer | – | – |
| sent | array | – | – |
No examples provided.
signature_signing_status Get Envelope Signers ~33
GetEnvelopeSigners lists an envelope's signers and their signing progress.
| Name | Type | Req | Description |
|---|---|---|---|
| envelopeId | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| signedCount | integer | – | – |
| signers | array | – | – |
| totalCount | integer | – | – |
No examples provided.
subscription_get_list_subscriptions List Subscriptions ~162
List a company's detected recurring subscriptions — normalized vendor, monthly cost in cents, billing cadence, next expected charge and whether the price recently rose — filtered by lifecycle status, with offset pagination and a total count. Exposed: it reads back a company's own spend, derived from transactions its members can already see, and is membership-checked on filter.company_id. Nothing in the response is a credential, an identifier belonging to a third party, or a value the caller does not already hold. It is the read that answers "what am I paying for every month", and the duplicate-tool and price-increase insights point at these same streams.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | yes | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| nextPageToken | string | – | – |
| subscriptions | array | – | – |
| totalCount | integer | – | – |
No examples provided.
tik_tok_ads_metrics_get_tik_tok_ads_campaign_window Get Tik Tok Ads Campaign Window ~73
GetTikTokAdsCampaignWindow aggregates each campaign over an arbitrary date range — the shape a charge is reconciled against.
| Name | Type | Req | Description |
|---|---|---|---|
| advertiserId | string | – | – |
| companyId | string | – | – |
| periodEnd | string | – | – |
| periodStart | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| campaigns | array | – | – |
| currencyCode | string | – | – |
| totalSpend | string | – | – |
No examples provided.
trademark_attach_document Attach Document ~62
AttachDocument records an uploaded file against the application.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| contentType | string | – | – |
| kind | string | – | – |
| niceClass | integer | – | – |
| s3Uri | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| documentId | – | – | – |
No examples provided.
trademark_delete_application Delete Application ~74
DeleteApplication erases an application the applicant has abandoned, along with its classes, documents, and clearance reports. Refused once the package has gone to the firm: from that point the record backs work the firm has already begun, and withdrawal is a conversation with them.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_draft_goods_services Draft Goods Services ~47
DraftGoodsServices drafts an identification for each claimed class in USPTO ID Manual register. Output is a draft for attorney review.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string | – | – |
| drafts | array | – | – |
No examples provided.
trademark_firm_acknowledge_handoff Acknowledge Handoff ~56
AcknowledgeHandoff records that the firm has taken the matter, optionally with the firm's own docket reference.
| Name | Type | Req | Description |
|---|---|---|---|
| firmReference | string | – | – |
| handoffId | object | yes | UUID value wrapper. |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_firm_get_handoff_package Get Handoff Package ~49
GetHandoffPackage returns the intake, the clearance record, and a short-lived presigned URL for the dossier PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| handoffId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| application | – | – | – |
| clearanceReport | – | – | – |
| handoff | – | – | – |
| packageDownloadUrl | string | – | – |
| packageUrlExpiresAt | string | – | – |
No examples provided.
trademark_firm_list_pending_handoffs List Pending Handoffs ~50
ListPendingHandoffs returns the packages awaiting this firm's attention.
| Name | Type | Req | Description |
|---|---|---|---|
| pageSize | integer | – | – |
| pageToken | string | – | – |
| statuses | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| handoffs | array | – | – |
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
No examples provided.
trademark_firm_request_additional_info Request Additional Info ~48
RequestAdditionalInfo asks the applicant for something missing, and notifies them.
| Name | Type | Req | Description |
|---|---|---|---|
| handoffId | object | yes | UUID value wrapper. |
| infoRequest | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_firm_update_handoff_status Update Handoff Status ~60
UpdateHandoffStatus advances the handoff through the firm's workflow.
| Name | Type | Req | Description |
|---|---|---|---|
| firmReference | string | – | – |
| handoffId | object | yes | UUID value wrapper. |
| note | string | – | – |
| status | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_generate_package Generate Package ~32
GeneratePackage renders the handoff dossier for the reviewing attorney.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| packageS3Uri | string | – | – |
No examples provided.
trademark_get_application Get Application ~31
GetApplication returns one application with its classes and documents.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| application | – | – | – |
No examples provided.
trademark_get_clearance_report Get Clearance Report ~43
GetClearanceReport returns a stored clearance snapshot.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | – | UUID value wrapper. |
| reportId | object | – | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| report | – | – | – |
No examples provided.
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.