Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

Lovie Company Formation

co.lovie/company-formation

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

Watch this dependency

Get before/after evidence when observed tools, schemas, authentication access, availability or the endpoint changes.

Inspect evidence and set up a watch Share public evidence report
Uptime
100.0%
5 direct probes · 30d
Response
1636ms
last probe
Tools
347
callable
Resources
1
readable
Prompts
4
available
Score: 100/100
Handshake verified by our own probe.
why this score
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
347 tools, 1 resources, 4 prompts returned.
pass 3 or more catalogue items 10/10
352 items in total; 3 or more earns these points.
pass Describes itself 10/10
100 characters; more than 30 earns these points.

Tools · 347

account_get_account

GetAccount retrieves a single account by ID with its details

account_get_list_account_details

GetListAccountDetails retrieves account details in batch (eliminates N+1 GetAccount calls)

accounting_get_accounting_settings

GetAccountingSettings returns the company's fiscal-year start and where it comes from: a person's setting, the EIN filing's closing month, or January. Read-only.

accounting_get_aging_report

Accounts receivable or accounts payable aging: the open balances per customer or supplier, split into not yet due, 1-30, 31-60, 61-90 and over 90 days past due, with totals. Reads the items open now; …

accounting_get_balance_sheet

GetBalanceSheet returns assets, liabilities, and equity balances as of a date; equity includes net income to date, so the sheet always balances. Read-only.

accounting_get_cash_flow_statement

GetCashFlowStatement returns the statement of cash flows for a period: net income, then operating, investing and financing activity, reconciled to the change in bank and cash balances. Read-only.

accounting_get_chart_of_accounts

GetChartOfAccounts returns the company's chart of accounts (flat list with parent links; build the tree client-side). Read-only.

accounting_get_close_target

GetCloseTarget names the window the next close has to cover: a reopened period first, else the month after the books are closed through, else the month of the first entry. The same rules ClosePeriod e…

accounting_get_funding_summaries

Per bank account and card, the balance the books show and how many posted entries came through it. Compare with the bank's own balance from account tools; a difference is what reconciliation resolves.…

accounting_get_general_ledger

GetGeneralLedger pages through one account's posted lines with opening, running, and closing balances — the account register. Read-only.

accounting_get_gl_account_type_catalog

GetGLAccountTypeCatalog returns every account type with the detail types it admits and the classification it implies — what the New account panel needs to populate its two dependent selects without du…

accounting_get_journal_entry_by_transaction

GetJournalEntryByTransaction returns the journal entry derived for one transaction (empty when none exists yet). Read-only.

accounting_get_list_journal_entries

GetListJournalEntries pages through the journal register with filters — the review queue is filter{needs_review: true}. Read-only.

accounting_get_list_periods

GetListPeriods pages through a company's periods, newest first. Read-only.

accounting_get_list_review_items

