Knowledge center

Run billing with Floatless.

Product guides, billing concepts, operational playbooks, developer references, and security notes for teams running subscription revenue.

MCP server

Floatless ships a Model Context Protocol (MCP) server so AI assistants can read your billing data. It uses the same API key as the Public API and exposes read-only tools — assistants can answer questions about customers, invoices, payments, revenue, and taxes, but cannot change anything.

Endpoint

POST https://api.floatless.com/api/mcp

Authentication is identical to the Public API:

Authorization: Bearer sk_live_...

Protocol

The endpoint speaks JSON-RPC 2.0 over HTTP (MCP Streamable HTTP transport, JSON responses). Supported methods:

Method Purpose
initialize Handshake; returns server info and capabilities
notifications/initialized Handshake completion (notification, no response)
tools/list List available tools
tools/call Execute a tool
ping Liveness check

Tools

Tool Description
list_customers Recent customers with locale and tax-exempt flags
get_customer One customer with open-invoice and subscription counts
list_invoices Invoices, filterable by status (POSTED, PARTIALLY_PAID, PAID)
revenue_summary Totals billed, paid, outstanding, overdue count, active subscriptions
list_products Product catalog with prices
recent_payments Recent payments across invoices
tax_lookup Destination sales-tax lines (GST/HST/QST or US state baseline) for a location

All tools are tenant-scoped: an API key can only ever see its own organization's data. Mutations are deliberately not exposed over MCP — use the versioned REST API for writes.

Example: listing invoices from a client

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_invoices",
    "arguments": { "status": "PARTIALLY_PAID", "limit": 10 }
  }
}

The response wraps tool output as MCP content:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [{ "type": "text", "text": "{'count': 2, 'invoices': [...]}" }],
    "isError": false
  }
}

Claude Desktop / Cursor configuration

Add Floatless as an MCP server and point it at your deployment with an API key created in the console (Settings → Developers):

{
  "mcpServers": {
    "floatless": {
      "url": "https://api.floatless.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_YOUR_KEY"
      }
    }
  }
}

llms.txt

A markdown overview of the API for LLM agents and crawlers is published at:

GET https://api.floatless.com/api/llms.txt

Rate limits and errors

The MCP server inherits API-key authentication and returns standard JSON-RPC error codes: -32700 parse error, -32600 invalid request, -32601 unknown method, -32602 unknown tool. Tool execution failures are returned as tool results with isError: true rather than protocol errors.