Billy MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.5Updated Nov 8, 2026

Read Billy invoices, bills, contacts, products and postings; create contacts and draft invoices.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

Billy MCP by usefulapi's hosted MCP server (billy.usefulapi.io), published by usefulapi.io; no sign-in required; Streamable HTTP; 15 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
usefulapi.io
Endpoint
billy.usefulapi.io
Last checked

Installation

In SourceWeft

  1. Open Billy MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fbilly/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "billy-by-usefulapi": {
      "type": "http",
      "url": "https://billy.usefulapi.io/mcp"
    }
  }
}

README

Billy MCP by usefulapi

Use Billy from Claude, Cursor, or any MCP client — invoices, bills, contacts, products, accounts, bank lines and postings, plus contacts and draft invoices. Hosted, no local install: connect with your own Billy credentials.

Live endpoint: https://billy.usefulapi.io/mcp · Homepage: https://usefulapi.io/billy

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://billy.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http billy https://billy.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "billy": {      "url": "https://billy.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Billy credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/billy/

Tools

ToolTypeWhat it does
billy_get_organizationreadGet the company
billy_list_contactsreadList contacts
billy_get_contactreadGet a contact
billy_list_invoicesreadList invoices
billy_get_invoicereadGet an invoice
billy_list_billsreadList bills (supplier invoices)
billy_get_billreadGet a bill
billy_list_productsreadList products
billy_get_productreadGet a product
billy_list_accountsreadList accounts (chart of accounts)
billy_list_tax_ratesreadList tax (VAT) rates
billy_list_bank_linesreadList bank lines
billy_list_postingsreadList ledger postings
billy_create_contactwriteCreate a contact
billy_create_draft_invoicewriteCreate a draft invoice
billy_usage_statusmetaUsage status (free-tier meter)
billy_request_featuremetaRequest a missing feature
billy_upgrademetaUpgrade to Pro or Pro+
billy_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with billy_upgrade (it returns a Stripe Checkout link). Cancel any time with billy_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running billy_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Billy.

Source: servers/billy/README.md at commit 4046075

Tools

15

billy_get_organization

Get the company

The Billy company the access token belongs to: id, name, address, registration (CVR) number, base currency, VAT settings, fiscal year, default payment terms, invoice numbering, default accounts. Good first call. GET /organization.

Takes no parameters.

billy_list_contacts

List contacts

List customers and suppliers: name, type, address, CVR/registration number, EAN, payment terms, customer/supplier flags. The API has no documented search filter, so `search` is applied to the returned page only (case-insensitive on name, contact number and registration number); page on with next_page to look further. Paged. GET /contacts.

Parameterspagesearchpage_size

billy_get_contact

Get a contact

One contact by id, with its contact persons (names and e-mail addresses). GET /contacts/{id}.

Parametersidrequired

billy_list_invoices

List invoices

List sales invoices and credit notes (newest first by default): number, date, due date, state (draft/approved/voided), amount, tax, balance, isPaid, contactId, currency. Filter by state, customer, number, date, period, paid status or free text. Paged. GET /invoices.

Parametersqpagestateis_paidpage_sizecontact_idinvoice_nomax_due_datemin_due_datesort_propertymax_entry_datemin_entry_date+2 more

billy_get_invoice

Get an invoice

One invoice by id with its lines (product, description, quantity, unit price, amount, tax) and its payment associations. GET /invoices/{id}.

Parametersidrequired

billy_list_bills

List bills (supplier invoices)

List bills (purchase invoices from suppliers): supplier, dates, state (draft/approved/voided), amount, balance, isPaid, supplier invoice number. Filter by state, supplier, dates or paid status. Paged. GET /bills.

Parametersqpagestateis_paidpage_sizecontact_idmax_due_datemin_due_datesort_propertymax_entry_datemin_entry_datesort_direction+1 more

billy_get_bill

Get a bill

One supplier bill by id with its lines. GET /bills/{id}.

Parametersidrequired

billy_list_products

List products

List products and services usable as invoice lines: name, product number, description, sales account, archived flag. The API has no documented search filter, so `search` is applied to the returned page only (name, productNo). Paged. GET /products.

Parameterspagesearchpage_size

billy_get_product

Get a product

One product by id with its unit prices per currency. GET /products/{id}.

Parametersidrequired

billy_list_accounts

List accounts (chart of accounts)

The chart of accounts: account number, name, group, nature, VAT rate, bank-account flag and bank details (IBAN, bank name) of bank accounts. With is_bank_account=true this lists the bank accounts whose ids billy_list_bank_lines needs. Paged. GET /accounts.

Parameterspagepage_sizeis_bank_account

billy_list_tax_rates

List tax (VAT) rates

The company's VAT rates: name, rate (as a fraction, 0.25 = 25 percent), whether it applies to sales or purchases, active flag. Paged. GET /taxRates.

Parameterspagepage_size

billy_list_bank_lines

List bank lines

List the bank-statement lines of ONE bank account (read only; nothing is matched or reconciled): date, description, amount, side (debit/credit), reconciled flag, receipt state. Get the account id from billy_list_accounts with is_bank_account=true. Paged. GET /bankLines.

Parametersqpagesidestatuspage_sizeaccount_idrequiredmax_amountmin_amountis_reconciledreceipt_statesort_propertymax_entry_date+3 more

billy_list_postings

List ledger postings

List ledger postings (the bookkeeping entries): date, text, account, amount, side (debit/credit), currency, voided flag. Filter by account, date or period. Read only. Paged. GET /postings.

Parametersqpageis_voidedpage_sizeaccount_idmax_entry_datemin_entry_dateentry_date_period

billy_create_contact

Create a contact

WRITE: create ONE new contact (customer and/or supplier) in the company's Billy account. It does not check for duplicates (call billy_list_contacts first) and nothing is sent to the contact. Not idempotent: a repeat call creates a second contact. POST /contacts.

Parameterseancitynamerequiredtypeemailphonestreetzipcodecontact_nocountry_idis_customeris_supplier+1 more

billy_create_draft_invoice

Create a draft invoice

WRITE: create ONE invoice in the DRAFT state for an existing contact. The invoice is NOT approved, booked, numbered into the ledger or sent: the user reviews it in Billy and approves and sends it there. The invoice number is assigned by Billy. No payment is created. Not idempotent: a repeat call creates a second draft. POST /invoices with state=draft.

Parameterslinesrequiredtax_modecontact_idrequiredentry_datecurrency_idcontact_message

Version history

20
  1. v1.23.5LatestNov 8, 2026
  2. v1.23.4Nov 7, 2026
  3. v1.22.3Nov 5, 2026
  4. v1.22.2Nov 5, 2026
  5. v1.22.1Nov 4, 2026
  6. v1.22.0Nov 3, 2026
  7. v1.21.1Nov 3, 2026
  8. v1.20.0Nov 1, 2026
  9. v1.18.0Oct 31, 2026
  10. v1.17.0Oct 31, 2026
  11. v1.16.2Oct 30, 2026
  12. v1.16.0Oct 30, 2026
  13. v1.11.0Oct 26, 2026
  14. v1.8.3Oct 25, 2026
  15. v1.8.0Oct 25, 2026
  16. v1.7.0Oct 24, 2026
  17. v1.4.0Oct 23, 2026
  18. v1.3.4Oct 22, 2026
  19. v1.3.3Oct 21, 2026
  20. v1.0.0Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations