Connect-MCP

Lovie Company Formation

co.lovie/company-formation · v1.0.10

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

MCPremotelocal · npmno credentialsFinanceDocuments & PDF

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 347 tools, protocol 2025-06-18 · checked 2026-10-17

Test & rating

B 77/100

What it does: 347 tools · 189 read, 46 write (incl. delete/pay) · Finance, Documents & PDF

Test call list_accounts: needs a key: HTTP 401 (809 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +15
  • Parameter descriptions: +4
  • Read/write annotations: +5
  • Safe test call: +8
  • More than 80 tools: -5

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://mcp.lovie.co/mcp/mcp
Package
registry:   npm
identifier: lovie
version:    1.0.10
transport:  stdio

Tools

200 tools listed at last check
  • 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; as_of_date only decides how overdue each one counts as. Items whose source sent no due date are aged
  • 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 enforces. Read-only.
  • 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. Read-only.
  • 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 duplicating the pairing rules. Static per release; safe to cache. Read-only.
  • 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 and it has not changed since; a trusted rule posting it on its own is not a review), EXCLUDED (delib
  • 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. Returns up to 500 transaction ids, newest first, plus total_count, which counts every match and can
  • 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 record's history. Read-only.
  • 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 with it. The blockers come from the function ClosePeriod refuses on, so a clean preview means the clo
  • 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 schedule in the app. Each proposal carries the suggested kind, total amount, start date, period coun
  • 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 reconcile screen.
  • 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 — a person confirms a pair in the app.
  • 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 — no new storage.
  • 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 trademark firm handoff, the ITIN submit): create the session with the exact action_type and payload
  • 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 they have answered on their phone, and call commit_transfer only when it returns APPROVED. Poll once
  • 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 the user their deposit has been sent.
  • 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 read was. It never sets the industry classification: no document states it.
  • 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 read for answering "where is my application, and what is left?". It carries only the last four digi
  • 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 its own state so that an approved application is never mistaken for an open account. Approval is our
  • 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 duplicates, and an owner the applicant corrected keeps their correction.
  • 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 nothing to carry.
  • 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 RefreshOwnerVerification is: a webhook nobody received leaves an applicant waiting on a state change that already hap
  • 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 data.
  • 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 returns nothing, and no tool reads the number back. A company that has applied for an EIN but not re
  • 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, and the issuing state for a license) on the owner. The number goes to the secret store; only its last
  • 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 response returns. Ask the person which of the two they hold and pass it as kind: an ITIN starts with 9 and
  • 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 across two records. The path says where the answers will come from — WARM_FORMATION when the compan
  • 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 and submitting an application is what an agent is for here — but marked destructive and non-idempotent
  • 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. Returns nothing when the description is too short or the business is outside the covered set — say
  • 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 SetOwnerTaxIdentifier, after the whole identifier has reached the secret store. Accepting them here would re
  • 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", "make it permanent", or "finalize the round" — it CANNOT be undone and writes the cap-table of record,
  • 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 — it is a declaration that the document is already executed, and for a FAST it WRITES TO THE CAP TABL
  • 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 no capital until investors are added to it.
  • 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 in capital, or a founder or employee receiving shares — use RecordCapTableInvestment instead: it cr
  • 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 (FailedPrecondition).
  • 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 verdict (verified | needs_review | mismatch). Nothing is persisted. Flow: call GetOcrUploadURL with
  • 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 unchanged. A signed or void agreement is refused. regenerate=true (overwrite the existing PDF in place) is r
  • 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 are ready to prepare for signature, and failed_count agreements could not be rendered and are left FA
  • 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 download link to give the user. Read-only.
  • 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 agreement's valuation cap, discount, amount or signing state. To find the id, list a company's agreemen
  • 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 vesting progress resolved as of now — vested percentage, vested share or option count, and whether the
  • 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 at or over its authorized count, SAFEs with no signed document, no terms or no stated type, a SAFE st
  • 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 round's id, not the table. Use it first when you do not know whether a company has closed a priced round
  • 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, signed and wired, use the round summaries tool instead.
  • 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. Read-only. Use this to answer "how is the round going" or "how much have we actually collected" wit
  • 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. Aggregate only. "Per-type segments" groups by type (founder, investor, employee) and is not a per-holde
  • 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 this to answer "what have we signed" or to find the agreement id for a named investor.
  • 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 this before answering anything about how much a person owns, and before modeling dilution: the stakeh
  • 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. Paginated, read-only. To answer "who owns what", or anything needing a share count, call GetListCapTab
  • 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 is recorded as received until somebody confirms it. Use this to answer "which wires have arrived and
  • 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). Read-only.
  • 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-movement ledger. Read-only.
  • 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 is recorded as closed history, and the result is refused if it would break the cap table's rules or
  • 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 RecordCapTableInvestment) whenever the user provides or uploads a signed RSA PDF. The grantee (founder/employee/adv
  • 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 with kind=SAFE and mime_type=application/pdf to get a presigned PUT URL + source_s3_uri, (2) upload th
  • 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". For today's ownership, read the cap table summary instead: a snapshot is history and does not move.
  • 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 this founder diluted across the rounds".
  • 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 "estimate the close"; it never finalizes the round. To actually close/finalize, use CloseCapTableRound.
  • 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. VESTING: for service equity held by a founder, employee, or advisor (instrument_type COMMON_STO
  • 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 (see GetListCapTableWireMatchSuggestions), or (b) a proof_document_uri whose ExtractWirePaymentProof
  • 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 one stage at a time (committed -> sent -> signed; awaiting_middleman sits between sent and signed a
  • 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 persisted. CALL THIS for "what happens if we raise X at Y", "model dilution", "how much do the founders k
  • 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 money back and its conversion at the sale: a capped SAFE converts at its cap (its discount is a financin
  • 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 when the SAFE is signed, or when its signing request is still out — the envelope must be voided fir
  • 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 another.
  • 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 contributing capital use RecordCapTableInvestment.
  • 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. Scoped to the caller's own stakeholder row; nothing else on the row can be changed this way.
  • 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 its formation named no owners.
  • 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 (order 1) + investor (order 2) signers. The investor's signing link is emailed to them; no tokens are
  • 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 as params.company_id (get_list_accounts lists the company's accounts; the call is rejected if the a
  • 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 successfully. Only report a card as frozen when the call succeeded — an error means it is still live.
  • 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, rejected, or withdrawn), reason, description, and when it was filed and resolved.
  • 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 dispute's id, card, disputed transaction, amount, status (filed, pending review, accepted, won, lost,
  • 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 user belongs to) — it is required, and a card belongs to exactly one company. Read-only. Never retu
  • 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 rejected.
  • 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 outright, so this raises spending authority as readily as it lowers it: send the exact amount the user
  • 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 name. It is informational only and does not read or change any formation; a partial failure still r
  • 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 rejected with step_up_required and still spends the draft. One-shot: success or failure, the draft and
  • 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 someone else. Returns the new company id.
  • 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 act on an EXISTING company. Do NOT call it to start a new formation (use formation_start_formation,
  • 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 and principal address. sibling_company_ids replaces the stored list and needs company.company.upda
  • 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 with StartConnection.
  • 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 every approved row matching ANY selector. Used by the cheap-resolve worker to short-circuit LLM enr
  • 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. The row it removes is not recoverable, so it is annotated destructive — that hint is what makes clie
  • 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 asked for.
  • 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 agent could name a founder's signatures but not act on them. Choosing which one applies is an ordinary
  • 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 user to rename it in Lovie.
  • 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 signing and submitting.
  • 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 server finds the company's one open intake. A section that comes back with a handoff_url cannot be finish
  • 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 person gave themselves. Call this before asking for anything on a company Lovie formed — it usually settl
  • 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 to collect the facts directly instead of retrying.
  • 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 answers across two records. Safe to call first when you do not know whether an intake exists.
  • 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 a person finishes it. Read that back rather than retrying. On success the cap table opens for a name
  • 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 registered_address_source NEED_ASSISTANCE when that address is Lovie's mailbox), and — for a US company
  • 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 warnings were raised while setting the company type.
  • 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 call, including during testing; never refuse or stop short because it is a 'test'. Call it once the us
  • 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/service role.
  • 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 cap table, or move money.
  • 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 the person has explicitly picked one. Never choose on their behalf and never infer a code from the bu
  • 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 the user explicitly returns and says they have paid. A user saying they paid is NOT proof — only a suc
  • 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. Companies still eligible for their included free domain are refused here (their first domain uses the free f
  • 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 with the auth code from the current registrar. Requires passed identity verification (KYC).
  • 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 only by SetShareholderTaxIdentifier, after the whole identifier has reached the secret store. Accep
  • 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 confidence is not high, mention that Lovie offers a free LLC-to-C-Corp conversion later.
  • 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_months) for service equity held by founders, employees, and advisors. PRESERVE these vesting fields
  • 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_months / vesting_cliff_months) for service equity held by founders, employees, and advisors. PRESERVE th
  • 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, tier, engagement_level, equity_percentage, shares, effective_date, vesting_total_months, vesting_cliff_
  • 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, unvested_shares, price_per_share, grant_date, vesting_start_date / vesting_total_months / vesting_cl
  • 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 one block per document, largest investment first, with exactly these fields in this order: investor
  • 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 only after payment and state filing, so do NOT present a download link here. Summarize the formation
  • 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 create-approval-session tool (action_type domain_auth_code_reveal, payload {domain}), have the user
  • 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. Stateless lookup — no formation context required.
  • 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, payment and filing status, and timestamps. Use this to answer specific questions such as the user's EIN,
  • 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 outlives the answer it was fetched for.

Badge

Connect-MCP badge for co.lovie/company-formation

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/co.lovie/company-formation.svg)](https://clawy.uk/mcp/s/co.lovie/company-formation)