bexio MCP server

Read bexio contacts, invoices, quotes, bills, projects and journal; log time, draft invoices. Hosted by usefulapi — connect from Claude, ChatGPT, Cursor, or any MCP client.

Claude claude.ai · Desktop

  1. Open Customize → Connectors, then click + Add → Add custom connector.
  2. Enter the name bexio and this URL, then click Add:
    https://bexio.usefulapi.io/mcp
  3. Claude opens the bexio login page: sign in and approve the access.
  4. In a chat, click + → Connectors and turn on bexio.

Team and Enterprise: an Owner adds the connector for the organization first.

Claude Code

Run this command, then run /mcp in Claude Code to log in:

claude mcp add --transport http bexio https://bexio.usefulapi.io/mcp

Cursor

Add to Cursor or add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "bexio": {
      "url": "https://bexio.usefulapi.io/mcp"
    }
  }
}

VS Code

Add to VS Code or add this to .vscode/mcp.json:

{
  "servers": {
    "bexio": {
      "type": "http",
      "url": "https://bexio.usefulapi.io/mcp"
    }
  }
}

ChatGPT chatgpt.com

  1. Open Plugins, click +, then Add custom MCP server.
  2. Enter the name bexio and this URL, choose OAuth as the authentication, confirm the warning and create it:
    https://bexio.usefulapi.io/mcp
  3. ChatGPT opens the bexio login page: sign in and approve the access.
  4. In Plugins, install bexio, then choose it in a chat.

No Add custom MCP server option? It depends on your account or workspace settings: see OpenAI's guide.

Codex

Run these commands. The second one opens the login page:

codex mcp add bexio --url https://bexio.usefulapi.io/mcp
codex mcp login bexio

Other MCP clients (Windsurf, Cline, Zed and more): add the URL as a remote MCP server (Streamable HTTP). The client then opens the login page in your browser. Do not add an Authorization header: see Before you connect.

live32 toolsFree 50 tool calls / monthPro $9/mo · $90/yr

Before you connect

You sign in with your bexio account and approve the access (OAuth). You do not need an API key.

This server reads your contacts, invoices, quotes, orders, items, projects, timesheets, supplier bills, chart of accounts, journal, taxes and bank accounts. It can create contacts, contact notes, timesheet entries and draft invoices when you ask it to; it never issues, sends, books, changes or deletes anything. It can do only what your bexio user is allowed to do. You can revoke access any time in bexio (Settings → Apps).

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: you sign in with your bexio account. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.

Example prompts

Turn on the bexio connector, then ask in plain words. The AI picks the tools.

Tools 32

