Agent-native banking — connect your AI client
Lovie

Platform API

One host. Your whole company.

Banking, cap table, accounting, formation and documents — served as gRPC services behind a single address, for the people and the agents building on Lovie.

https://api.lovie.co

Transport

The edge in front of this host speaks HTTP/1.1 and HTTP/2, but does not carry gRPC's h2c framing, so gRPC-Web is the transport to use.

ProtocolStatusNotes
gRPC-Web Available Over HTTPS/1.1. What the Lovie web client itself uses, in the browser and server-side.
gRPC (h2c) Not routed Native gRPC does not survive the edge.
Connect Not routed Not available on this host.

Authentication

Every gRPC route is gated at the edge. Send a Clerk-issued JWT on each call:

authorization: Bearer <clerk-jwt>

A missing or invalid token is rejected before it reaches a service — you get 401 with a WWW-Authenticate: Bearer header, not a gRPC status.

Agents authenticate differently, and they get their own host: the MCP server at https://mcp.lovie.co is exempt from edge JWT so a client can complete an anonymous handshake, and performs per-tool OAuth itself. Nothing on this hostname is reachable without a token.

Quickstart

TypeScript

connect-web + generated stubs

import { createClient } from "@connectrpc/connect";
import { createGrpcWebTransport } from "@connectrpc/connect-web";
import { TransactionService } from "@lovieco/api/lovie/transaction/v1/transaction_service_pb";

const transport = createGrpcWebTransport({
  baseUrl: "https://api.lovie.co",
  httpVersion: "1.1",
  interceptors: [
    (next) => async (req) => {
      req.header.set("authorization", `Bearer ${token}`);
      return next(req);
    },
  ],
});

const client = createClient(TransactionService, transport);
const { transactions } = await client.getListTransactions({ pageSize: 25 });

Using an AI agent instead?

The same platform is exposed as an MCP server — add it to Claude, Cursor, VS Code or ChatGPT and skip the client code entirely.

Connect an AI client →

Agent surface

347 operations across 25 services are exposed to AI clients over MCP, discovered live from the running services — 38 of them callable without a sign-in. This is the agent-callable subset; the full gRPC contract lives in the protos, and what is reachable at this edge is an explicit allowlist.

▸ lovie.account.v1 3
▸ lovie.accounting.v1 29
▸ lovie.banking.v1 20
▸ lovie.billing.v1 13
▸ lovie.card.v1 10
▸ lovie.company.v1 147
▸ lovie.counterparty.v1 3
▸ lovie.document.v1 13
▸ lovie.field.v1 9
▸ lovie.identity.v1 3
▸ lovie.insight.v1 4
▸ lovie.integration.adsinsight.v1 2
▸ lovie.integration.connection.v1 1
▸ lovie.integration.googleads.v1 2
▸ lovie.integration.metaads.v1 1
▸ lovie.integration.shopify.v1 1
▸ lovie.integration.tiktokads.v1 1
▸ lovie.integration.xads.v1 1
▸ lovie.itin.v1 13
▸ lovie.kyc.v1 2
▸ lovie.notification.v1 2
▸ lovie.payments.v1 9
▸ lovie.signature.v1 10
▸ lovie.trademark.v1 25
▸ lovie.transaction.v1 23