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 →
trademark_get_list_applications List Applications ~42
GetListApplications lists a company's applications.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| applications | array | – | – |
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
No examples provided.
trademark_get_upload_url Get Upload URL ~63
GetUploadURL returns a presigned S3 PUT URL for a specimen or logo. The URL is minted on demand and never persisted.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| contentType | string | – | – |
| kind | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| expiresAt | string | – | – |
| s3Uri | string | – | – |
| uploadUrl | string | – | – |
No examples provided.
trademark_recommend_classes Recommend Classes ~74
RecommendClasses decides which classes the applicant should claim and says why, citing what comparable businesses registered. This is the intake path: an applicant is not expected to know that accounting services and accounting software fall in different classes. Writes nothing — the applicant confirms via SetClasses.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| businessSummary | string | – | – |
| disclaimer | string | – | – |
| limitations | array | – | – |
| questions | array | – | – |
| recommendations | array | – | – |
No examples provided.
trademark_run_clearance Run Clearance ~59
RunClearance searches USPTO for conflicting marks across phonetic variants, screens the open web for unregistered use, and stores a snapshot report.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| skipCommonLaw | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| report | – | – | – |
No examples provided.
trademark_set_classes Set Classes ~36
SetClasses replaces the claimed Nice classes.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| niceClasses | array | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_set_competitors Set Competitors ~39
SetCompetitors records the competitors the applicant named.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| competitors | array | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_set_goods_services Set Goods Services ~38
SetGoodsServices records the confirmed identification per class.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| entries | array | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_set_mark Set Mark ~98
SetMark records the mark itself and what the applicant sells.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| businessDescription | object | – | Free-form description (max 5000 chars). |
| designDescription | object | – | Free-form description (max 5000 chars). |
| markType | string | – | – |
| website | string | – | – |
| wordmark | object | – | Human-readable name (1-255 Unicode chars). |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_set_owner Set Owner ~73
SetOwner records the owner of record for the application.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| ownerCountry | string | – | – |
| ownerEntityType | string | – | – |
| ownerName | object | – | Human-readable name (1-255 Unicode chars). |
| ownerState | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_set_use_dates Set Use Dates ~42
SetUseDates records first-use dates and the filing basis per class.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| entries | array | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trademark_start_application Start Application ~30
StartApplication opens a draft application for a company.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | – | yes | – |
No examples provided.
trademark_study_competitors Study Competitors ~57
StudyCompetitors reads those competitors' trademark prosecutions and reports what they had to change to register — the refusals they drew and the wording that survived. Writes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string | – | – |
| limitations | array | – | – |
| patterns | array | – | – |
| prosecutions | array | – | – |
| recommended | array | – | – |
No examples provided.
trademark_submit_to_firm Submit To Firm ~53
SubmitToFirm delivers the package to a partner firm.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| approvalSessionId | object | – | UUID value wrapper. |
| firmCode | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| handoffId | – | – | – |
No examples provided.
trademark_suggest_classes Suggest Classes ~60
SuggestClasses proposes Nice classes by keyword-matching the business description. It is the offline fallback for RecommendClasses: no network, no reasoning, and it misses anything the keyword table does not name.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| suggestions | array | – | – |
No examples provided.
transaction_apply_categorization_rule Apply Categorization Rule ~92
Apply an existing categorization rule to the company's transaction history, booking every match to the rule's account. Writes user overrides that AI enrichment never overwrites and re-derives each bookkeeping journal entry. Preview first with transaction_preview_categorization_rule to see how many rows it would touch.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| ruleId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| failures | array | – | – |
| glAccountPath | string | – | – |
| updatedCount | integer | – | – |
No examples provided.
transaction_batch_categorize_transactions Batch Categorize Transactions ~127
Set the same category on up to 500 transactions in one call by taxonomy option code (e.g. "ai-products", "meals"). Applies the sign-appropriate detail field and the umbrella category per transaction, writes user overrides that AI enrichment never overwrites, and re-derives each bookkeeping journal entry. Returns how many applied plus per-transaction failures. Use this instead of calling transaction_categorize_transaction in a loop.
| Name | Type | Req | Description |
|---|---|---|---|
| categoryOptionCode | string | – | – |
| companyId | object | yes | UUID value wrapper. |
| transactionIds | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| failures | array | – | – |
| optionPath | string | – | – |
| updatedCount | integer | – | – |
No examples provided.
transaction_batch_categorize_transactions_by_account Batch Categorize Transactions By Account ~122
Book up to 500 transactions to the same chart-of-accounts account in one call, by full account path (e.g. "expenses/meals-and-entertainment"). Writes user overrides that AI enrichment never overwrites and re-derives each bookkeeping journal entry. Returns how many applied plus per-transaction failures. Use this instead of calling transaction_categorize_transaction_by_account in a loop.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| glAccountPath | string | – | – |
| transactionIds | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| failures | array | – | – |
| glAccountPath | string | – | – |
| updatedCount | integer | – | – |
No examples provided.
transaction_categorize_transaction Categorize Transaction ~130
Set a transaction's category by taxonomy option code (e.g. "ai-products", "meals", "cloud-hosting"). Applies to the sign-appropriate detail field (income vs expense) and the umbrella category automatically. Writes a user override that AI enrichment never overwrites, and the bookkeeping journal entry re-derives from the new category. Find valid codes via field tools (list options of the income-category / expense-category fields).
| Name | Type | Req | Description |
|---|---|---|---|
| categoryOptionCode | string | – | – |
| companyId | object | yes | UUID value wrapper. |
| transactionId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| optionPath | string | – | – |
No examples provided.
transaction_categorize_transaction_by_account Categorize Transaction By Account ~130
Book a transaction to a chart-of-accounts account by its full path (e.g. "expenses/software-and-subscriptions", "revenue/sales-revenue"). This is the account the amount posts to, so prefer it over transaction_categorize_transaction. Writes a user override that AI enrichment never overwrites, and the bookkeeping journal entry re-derives from the account. List valid paths with accounting_get_chart_of_accounts.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| glAccountPath | string | – | – |
| transactionId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| glAccountPath | string | – | – |
No examples provided.
transaction_document_get_list_transaction_documents List Transaction Documents ~43
List transaction documents with filtering and pagination
| Name | Type | Req | Description |
|---|---|---|---|
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| documents | array | – | – |
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
No examples provided.
transaction_get_categorization_rule Get Categorization Rule ~75
Read one transaction categorization rule by id: which merchants, amounts or directions it matches, the chart-of-accounts account matching transactions are booked to, and its priority in the evaluation order. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| ruleId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| rule | – | – | – |
No examples provided.
transaction_get_list_categorization_rules List Categorization Rules ~83
List a company's transaction categorization rules in the order they are evaluated (lowest priority number first; the first match wins). Each rule states which merchants, amounts or directions it matches and which chart-of-accounts account matching transactions are booked to. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| includeInactive | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| rules | array | – | – |
No examples provided.
transaction_get_summary Get Summary ~67
Aggregate transactions into P&L groups (income/expenses) by a given dimension
| Name | Type | Req | Description |
|---|---|---|---|
| fieldId | object | – | UUID value wrapper. |
| filter | object | yes | – |
| groupBy | string | – | – |
| scope | string | – | – |
| timeBucket | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| groups | array | – | – |
| netPl | string | – | – |
| totalExpenses | string | – | – |
| totalIncome | string | – | – |
No examples provided.
transaction_get_transaction Get Transaction ~29
Get a single transaction by ID or reference number
| Name | Type | Req | Description |
|---|---|---|---|
| id | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| transaction | – | – | – |
No examples provided.
transaction_preview_categorization_rule Preview Categorization Rule ~56
Count how many existing transactions a categorization rule would match, without writing anything. Use this to check a rule before creating or applying it. The rule does not have to exist yet.
| Name | Type | Req | Description |
|---|---|---|---|
| rule | object | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| matchingCount | integer | – | – |
No examples provided.
transaction_suggest_transaction_category Suggest Transaction Category ~68
Recommend a bookkeeping category for a transaction using the platform classifier agent. Returns ranked taxonomy option codes with confidence and a short rationale; writes nothing. Apply one with CategorizeTransaction.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| transactionId | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| suggestions | array | – | – |
No examples provided.
user_get_user Get User ~47
GetUser returns a single user by internal id or Clerk id
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | – | |
| externalId | string | – | – |
| id | object | – | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| user | – | – | – |
No examples provided.
vendor_bill_cancel_vendor_bill Cancel Vendor Bill ~53
Cancel an open vendor bill so it no longer counts as an open payable. Only OPEN bills can be cancelled; a bill already paid or cancelled cannot.
| Name | Type | Req | Description |
|---|---|---|---|
| vendorBillId | object | yes | UUID value wrapper. |
Structured output declared, but exposes no named fields.
No examples provided.
vendor_bill_create_vendor_bill Create Vendor Bill ~52
Records a bill the company owes a vendor. Writes, and records only — it does not pay anything or move money. Marking it paid is a separate call.
| Name | Type | Req | Description |
|---|---|---|---|
| vendorBill | object | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| vendorBillId | – | yes | – |
No examples provided.
vendor_bill_get_list_vendor_bills List Vendor Bills ~92
Lists the bills a company owes, newest first, with vendor, amount, due date and paid state. Read-only and paginated. Use this to answer "what do we owe" or "what is due this week".
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | object | yes | UUID value wrapper. |
| filter | object | – | – |
| pageSize | integer | – | – |
| pageToken | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| nextPageToken | string | – | – |
| totalCount | integer | – | – |
| vendorBills | array | – | – |
No examples provided.
vendor_bill_get_vendor_bill Get Vendor Bill ~60
Returns one bill the company owes a vendor, by id: amount, vendor, due date and whether it has been paid. Read-only. This is money out; an invoice is money in.
| Name | Type | Req | Description |
|---|---|---|---|
| id | object | yes | UUID value wrapper. |
| Name | Type | Req | Description |
|---|---|---|---|
| vendorBill | – | – | – |
No examples provided.
vendor_bill_mark_vendor_bill_paid Mark Vendor Bill Paid ~67
Records that a vendor bill has been paid. Writes. It settles the bookkeeping and does not send a payment: the money is assumed to have moved already, by whatever means.
| Name | Type | Req | Description |
|---|---|---|---|
| paidDate | string | – | – |
| vendorBillId | object | yes | UUID value wrapper. |
Structured output declared, but exposes no named fields.
No examples provided.
x_ads_metrics_get_x_ads_campaign_window Get X Ads Campaign Window ~69
GetXAdsCampaignWindow 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 | – | – |
| totalSpendMicros | string | – | – |
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.