ToolTypeWhat it does
bexio_get_company_profileread
Get company profile
The bexio company's profile: name, address, legal form, VAT (MWST) and UID numbers, contact details. Each bexio account has one profile.
bexio_get_current_userread
Get current user
The signed-in bexio user (id, name, email, superadmin/accountant flags). Its id is the default user_id of new records.
bexio_list_usersread
List users
The company's bexio users (id, name, email). Use an id as user_id or owner of contacts, documents and timesheets.
bexio_list_contactsread
List contacts
List or search contacts (customers, suppliers, persons, companies). Without filters it pages through all contacts; with filters it uses bexio's contact search (all filters must match). name_1 is the company name or a person's last name, name_2 a person's first name.
bexio_get_contactread
Get contact
One contact with its address, emails, phones, language, groups and remarks.
bexio_list_invoicesread
List invoices
List or search sales invoices (number, contact, totals, open amount, dates, status). Statuses: draft, pending (issued, open), paid, partial (partially paid), canceled, unpaid (overdue reminder state). Without filters it pages through all invoices; with filters all must match.
bexio_get_invoiceread
Get invoice
One invoice with its positions (line items), taxes, totals, received payments and remaining amount.
bexio_list_invoice_paymentsread
List invoice payments
The payments recorded on one invoice (date, amount, bank account, cash discount).
bexio_list_quotesread
List quotes
List or search quotes (Offerten): number, contact, totals, validity, status (draft, pending, confirmed, declined). With filters all must match.
bexio_get_quoteread
Get quote
One quote with its positions, taxes and totals.
bexio_list_ordersread
List orders
List or search sales orders (Aufträge): number, contact, totals, recurring flag, status (pending, done, partial, canceled). With filters all must match.
bexio_get_orderread
Get order
One sales order with its positions, taxes and totals.
bexio_list_articlesread
List items
List or search items / products (Artikel): code, name, sale and purchase price, tax, unit, stock levels. Use an id as article_id in a draft invoice.
bexio_list_projectsread
List projects
List or search projects: number, name, contact, state, type, dates, budget. With filters all must match.
bexio_get_projectread
Get project
One project with its contact, state, type, dates, invoicing and budget settings.
bexio_list_timesheetsread
List timesheets
List or search time tracking entries: date, duration, text, user, contact, project, business activity, billable flag. With filters all must match.
bexio_list_business_activitiesread
List business activities
Business activities (Tätigkeiten) for time tracking: id, name, billable default, hourly rate. A timesheet needs one.
bexio_list_accountsread
List accounts
The chart of accounts: account number, name, type (1 earning, 2 expenditure, 3 active/asset, 4 passive/liability, 5 complete/closing), default tax, active/locked flags.
bexio_list_journalread
List journal entries
Accounting journal bookings: date, debit and credit account ids, description, amount, currency, base-currency amount, and the source document (ref_class, ref_id).
bexio_list_taxesread
List taxes
VAT (MWST) tax codes: id, code, rate, type (sales_tax, pre_tax, ...), validity. For a draft invoice use an active sales tax (types sales_tax, scope active).
bexio_list_bank_accountsread
List bank accounts
The company's bank accounts shown in bexio banking: name, bank, IBAN / QR-IBAN, currency, linked ledger account, QR-invoice mode.
bexio_list_currenciesread
List currencies
Currencies set up in bexio (id, code such as CHF or EUR, rounding), optionally with the exchange rate valid on a date. Use an id as currency_id.
bexio_list_business_yearsread
List business years
Accounting business (fiscal) years: start, end, status (open, locked, closed).
bexio_list_billsread
List supplier bills
Supplier bills (Kreditoren / purchase bills): document number, vendor, title, status, gross/net, pending amount, bill and due date, overdue flag. status: DRAFTS, TODO (booked, not fully paid), PAID, OVERDUE.
bexio_create_contactwrite
Create contact
WRITE: create a new contact (company or person) in bexio. Nothing existing is changed. For a person, name is the last name and first_name the first name. Owner and responsible user default to the signed-in user.
bexio_create_notewrite
Create note
WRITE: add a note (call log, meeting minutes, follow-up) to a contact and/or project in bexio. Nothing existing is changed.
bexio_create_timesheetwrite
Create timesheet entry
WRITE: log time in bexio: either date + duration (HH:MM), or start + end. Needs a business activity (bexio_list_business_activities). Nothing existing is changed.
bexio_create_draft_invoicewrite
Create draft invoice
WRITE: create a DRAFT invoice in bexio for a contact, with custom, item (article) and text lines. It is never issued, sent or booked: the user reviews and issues it in bexio. Taxes must be active sales taxes (bexio_list_taxes with types sales_tax, scope active).
bexio_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
bexio_request_featuremeta
Request a missing feature
Tell usefulapi that the user needs something the bexio tools cannot do yet (a missing tool, field or filter). Call it only when the user asks for something none of the tools can do, and tell the user that you send the request. Do not call it for errors or for normal requests. Do not include personal data, credentials or customer records. Stored with the product name and the client type (for example Claude or Cursor), without the user's account. At most 5 requests per day. Does not count against the meter.
bexio_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED bexio tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a short link to open in your browser (it opens Stripe Checkout); after payment your account upgrades automatically. Does not count against the meter.
bexio_cancel_subscriptionmeta
Cancel the Pro subscription
Cancel the caller's bexio Pro subscription at the end of the paid period (no refund for the current period; unlimited calls continue until then, then the free tier applies). Requires confirm: true. Run bexio_upgrade later to undo the cancel before the period ends. Does not count against the meter.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Proper user$9/mo · $90/yrUnlimited

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

FAQ

Is this an official bexio product?

No. usefulapi is an independent service. It is not affiliated with or endorsed by bexio. The server calls the bexio API with your own bexio access, so it sees only the data that your account can see.

Can I connect bexio to Claude or ChatGPT?

Yes. In Claude, add this server's URL as a custom connector. In ChatGPT, add it as a custom MCP server in Plugins. Then log in once. Cursor, VS Code, Claude Code and Codex work too. See the setup steps.

What do I need to connect?

A bexio account. You sign in to bexio and approve the access. You do not need an API key.

Do I add an Authorization header to the client config?

No. 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: you sign in with your bexio account. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.

How do you keep my bexio credentials?

The login stores them encrypted in the authorization grant of your connection. The server uses them to call the bexio API for you and to derive a private account id for usage metering. usefulapi does not show them on any page or in any reply. You can revoke the access in bexio at any time.

Can the AI change my bexio data?

Yes, if you approve it. 4 of the 28 bexio tools can create or change data. The other 24 are marked read-only. Most MCP clients ask you to approve a tool call before it runs.

What does it cost?

The Free plan gives 50 tool calls / month. Pro costs $9/mo or $90/yr, with unlimited tool calls, for this bexio server only. Run bexio_usage_status to see how many calls you used.

How do I subscribe or cancel?

Ask the AI to run bexio_upgrade: it returns a Stripe Checkout link. To cancel, run bexio_cancel_subscription. Pro continues to the end of the paid period.

What if a bexio tool that I need is missing?

Tell the AI what you wanted to do. It can send the request with bexio_request_feature. We store the text with the server name, the type of AI client and the tool you tried, not with your account, and read every request when we plan new tools. You can send up to 5 requests per day.

Which AI clients can I use?

Any client that supports remote MCP servers (Streamable HTTP) with OAuth login: Claude (web and desktop), Claude Code, ChatGPT, Codex, Cursor, VS Code, Windsurf and others.

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.

More Payments & Billing MCP servers

AmberfloAutumnBasis TheoryBill4TimeBillomatBillyBraintreeCashCtrlChargebeeChargeOverCheckout.come-BoekhoudenFreeAgentInvoice NinjaInvoicedLagoLemon SqueezyLexware OfficeMercoaMerit AktivaOblioOrbPolarRecurlysevdeskSmartAccountsSmartBillSuperFakturaSzámlázz.huVyfakturuj

All Payments & Billing servers →