List bank transactions awaiting bookkeeping review. Tabs: PENDING (nobody has reviewed the booking as it stands, whether the engine, a rule or a person made it), REVIEWED (a person marked it reviewed …

accounting_get_list_schedules

GetListSchedules pages through a company's schedules. Read-only.

accounting_get_list_statements

List the bank statements imported for reconciliation, newest period first, with how many of each statement's lines are still unmatched. Read-only.

accounting_get_period

GetPeriod returns one closed period by id. Read-only.

accounting_get_profit_and_loss

GetProfitAndLoss returns the income statement for a period: revenue and expense accounts with activity, totals, and net income. Read-only.

accounting_get_report_series

GetReportSeries returns one P&L, balance sheet or cash flow statement per month, quarter or year of a range, in one call: the same figures the single-period RPCs give for each period. Read-only.

accounting_get_review_counts

Count bank transactions per bookkeeping review tab (pending, reviewed, excluded) without fetching rows. Use to report how much review work is outstanding.

accounting_get_schedule

GetSchedule returns one schedule with its postings. Read-only.

accounting_get_similar_review_items

After booking one transaction, find the other pending transactions from the same counterparty in the same cash direction (money out vs money in), so the same correction can be applied to all of them. …

accounting_get_statement

One statement with its lines and their matches. Read-only.

accounting_get_trial_balance

GetTrialBalance returns every account's debit and credit totals for a period; total debits equal total credits when the books balance. Read-only.

accounting_list_accounting_audit_events

ListAccountingAuditEvents pages through the append-only accounting audit log — who changed what and when across journal entries and the chart of accounts, newest first. Filter by entity_id for one rec…

accounting_preview_close

PreviewClose computes the per-currency revenue/expense totals and the net income a close would roll, without writing anything, and reports what still blocks the close along with what closing carries w…

accounting_preview_schedule

PreviewSchedule computes the straight-line per-period split for the given amount and period count without persisting anything. Read-only.

accounting_propose_schedules

Scan a company's recent posted transactions and suggest accrual schedules (e.g. amortize a large annual prepaid over 12 months). Returns proposals only — nothing is created until a person creates the …

accounting_suggest_statement_matches

Rank ledger transactions against a statement's unmatched lines. Amount must match exactly; date proximity and description then rank the candidates. Writes nothing — a person applies a match on the rec…

accounting_suggest_transfer_pairs

Rank the journal entries that could be the other half of a transfer between the company's own accounts: opposite direction, same amount, different instrument, dated within a few days. Writes nothing —…

ads_insight_summarize_ad_spend

SummarizeAdSpend unions the four ad platforms' daily campaign tables at read time into per-(provider, month, currency) spend/impressions/clicks/ conversions plus a per-currency CPA. Read-time only — n…

ads_insight_summarize_campaign_window

SummarizeCampaignWindow summarises one charge against the campaigns in its billing window. Results are cached per company + account + window + charge, so repeated panel opens do not re-run the agent.

approval_session_create_approval_session

Opens a sensitive-action approval on the user's own trusted device: a push notification asks them to approve on their phone. Use before tools that demand an approval (the domain auth-code reveal, the …

approval_session_get_approval_session_status

Read the status of a trusted-device approval session: PENDING, APPROVED, REJECTED or EXPIRED. For a transfer, call this with the approval_session_id from request_transfer_approval once the user says t…

autonomous_pay

Submit a signed payment mandate for autonomous execution. Runs the four-check pipeline and the per-agent autonomy fence; payments outside the agent's envelope are gated to human approval.

banking_confirm_extracted_value

ConfirmExtractedValue records that a human checked a read value. Without it a low-confidence extraction holds its section open forever and the application can never be submitted.

banking_confirm_initial_transfer

Records the opening deposit a founder chose for their banking application. This stores an intention only — it does not move money, and no funds are transferred by any part of Lovie today. Never tell t…

banking_extract_document_fields

Reads an uploaded document on a banking application — a Certificate of Incorporation or an IRS EIN letter — and fills in the values it states, each marked with where it came from and how confident the…

banking_get_banking_application

GetBankingApplication returns the whole application: the business facts, the beneficial owners, the uploaded documents, what each value's source was, and the sections still outstanding. It is the one …

banking_get_initial_transfer_preview

Returns the suggested opening deposit for a banking application and the reason for that figure. Read-only: it moves no money and records nothing.

banking_get_issuance_state

GetIssuanceState reports where this application's deposit account stands: whether it is queued, being opened, open, or could not be opened, and the last four digits once there are any. It exists as i…

banking_hydrate_from_cap_table

HydrateFromCapTable carries the company's carriable stakeholders onto an open application as beneficial owners. Idempotent: the stakeholder link identifies them, so running twice updates rather than d…

banking_hydrate_from_formation

HydrateFromFormation is idempotent: it writes values and their provenance in one transaction and never overwrites something the applicant supplied.

banking_preview_cap_table_hydration

PreviewCapTableHydration says which of the company's cap-table stakeholders could be carried over as beneficial owners, without writing. Read-only, and unavailable rather than an error when there is n…

banking_preview_formation_hydration

PreviewFormationHydration says what a formation would carry over, without writing. Read-only so the entry picker can offer the warm path only when it is genuinely available.

banking_refresh_application_provider_status

RefreshApplicationProviderStatus re-reads the provider's verification verdict for a submitted application and moves it on when the verdict has settled. Pull, not push, for the reason RefreshOwnerVerif…

banking_refresh_owner_verification

Re-reads the identity-verification outcome for one beneficial owner on a banking application and records it. Idempotent. Does not start a verification and does not carry any of that person's personal …

banking_set_application_ein

Files a company's employer identification number against a banking application. Nine digits, no separators. The whole number goes to the secret store and only its last four are recorded; the response …

banking_set_owner_identity_document_number

Files the number on a beneficial owner's passport or US driver's license against a banking application, for an owner who has no SSN or ITIN. Record the document first (kind, issuing country, expiry, a…

banking_set_owner_tax_identifier

Files one beneficial owner's Social Security Number or ITIN against a banking application. The whole number goes to the secret store and only its last four digits are recorded, which is all the respon…

banking_start_banking_application

StartBankingApplication opens a business account application for a company. A company may have only one undecided application at a time; starting a second is refused rather than splitting the answers…

banking_submit_banking_application

SubmitBankingApplication freezes the application. It returns the blocking sections rather than a bare failure, so "submit is disabled" always comes with what is missing. Stays exposed — filling in an…

banking_suggest_industry_code

Suggest NAICS industry classification codes from a plain-language description of what a business does. Returns each candidate code with its official title and the words that matched, best match first.…

banking_update_banking_application

UpdateBankingApplication takes a FieldMask. Every path in the mask also writes USER provenance, so correcting a carried-over value re-attributes it.

banking_upsert_beneficial_owner

UpsertBeneficialOwner adds or updates one beneficial owner. A request whose owner carries ssn_last4 is refused with INVALID_ARGUMENT and writes nothing: those four digits are recorded only by SetOwner…

cap_table_clear_cap_table_stakeholders

ClearCapTableStakeholders deletes every stakeholder of a company in a single DB-level operation. Used by the "replace cap table" import flow.

cap_table_close_cap_table_round

CloseCapTableRound PERMANENTLY closes the round: runs the calc engine, persists the SAFE conversions + ownership snapshots, and flips the round to CLOSED. This is the action for "close the round", "ma…

cap_table_create_cap_table_agreement

Records a non-SAFE agreement (option, RSU, RSA, FAST advisor agreement, board consent) against a company. Without signed_at it creates a draft and touches nothing else. SIGNED_AT IS NOT A DATE FIELD —…

cap_table_create_cap_table_round

Opens a new funding round on a company's cap table — the container investors and their agreements are attached to. Writes. It does not raise money or close anything: a new round starts OPEN and holds …

cap_table_create_cap_table_stakeholder

Adds a stakeholder IDENTITY ONLY (name, type, email, metadata). Does NOT create any holding/security and will NOT appear in the investor pipeline. For anyone who will hold equity — an investor putting…

cap_table_delete_cap_table_agreement

DeleteCapTableAgreement removes an agreement.

cap_table_delete_cap_table_round

DeleteCapTableRound permanently removes an unpriced SAFE round (open or light-closed) plus its round-scoped securities/agreements/snapshots. Priced / engine-closed rounds are rejected (FailedPrecondit…

cap_table_delete_cap_table_security

DeleteCapTableSecurity removes one holding.

cap_table_delete_cap_table_stakeholder

DeleteCapTableStakeholder removes one stakeholder from a cap table.

cap_table_download_cap_table_safes

DownloadCapTableSafes presigns multiple SAFE agreement PDFs in one call.

cap_table_extract_wire_payment_proof

Runs vision OCR on an already-uploaded wire payment proof (wire confirmation, bank statement, or transfer receipt — NOT an invoice) for a security and returns the extracted fields plus a verification …

cap_table_generate_cap_table_agreement_pdf

Renders the PDF for one employee equity-grant agreement (option/rsu/rsa/fast) and stores it; returns the S3 key. Generation is idempotent: when the agreement already has a PDF this returns it unchange…

cap_table_generate_cap_table_docs

Generates the SAFE agreement PDF for every SAFE holding of the given stakeholders (all of them when none are given). It runs synchronously: when it returns, queued_count agreements have rendered and a…

cap_table_generate_cap_table_summary_pdf

GenerateCapTableSummaryPdf renders the cap-table summary to a branded PDF on the backend document engine (Gotenberg). It returns the bytes, or with as_link (always, for an assistant) a short-lived dow…

cap_table_get_cap_table_agreement

Returns one equity agreement by id — a SAFE, a stock purchase agreement or a grant — with its terms and the two signature blocks it prints. Read-only. Use this to answer questions about a specific agr…

cap_table_get_cap_table_agreement_pdf_url

GetCapTableAgreementPdfUrl returns a short-lived signed S3 URL for the rendered SAFE agreement PDF.

cap_table_get_cap_table_equity_plans

Returns a company's equity holdings grouped the way a founder thinks about them: founders, advisors, employees (option grants), and investors. Read-only. Founder, advisor and employee entries carry ve…

cap_table_get_cap_table_health

GetCapTableHealth answers "is anything wrong with this cap table?". It runs every server-side check over the stored cap table and returns the issues as data: authorized shares not set, a share class a…

cap_table_get_cap_table_investor_access

GetCapTableInvestorAccess lists every investor stakeholder with its current cap-table visibility level (read directly from the stakeholder row; a new investor defaults to NONE). Read-only.

cap_table_get_cap_table_overview

Says which view of a company's cap table is the current one: the live roster, or the post-conversion table produced by the latest closed round. Read-only, and small — it returns the mode and that roun…

cap_table_get_cap_table_round

Returns one funding round by id: its name, type, target, pre-money valuation, status and close date. Read-only. Use this for the terms of a specific round; for how much has actually been committed, si…

cap_table_get_cap_table_round_summaries

Returns, for every funding round that has investors attached, how much capital sits at each stage of the pipeline (committed, signed, wired), the total raised, and how many investors are in the round.…

cap_table_get_cap_table_security

GetCapTableSecurity returns one holding by id. Read-only.

cap_table_get_cap_table_stakeholder

GetCapTableStakeholder returns one stakeholder by id. Read-only.

cap_table_get_cap_table_summary

GetCapTableSummary returns company-wide AGGREGATES on the fully-diluted roster: total shares, stakeholder count, founders' combined percentage, and ownership split by stakeholder type. Read-only. Agg…

cap_table_get_list_cap_table_agreements

Lists a company's equity agreements, newest first, each enriched with the stakeholder it belongs to. Read-only and paginated. Filter by type to see only SAFEs or only stock purchase agreements. Use th…

cap_table_get_list_cap_table_rounds

Lists a company's funding rounds with their terms and status. Read-only. Use this to answer "what rounds have we raised" or to find a round id before reading its investors.

cap_table_get_list_cap_table_securities

GetListCapTableSecurities lists a company's holdings — the ONLY source of per-holder share counts, share class, price and vesting. Optionally filtered to one stakeholder; paginated, read-only. Call t…

cap_table_get_list_cap_table_stakeholders

GetListCapTableStakeholders returns a company's stakeholder roster: identities only — name, type, email, title, address — and NO share counts or ownership percentages, which live on the securities. Pa…

cap_table_get_list_cap_table_wire_match_suggestions

Lists proposed matches between incoming bank transfers and the investors expected to have sent them, each with a confidence and the reason it was proposed. Read-only, and a suggestion only — nothing i…

cap_table_get_my_investor_companies

GetMyInvestorCompanies returns the companies where the caller is a linked investor stakeholder (not a member), with the owner-granted access level — the entry point for the investor-facing portal (B3)…

cap_table_get_safe_import_consent

GetSafeImportConsent reports whether the company has granted current consent for an external AI to read imported SAFE contents.

cap_table_get_transaction_summary

GetTransactionSummary returns the committed / signed / wired capital totals for the Transactions page header. committed/signed come from the securities pipeline stage; wired comes from the money-movem…

cap_table_get_wired_transactions

GetWiredTransactions returns the confirmed-wire ledger (wired + refunded investor rows) for the fundraising Transactions page. Read-only.

cap_table_grant_safe_import_consent

GrantSafeImportConsent records the company's consent at the current wording version. Required before an MCP-origin SaveCapTableImport.

cap_table_import_cap_table

ImportCapTable writes a whole cap table in one call and one transaction: every row lands or none does, a row naming an existing holder is added to them (and reported as reused), a round the file names…

cap_table_import_rsa

Imports a signed Restricted Stock Purchase/Award Agreement (RSA) from an uploaded PDF and stores the document in S3. USE THIS (not ExtractRsaTermsOcr + CreateCapTableAgreement, and not RecordCapTableI…

cap_table_import_safe

Imports a SAFE from an uploaded SAFE PDF and stores the document in S3. USE THIS (not RecordCapTableInvestment) whenever the user provides or uploads a SAFE PDF file. Flow: (1) call GetOcrUploadUrl wi…

cap_table_list_cap_table_audit_events

ListCapTableAuditEvents returns the append-only who/what/when audit log for a company's ownership-affecting cap-table mutations (B1). Read-only.

cap_table_list_cap_table_snapshots_for_round

Returns the ownership table as it stood when a round closed — one row per stakeholder, with shares and percentage frozen at that moment. Read-only. Use this to answer "who owned what after the seed". …

cap_table_list_cap_table_summary_snapshots

ListCapTableSummarySnapshots returns the point-in-time cap-table summary versions captured on material edits (B4). Read-only.

cap_table_list_cumulative_cap_table_snapshots_for_stakeholder

Returns one stakeholder's position at every round close, oldest first — the dilution story for a single person or fund. Read-only. Use this to answer "how has my ownership changed" or "how much was th…

cap_table_match_cap_table_stakeholder

MatchCapTableStakeholder suggests the existing stakeholder a parsed SAFE's investor name maps to (fuzzy match). Read-only.

cap_table_preview_close_cap_table_round

PreviewCloseCapTableRound runs the SAME engine as CloseCapTableRound but does NOT persist or close anything — no status change, no snapshot writes. This is the action for "preview", "what-if", or "est…

cap_table_record_cap_table_investment

Records one holding end-to-end: resolves or creates the stakeholder, then creates the holding with all derived fields, attaching or auto-creating a round for SAFE/Preferred. SAFE requires a valuation_…

cap_table_record_cap_table_refund

RecordCapTableRefund records a refund into the money-movement ledger (refund, confirmed) and flips the security's pipeline_status to 'refunded'.

cap_table_record_cap_table_wire

Records an investor wire into the money-movement ledger and flips the security's pipeline_status to 'wired'. A wire is accepted ONLY when it is backed by one of: (a) a matched banking transaction_id (…

cap_table_reopen_cap_table_round

ReopenCapTableRound flips a CLOSED round back to OPEN (status only).

cap_table_set_cap_table_authorized_shares

SetCapTableAuthorizedShares updates the company's authorized share ceiling (charter amendment must have been obtained before calling this). Owner-only.

cap_table_set_cap_table_pipeline_status

Moves ONE investor's holding along the fundraising pipeline. Use this to change a stage — never UpdateCapTableSecurity, which is a full replace and will blank any field you do not resend. Forward goes…

cap_table_simulate_cap_table_dilution

SimulateCapTableDilution runs the SAME engine as CloseCapTableRound against the company's current stakeholders and its outstanding SAFEs, for a raise that does not exist yet — no round, nothing persis…

cap_table_simulate_cap_table_exit

Computes what every stakeholder takes home at ONE hypothetical exit valuation, running the liquidation-preference waterfall over the issued cap table. An outstanding SAFE takes the greater of its mone…

cap_table_update_cap_table_agreement

UpdateCapTableAgreement applies a full update (status/progress/timestamps).

cap_table_update_cap_table_agreement_status

Moves a cap-table agreement to a new status (for example completed once signing finishes, or void to retire an unsent draft); the stored PDF is kept. Voiding a SAFE is refused with FAILED_PRECONDITION…

cap_table_update_cap_table_round

Changes a funding round's own terms — name, target, valuation, dates. Writes. It does not move a round between open and closed: closing runs a conversion engine and has its own call, and reopening has…

cap_table_update_cap_table_security

UpdateCapTableSecurity applies a full update to a holding.

cap_table_update_cap_table_stakeholder

Edits an EXISTING stakeholder's identity (name, type, email, metadata) by id. FULL REPLACE; type is effectively immutable. To ADD a new stakeholder use CreateCapTableStakeholder; for an investor contr…

cap_table_update_my_stakeholder_name

UpdateMyStakeholderName lets an investor correct the name the company holds for them — a misspelled name on a SAFE is the investor's to fix, and asking the founder to retype it was the only route. Sco…

captable_hydrate_formation_carry

Carries the owners named during a company's formation onto its cap table as founders holding common stock. Insert-only: an owner already present is left untouched, so running it twice adds nothing.

captable_preview_formation_carry

Reports which owners a company's formation would carry onto its cap table, and what the cap table still needs afterwards. Writes nothing. Returns available=false when the company has no formation or i…

captable_send_safe_for_signature

CreateSafeEnvelope opens a two-party SAFE signing envelope from cap-table-supplied data (the caller fetched it via company.GetSafeAgreement): it renders the signable SAFE PDF and inserts the company (…

card_create_card

Issues a new virtual card at the card issuer, funded by a specific bank account. account_id is REQUIRED: set it to the id of the account the card should spend from — it must belong to the same company…

card_freeze_card

Suspend a card at the issuer so it declines new charges. The card is not closed and no money moves; UnfreezeCard restores it. Safe to repeat: a card that is already frozen is returned unchanged and su…

card_get_card

Returns one card by id: its label, type, state, limits and the last four digits of its number. Read-only. The full card number and CVV are never returned by this or any other tool.

card_get_card_spend

Returns how much has been spent on a card over a period, against its limit. Read-only. Use this to answer "how much is left on this card" without adding up transactions by hand.

card_get_dispute

Reads one card dispute by its id, refreshing its status from the card issuer first. Returns the dispute's card, disputed transaction, amount, status (filed, pending review, accepted, won, lost, reject…

card_get_list_card_disputes

Lists card disputes. Set filter.card_id to see the disputes filed on one card, or filter.company_id to see every dispute across a company (the caller's access is verified server-side). Returns each di…

card_get_list_cards

Lists the cards the caller holds in one company: label, last four digits, network, state, spend limit and expiry. Set company_id to the company whose cards to list (get_my_companies lists the ones the…

card_get_list_org_cards

List the active cards of every member of the given company, as a narrow projection. Membership of the AUTHENTICATED caller in company_id is verified server-side — the id selects, it never authorizes.

card_unfreeze_card

Restore a frozen card at the issuer so it accepts charges again. Safe to repeat: a card that is already active is returned unchanged and successfully. A cancelled card cannot be restored and is reject…

card_update_card_spend_limit

Replace a card's spend limit at the issuer. amount_cents is in CENTS, not dollars — a $500 limit is 50000 — and interval chooses the window the limit resets over. The new limit replaces the old one ou…

check_company_name_availability

Checks whether a proposed company or brand name is available as a US trademark and as a domain across common TLDs (.com, .io, .co, .net, .ai, .app). Call this whenever the user proposes or evaluates a…

client_get_client

Returns one billing client by id — the customer a company invoices — with contact and address details. Read-only.

client_get_list_clients

Lists the customers a company invoices. Read-only and paginated. Use this to find a client id before creating an invoice, or to answer "who do we bill".

commit_transfer

Execute a sealed draft. Moves money. Call ONLY after approval_session_get_approval_session_status returned APPROVED for the approval_session_id: a commit sent while the approval is still pending is re…

company_create_company

Creates a company owned by the signed-in user, for example before importing a cap table. Give its name (and code, a lowercase slug). The user becomes its owner; there is no way to create a company for…

company_get_company

GetCompany retrieves a single company by ID or code

company_get_list_companies

Lists the companies the signed-in user is a member of, with optional filters (ids, status, companies that have no formation). Returns only the user's own companies.

company_get_list_company_members

GetListCompanyMembers lists all members of a company

company_get_my_companies

Lists the companies the SIGNED-IN user already belongs to, each with their role, plus that account itself in signed_in_as. Requires authentication. Call this only when the user asks about or wants to …

company_update_company

UpdateCompany patches mutable company fields in a single call: name, logo_url, aliases, sibling_company_ids, and — for a company Lovie did not incorporate — its entity type, state, formation date, EIN…

connection_suggest_connections

SuggestConnections reports providers the company is evidently already paying for, judged from its own transactions, and skips any it has already connected. Read-only — it writes nothing. Connect one w…

counterparty_get_counterparty

GetCounterparty retrieves a single counterparty by ID

counterparty_get_list_counterparties

GetListCounterparties retrieves a list of counterparties with filtering and pagination

counterparty_get_list_global_counterparties

GetListGlobalCounterparties performs a read-only batch lookup against the platform-wide canonical vendor registry. The filter accepts a list of provider stable IDs and/or aliases; the response returns…

datatable_get_datatable_fields

Resolve all fields bound to a datatable for a company (platform + company bindings).

datatable_get_list_datatables

List datatables (platform + a company's own).

datatable_get_related_datatables

Resolve the child datatables related to a parent (for the UI field picker).

document_template_list_templates

List available legal document templates (YAML catalog).

document_template_resolve_template

Find the best template match for a natural-language document request. Returns the template slug and its field definitions to collect before DocumentService.CreateDocument.

documents_create_document

Create a finished document for a company from a template slug and field values.

documents_create_from_user_template

Create a finished document by filling a company user-uploaded template with collected field values. Does not modify the original upload.

documents_delete_saved_signature

DeleteSavedSignature removes one of the caller's saved signatures. Exposed because ListSavedSignatures already is: the agent could name a founder's signatures without being able to clear a stale one. …

documents_get_document

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

documents_get_user_template

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

documents_list_documents

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

documents_list_saved_signatures

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

documents_list_user_templates

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

documents_resolve_template_prefill

Resolve a template's company auto-fill values before collecting anything from the founder: returns the field values the server already knows for this company, so only the remaining fields need to be a…

documents_set_default_saved_signature

SetDefaultSavedSignature marks one of the caller's signatures as the default, unsetting any prior default (single default per user per company). Exposed because ListSavedSignatures already is: the age…

documents_update_document

Rename a stored document by updating its title. Only the member who created the document may rename it, and a signed document or one out for signature cannot be renamed through an assistant; tell the …

draft_agent_account

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.

draft_payment

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 signin…

equity_onboarding_get

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 serve…

equity_onboarding_hydrate_formation_carry

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 perso…

equity_onboarding_preview_formation_carry

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…

equity_onboarding_start

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 answ…

equity_onboarding_submit

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 …

equity_onboarding_update

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 reg…

field_get_field

Get a single field by ID or code

field_get_field_option

Get a single field option by ID or code

field_get_list_field_options

List field options with filtering and pagination

field_get_list_fields

List fields with filtering and pagination

field_suggest_field_options

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

field_value_get_list_entity_field_values

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

formation_acknowledge_warnings

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 warnin…

formation_add_shareholder

AddShareholder adds a shareholder or LLC member

formation_append_conversation_entry

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

formation_approve_certificate

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 ca…

formation_check_domain_availability

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.

formation_check_name

CheckName checks company name availability in the selected state

formation_claim_demo_formations

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/s…

formation_confirm_cohort_deal_terms

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 …

formation_confirm_naics_code

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 t…

formation_confirm_payment

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 th…

formation_create_domain_checkout

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. Companie…

formation_create_domain_transfer_checkout

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 w…

formation_create_formation

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…

formation_delete_pending_domain

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.

formation_describe_business

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 …

formation_extract_cap_table

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…

formation_extract_cap_table_ocr

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_mont…

formation_extract_fast_terms_ocr

Runs vision OCR on an already-uploaded FAST (Founder / Advisor Standard Template) advisor agreement PDF for the active company and returns the grant summary it states — advisor_name, company_name, tie…

formation_extract_rsa_terms_ocr

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, …

formation_extract_safe_terms

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…

formation_extract_safe_terms_ocr

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

formation_generate_certificate

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 …

formation_get_domain_auth_code

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…

formation_get_domain_order

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

formation_get_domain_transfer_status

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.

formation_get_ein_filing_info

GetEinFilingInfo returns the stored payload without the SSN/ITIN.

formation_get_filing_fee

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. Stateles…

formation_get_formation

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, paym…

formation_get_formation_document_download_url

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 outli…

formation_get_formation_info

GetFormationInfo returns educational content topics or content for a specific topic

formation_get_formation_purchase_quote

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 ef…

formation_get_formation_quote

Returns what forming a company in a given state costs: each Lovie line item, the state's filing fee, and the total, all priced live. Creates nothing and charges nothing. Use this whenever the user ask…

formation_get_formation_timeline

Returns a formation's progress timeline: each milestone (filing, company formed, tax identifier, banking, and — where an accelerator invests — the starter investment), its state, and a sentence descri…

formation_get_formation_upload_url

GetFormationUploadURL returns a presigned PUT URL for a cap table or SAFE document

formation_get_list_formations

Lists the SIGNED-IN user's company formations (name, entity type, state, status, progress). Requires authentication. Do NOT call this during an in-progress formation: you already have the formation_id…

formation_get_list_incorporation_documents

Returns a company's incorporation documents — certificate of incorporation, bylaws, incorporator action, board resolution, per-founder IP assignments and 83(b) elections, and the IRS EIN assignment le…

formation_get_ocr_upload_url

Returns a presigned S3 PUT URL for uploading a company document (kind=SAFE for a SAFE PDF, kind=RSA for a signed restricted stock purchase agreement, kind=CAP_TABLE for a cap-table file, kind=WIRE_PRO…

formation_get_payment_link

Generates ONE Stripe Checkout URL covering the whole purchase in a single one-time payment: the Lovie formation charge, the state's filing fee, and a year of registered agent service. Generating this …

formation_list_company_domains

Lists the company's domains with status (pending, purchased, transfer in progress, expired) and expiry dates. Call this first for any domain question.

formation_lookup_domain_dns_records

Resolves the DNS records a company's domain currently answers with (A, AAAA, MX, TXT, NS, CNAME), as the public internet sees them. Use before changing DNS, and to check whether a change has taken eff…

formation_purchase_formation

PurchaseFormation places the CorpTools formation filing order: it claims the order atomically, adds the filing to the cart, and checks out with the stored payment method. Reviewer-only. Checkout moves…

formation_purchase_registered_agent

PurchaseRegisteredAgent triggers a CorpTools registered-agent purchase.

formation_record_election83b_filing

RecordElection83bFiling records that the signed election was submitted to the IRS (postmark or online), with optional proof. Owner-scoped.

formation_record_entity_guidance_quiz

Records the founder's answers to the three entity-choice questions — whether they expect to raise from investors, whether there is more than one owner, and whether this is their first company — and re…

formation_remove_shareholder

Removes one owner from a formation and reports how many remain and what ownership now totals. The freed percentage is NOT given to anyone else, so the total will usually stop reaching 100% until the f…

formation_run_election83b_reminders

RunElection83bReminders runs the 83(b) reminder sweep (not-started nudges + deadline-relative sign/file reminders + late notice). Reviewer-only; also run in-process by the scheduled cron subcommand.

formation_save_cap_table_import

SaveCapTableImport replaces the formation's shareholders with the imported, founder-edited list. A request whose shareholders carry ssn_last4 is refused with INVALID_ARGUMENT and writes nothing — the …

formation_send_formation_email

SendFormationEmail dispatches a formation lifecycle email via SendGrid.

formation_set_banking_intent

Records whether the founder wants a business bank account opened once their EIN arrives, plus a card preference, where cards should be sent, and roughly what they expect to spend each month. This reco…

formation_set_company_address

Sets the company's business address. Always present the user with BOTH options: pass source = ADDRESS_SOURCE_OWN with their own address, which may be anywhere in the world, or source = ADDRESS_SOURCE_…

formation_set_company_name

Sets the company name and returns its parts: base_name, entity_ending, and the derived full_name (base + ending). Set the entity ending first with formation_set_entity_ending. After setting the name, …

formation_set_company_setup_details

Records a formation's alternate name, business purpose, company stage and Delaware filing speed. Any field left out is unchanged rather than cleared.

formation_set_company_type

Sets the formation's entity type. Valid values are ENTITY_TYPE_LLC, ENTITY_TYPE_C_CORP, and ENTITY_TYPE_S_CORP — never send ENTITY_TYPE_UNSPECIFIED. Returns warnings the user must acknowledge before p…

formation_set_domain_dns_records

Adds DNS records (A, AAAA, CNAME, CAA, MX, TXT, NS) to a domain the company purchased through Lovie and applies them at the registrar — no registrar login needed. Use when the founder wants to point t…

formation_set_election83b

SetElection83b persists the 83(b) election snapshot on the formation. Owner-scoped; called after PDF generation + signature envelope creation.

formation_set_entity_ending

Sets the company's legal entity ending — the suffix that appears in the full legal name (e.g. "Inc.", "Corporation", "Co." for a C-Corp; "LLC", "L.L.C." for an LLC). Use one of the valid endings retur…

formation_set_founder_profile

Records who the founder is — their name, contact details and where they are based — on a formation. A Social Security Number or ITIN is optional here: ask for it only if the person offers, pass it onc…

formation_set_registered_agent

Sets the registered agent for the formation. Pass use_default = true to use Lovie's included registered agent (recommended for most founders), or use_default = false with an `agent` to supply a custom…

formation_set_selected_domain

Sets the founder's chosen domain on the formation. Pass an empty string to clear the selection. Domain registration only requires payment, NOT state approval: for a paid formation the domain is claima…

formation_set_share_structure

Sets the C-Corp share structure and returns the resulting total authorized capital. Pass use_default = true for the standard startup setup (10,000,000 shares at $0.0001 par), or use_default = false wi…

formation_set_shareholder_tax_identifier

Files one shareholder's Social Security Number or ITIN against a formation. The whole number goes to the secret store and only its last four digits are recorded, which is all the response returns. Ask…

formation_set_signatory

SetAuthorizedParty sets the authorized signatory for formation documents

formation_set_state

Sets the formation's state of formation. Every US state and DC is supported — pass the two-letter code (e.g. "TX", "DE", "WY"). Returns the entity types available for that state.

formation_set_team_equity

Sets the founding team's ownership split and vesting. Ownership must total exactly 100%. Existing people are matched by id and only the stated fields change. Invitations that fail to send are reported…

formation_start_domain_transfer

Begins the paid transfer at the registrar using the EPP/auth code the user obtained from their current provider. The code is used once and never stored. Transfers take days; track with the transfer-st…

formation_start_formation

THE entry point for a new company formation — runs anonymously, no sign-in required. Call this DIRECTLY whenever the user wants to start, create, or form a company or formation. Do NOT call company_ge…

formation_submit_ein_filing_info

Collects and saves EIN (SS-4) filing information after the company is filed with the state. First ask whether the user has an SSN or ITIN; if they do not, set no_ssn and skip it — the EIN then takes ~…

formation_suggest_naics_codes

Ranks candidate 2022 NAICS industry codes for a formation from its business description. Returns SUGGESTIONS ONLY and changes nothing — always show the shortlist and have the person pick one. NAICS co…

formation_sweep_formation_order_status

SweepFormationOrderStatus polls CorpTools for the status of in-flight formation orders and updates each formation. Intended for the scheduled sweep (in-process subcommand) and manual/dry-run admin tri…

formation_update_formation

UpdateFormation applies a FieldMask-scoped patch to a formation. The caller supplies update_mask.paths to select the fields to replace. The roster is not patchable here — use AddShareholder, UpdateSh…

formation_update_shareholder

Corrects one owner on a formation — their name, contact details, ownership percentage, role or address. Once the filing is under way no tool can change a formation's owners through an assistant: ask t…

google_ads_metrics_get_google_ads_campaign_window

GetGoogleAdsCampaignWindow aggregates each campaign over an arbitrary date range — the shape a charge is reconciled against. Distinct from the monthly list above, whose `month` key cannot describe a b…

google_ads_metrics_get_list_google_ads_campaign_metrics

List per-campaign monthly metrics for a company, with optional customer/campaign/month filtering and offset pagination.

insight_get_insight

Get a single insight by id.

insight_get_savings_summary

Summarize savings for a company: identified (OPEN impact), estimated (marked-done projections), and realized (verifier-confirmed), with a per-detector-type split.

invoice_get_invoice

Returns one invoice by id with its line items, client, totals, due date and payment state. Read-only. Use this to answer questions about a specific invoice; to find its id, list the company's invoices…

invoice_get_invoice_pdf_url

GetInvoicePdfUrl returns a short-lived signed S3 URL for the rendered PDF.

invoice_get_list_invoices

Lists a company's invoices, newest first, with client, amount, due date and status. Read-only and paginated. Filter by status to answer "what is unpaid" or "what is overdue".

invoice_settings_get_invoice_settings

Returns a company's invoicing defaults: numbering, payment terms, currency, tax rate and the branding that appears on a rendered invoice. Read-only. Read this before creating an invoice if you need to…

itin_check_itin_eligibility

Checks whether the user is likely eligible for an ITIN (guidance, not an IRS ruling). Someone with — or eligible for — an SSN cannot get an ITIN; a valid passport makes the process simplest. Ask the t…

itin_create_itin_checkout

Starts an ITIN purchase: creates the application and returns a Stripe Checkout URL. Give the URL to the user — payment always happens on the secure Stripe page, never in chat. Requires the user to hav…

itin_create_itin_document_upload_link

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.

itin_get_itin_application

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?'.

itin_get_itin_mailing_instructions

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.

itin_get_itin_quote

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…

itin_list_itin_applications

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.

itin_list_itin_documents

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.

itin_mark_itin_documents_mailed

Records that the user mailed their signed W-7 package; include the courier tracking number so the team can watch for arrival.

itin_poll_itin_checkout

Re-checks a pending ITIN payment against Stripe and settles it if paid. Use after the user says they completed checkout.

itin_save_itin_intake_draft

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.

itin_submit_itin_for_review

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.

itin_submit_itin_intake

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 appr…

kyc_get_kyc_status

GetKycStatus aggregates the user's inquiries into a single app-level KYC status. Safe to expose to agents.

kyc_start_kyc_inquiry

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…

list_accounts

List the company's bank accounts with current balances. Read-only.

list_agents

List the company's registered payment agents (assistants) with their autonomy envelopes (caps, allowed rails, status). Read-only.

list_send_recipients

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-…

mcp_draft_transfer

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, …

meta_ads_metrics_get_meta_ads_campaign_window

GetMetaAdsCampaignWindow aggregates each campaign over an arbitrary date range — the shape a charge is reconciled against.

notification_get_list_notifications

GetListNotifications lists notifications for the caller with filtering and pagination

notification_get_notification

GetNotification returns a single notification owned by the caller

payment_get_list_payments

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…

payment_get_payment

Returns one payment received against an invoice, by id: amount, date, method and the invoice it was applied to. Read-only.

read_agent_spend

Read an agent's settled spend broken down by counterparty and rail over an optional time window.

read_insights

List the company's cost-intelligence insights (savings opportunities, spend anomalies) with status/type filtering and pagination. Read-only.

read_transactions

List the company's transactions with filtering, sorting, and pagination. Read-only.

request_transfer_approval

Send the trusted-device approval for a sealed draft to the user's phone and return its approval_session_id. Tell the user to answer on their phone within ~5 minutes. Do NOT call commit_transfer yet: w…

saved_view_get_default_saved_view

GetDefaultSavedView returns the calling user's pinned default view for a datatable (empty when none is pinned)

saved_view_get_list_saved_views

GetListSavedViews lists saved views with filtering and pagination

saved_view_get_saved_view

GetSavedView retrieves a single saved view by ID

shopify_orders_get_shopify_payout_orders

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.

signature_create_envelope

Open a multi-signer signature envelope over an existing company document. Name the document with source_company_id + source_document_id and the service resolves its storage location and content hash i…

signature_get_consent_document

GetConsentDocument returns the currently effective ESIGN consent version (or a specific historical version when id is provided).

signature_get_list_signature_envelopes

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.

signature_get_signature_envelope

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.

signature_reconcile_document_state

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 …

signature_resend_signer_invite

ResendSignerInvite rotates a signer's token and re-emails the signing link to the persisted signer email. Founder-gated. Exposed. The earlier reason for holding it closed — "mints a token" — did not …

signature_run_reminders

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…

signature_signing_status

GetEnvelopeSigners lists an envelope's signers and their signing progress.

signature_void_envelope

VoidSignatureEnvelope voids an envelope (owner-gated, ownership checked like SignAsCompany): writes a terminal DOCUMENT_VOIDED status + voided_at and appends a hash-chained document_voided event. Void…

subscription_get_list_subscriptions

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, …

tik_tok_ads_metrics_get_tik_tok_ads_campaign_window

GetTikTokAdsCampaignWindow aggregates each campaign over an arbitrary date range — the shape a charge is reconciled against.

trademark_attach_document

AttachDocument records an uploaded file against the application.

trademark_delete_application

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…

trademark_draft_goods_services

DraftGoodsServices drafts an identification for each claimed class in USPTO ID Manual register. Output is a draft for attorney review.

trademark_firm_acknowledge_handoff

AcknowledgeHandoff records that the firm has taken the matter, optionally with the firm's own docket reference.

trademark_firm_get_handoff_package

GetHandoffPackage returns the intake, the clearance record, and a short-lived presigned URL for the dossier PDF.

trademark_firm_list_pending_handoffs

ListPendingHandoffs returns the packages awaiting this firm's attention.

trademark_firm_request_additional_info

RequestAdditionalInfo asks the applicant for something missing, and notifies them.

trademark_firm_update_handoff_status

UpdateHandoffStatus advances the handoff through the firm's workflow.

trademark_generate_package

GeneratePackage renders the handoff dossier for the reviewing attorney.

trademark_get_application

GetApplication returns one application with its classes and documents.

trademark_get_clearance_report

GetClearanceReport returns a stored clearance snapshot.

trademark_get_list_applications

GetListApplications lists a company's applications.

trademark_get_upload_url

GetUploadURL returns a presigned S3 PUT URL for a specimen or logo. The URL is minted on demand and never persisted.

trademark_recommend_classes

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 account…

trademark_run_clearance

RunClearance searches USPTO for conflicting marks across phonetic variants, screens the open web for unregistered use, and stores a snapshot report.

trademark_set_classes

SetClasses replaces the claimed Nice classes.

trademark_set_competitors

SetCompetitors records the competitors the applicant named.

trademark_set_goods_services

SetGoodsServices records the confirmed identification per class.

trademark_set_mark

SetMark records the mark itself and what the applicant sells.

trademark_set_owner

SetOwner records the owner of record for the application.

trademark_set_use_dates

SetUseDates records first-use dates and the filing basis per class.

trademark_start_application

StartApplication opens a draft application for a company.

trademark_study_competitors

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.

trademark_submit_to_firm

SubmitToFirm delivers the package to a partner firm.

trademark_suggest_classes

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 d…

transaction_accept_rule_suggestion

Accept a rule suggestion from transaction_get_list_rule_suggestions: saves a categorization rule for that merchant and account as a DRAFT. A draft books nothing and categorizes no transactions until a…

transaction_batch_categorize_transactions

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. …

transaction_batch_categorize_transactions_by_account

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"). Returns how many applied plus per-transaction failures. U…

transaction_categorize_transaction

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 automati…

transaction_categorize_transaction_by_account

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 tra…

transaction_document_get_list_transaction_documents

List transaction documents with filtering and pagination

transaction_explain_bookings

Explain how transactions were booked: for each transaction id, the chart-of-accounts account and category it is booked to, whether the account was set on the transaction or inherited from its merchant…

transaction_get_categorization_rule

Read one transaction categorization rule by id: which merchants, amounts or directions it matches, the chart-of-accounts account matching transactions are booked to, its priority in the evaluation ord…

transaction_get_company_auto_post_ceiling

Read the largest amount any of a company's categorization rules may post without a person reviewing it, when the rule sets no ceiling of its own. Empty means no company ceiling. A rule that names its …

transaction_get_list_categorization_rules

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 match…

transaction_get_list_first_day_rule_pack

List a company's merchants by transaction volume, the biggest first, each with how many transactions and how much money stand behind it and what would book it: PLATFORM_RULE (a rule Lovie ships, which…

transaction_get_list_rule_gap_observations

List the merchants no categorization rule claims, the most-seen first: the normalized merchant, one real bank descriptor, how many transactions stood behind it, their summed magnitudes, when it was fi…

transaction_get_list_rule_improvements

Propose how to fix one categorization rule people keep overruling: narrowing it so the corrected rows leave it, or splitting it so those rows go to the account people kept choosing instead. Each propo…

transaction_get_list_rule_proposals

List the categorization rule proposals still waiting for a person's decision, newest first: the merchant, the account and category the rule would book to, the proposer's confidence and evidence count,…

transaction_get_list_rule_suggestions

List merchants the company keeps booking by hand to the same chart-of-accounts account, each proposed as a categorization rule: the merchant, the account, how many times it was booked that way, how ma…

transaction_get_rule_engine_enrollment

Read whether the categorization rule engine is measuring (shadow), booking (enabled), or switched off for a company, and the agreement rate recorded when that was decided. Read-only.

transaction_get_rule_suggestion_options

Ask what categorization rule to offer for one merchant somebody has just booked by hand. Returns a case — STRONG (one option worth offering on its own), OPTIONS (a ranked choice, widest effect first),…

transaction_get_summary

Aggregate transactions into P&L groups (income/expenses) by a given dimension

transaction_get_transaction

Get a single transaction by ID or reference number

transaction_preview_categorization_rule

Count how many existing transactions a categorization rule would match, without writing anything, and list the live rules it collides with: a duplicate, a rule that shadows it or that it would shadow,…

transaction_run_shadow_comparison

Compare the categorization rule engine against a company's current books without changing anything. Returns how often the engine would agree, what it would newly claim, what no rule matches, and the r…

transaction_suggest_transaction_category

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 Categ…

user_get_user

GetUser returns a single user by internal id or Clerk id

vendor_bill_cancel_vendor_bill

Proposes cancelling an open vendor bill. Nothing changes until a person accepts the proposal in Lovie; tell them it is waiting for them. Returns proposal_id, the proposal waiting for them. Only OPEN b…

vendor_bill_create_vendor_bill

Proposes a bill the company owes a vendor. Nothing is recorded yet: a person accepts or rejects the proposal in Lovie before the bill exists or reaches the books, so tell them it is waiting for them. …

vendor_bill_get_list_vendor_bills

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".

vendor_bill_get_vendor_bill

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.

vendor_bill_mark_vendor_bill_paid

Proposes marking a vendor bill paid. Nothing changes until a person accepts the proposal in Lovie; tell them it is waiting for them. Returns proposal_id, the proposal waiting for them. It does not sen…

x_ads_metrics_get_x_ads_campaign_window

GetXAdsCampaignWindow aggregates each campaign over an arbitrary date range — the shape a charge is reconciled against.

Resources · 1

ui://widget/formation-payment.html ui://widget/formation-payment.html

Prompts · 4

business-address

Help me choose a US business address for my company formation. What are my options?

check-formation

What's the status of my company formation and what do I need to do next?

pay-and-file

I'm ready to pay for my formation and get it filed. Give me the payment link.

start-company

I want to start a US company. Walk me through forming it with Lovie, step by step.

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "lovie_company_formation": {
      "url": "https://mcp.lovie.co/mcp/mcp",
      "transport": "streamable-http"
    }
  }
}