Bexio MCP

by PromptPartner

271 downloads
Not rated
GitHub

About

Complete Swiss accounting integration for Bexio via MCP. Works with Claude Desktop, n8n, and any MCP client. 221 tools for invoices, contacts, projects & more.

Details

Author
PromptPartner
Downloads
271
Categories
Productivity, Other, AI

- 221 tools covering all Bexio API domains
- Full invoice lifecycle (create, issue, send, cancel)
- Swiss QR-bill and ISO 20022 payment support
- Project management with milestones and timesheets
- Contact & CRM management with groups and relations
- Accounting: chart of accounts, journal entries, VAT
- File upload/download and document management

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Bexio MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via the MCPB bundle (download from Releases and double-click) or via npm. For Claude Desktop, add a configuration entry in claude_desktop_config.json with your Bexio API token. For n8n or other HTTP clients, start the server in HTTP mode with --mode http --port 8000. The server runs on stdio by default.

ping

Test tool that returns pong - validates SDK integration

list_contact_groups

List all contact groups for categorizing contacts

get_contact_group

Get a specific contact group by ID

create_contact_group

Create a new contact group for categorizing contacts

delete_contact_group

Delete a contact group by ID

update_contact_group

Update a contact group's name

search_contact_groups

Search contact groups by name

list_contact_sectors

List all contact sectors (industry types for contacts)

get_contact_sector

Get a specific contact sector by ID

create_contact_sector

[NOT SUPPORTED] Create a new contact sector (industry type). Note: Bexio API does not support creating contact sectors. This resource is read-only.

search_contact_sectors

Search contact sectors by name

list_salutations

List all salutations (e.g., Mr., Mrs., Dr.)

get_salutation

Get a specific salutation by ID

create_salutation

Create a new salutation (e.g., Mr., Mrs., Dr.)

delete_salutation

Delete a salutation by ID

update_salutation

Update a salutation's name

search_salutations

Search salutations by name

list_titles

List all titles (e.g., CEO, Manager, Director)

get_title

Get a specific title by ID

create_title

Create a new title (e.g., CEO, Manager, Director)

delete_title

Delete a title by ID

update_title

Update a title's name

search_titles

Search titles by name

list_countries

List all countries available in Bexio

get_country

Get a specific country by ID

create_country

Create a new country entry

delete_country

Delete a country by ID

list_languages

List all languages available in Bexio

get_language

Get a specific language by ID

create_language

[NOT SUPPORTED] Create a new language entry. Note: Bexio API returns 501 Not Implemented for this endpoint. This resource is read-only.

list_units

List all units of measurement (e.g., hours, pieces, kg)

get_unit

Get a specific unit by ID

create_unit

Create a new unit of measurement

delete_unit

Delete a unit by ID

get_company_profile

Get the company profile including name, address, and settings

update_company_profile

Update company profile settings

list_permissions

List all available user permissions in the Bexio account (v3.0 API)

list_payment_types

List all payment types available for invoices and payments

get_payment_type

Get a specific payment type by ID

create_payment_type

Create a new payment type for invoices and payments

list_bank_accounts

List all configured bank accounts in Bexio. Returns account details including IBAN, bank name, and currency. Use this to get valid bank_account_id values before creating payments.

get_bank_account

Get details of a specific bank account by ID

list_currencies

List all currencies configured in Bexio. Returns currency codes (CHF, EUR, USD, etc.) with their rounding factors for invoicing.

get_currency

Get details of a specific currency by ID

create_currency

Create a new currency in Bexio. Swiss default: round_factor 0.05 (5 rappen). Common currencies: CHF, EUR, USD, GBP.

update_currency

Update an existing currency's settings

delete_currency

Delete a currency by ID. Cannot delete currencies in use by documents.

get_currency_exchange_rates

Get exchange rates for a specific currency (by ID, from list_currencies), optionally for a historical date. Useful for multi-currency reporting and conversions.

list_currency_codes

List all ISO currency codes Bexio supports (for use when creating currencies).

create_iban_payment

⚠️ Creates a STANDALONE bank payment that is NOT linked to any supplier bill. To pay a supplier bill (and have it marked paid), use `create_outgoing_payment` with a `bill_id` instead — that works for both IBAN and QR and records the payment against the bill. A standalone payment created here CANNOT be attached to a bill afterward. Use this tool only for ad-hoc payments that have no underlying bill. Create an IBAN payment (Swiss ISO 20022 standard). First use list_bank_accounts to get a valid bank_account_id. Only CHF and EUR currencies are supported. Recipient address must use structured format (street, house_number, zip, city, country_code).

get_iban_payment

Get details of an IBAN payment by ID

update_iban_payment

Update a pending IBAN payment. Only pending payments can be modified. Note: this cannot attach the payment to a supplier bill — Bexio returns 403. To pay a bill, create the payment via `create_outgoing_payment` with a `bill_id`.

create_qr_payment

⚠️ Creates a STANDALONE bank payment that is NOT linked to any supplier bill. To pay a supplier bill (and have it marked paid), use `create_outgoing_payment` with a `bill_id` instead — that works for both IBAN and QR and records the payment against the bill. A standalone payment created here CANNOT be attached to a bill afterward. Use this tool only for ad-hoc payments that have no underlying bill. Create a QR payment (Swiss QR-invoice standard per SIX Group spec v2.3). First use list_bank_accounts to get a valid bank_account_id. Only CHF and EUR currencies are supported. QR reference must be exactly 27 digits if provided. Recipient address must use structured format.

get_qr_payment

Get details of a QR payment by ID

update_qr_payment

Update a pending QR payment. Only pending payments can be modified.

list_projects

List all projects in Bexio with pagination support

get_project

Get a specific project by ID from Bexio

create_project

Create a new project in Bexio. Requires user_id (owner) and name.

update_project

Update an existing project in Bexio

delete_project

Delete a project from Bexio by ID. Consider using archive_project instead for data retention.

archive_project

Archive a project in Bexio. Archived projects are hidden but not deleted.

unarchive_project

Unarchive a previously archived project in Bexio, making it active again.

search_projects

Search for projects in Bexio using field-based criteria. Supports exact match and partial matching.

list_project_types

List all project types available in Bexio (e.g., Internal, Customer Project)

get_project_type

Get a specific project type by ID from Bexio

list_project_statuses

List all project statuses available in Bexio (e.g., Active, Completed, On Hold)

get_project_status

Get a specific project status by ID from Bexio

list_milestones

List milestones for a specific project in Bexio

get_milestone

Get a specific milestone by ID from a project in Bexio

create_milestone

Create a new milestone in a project. Milestones track key deadlines and deliverables.

delete_milestone

Delete a milestone from a project in Bexio

list_work_packages

List work packages for a specific project in Bexio

get_work_package

Get a specific work package by ID from a project in Bexio

create_work_package

Create a new work package in a project. Work packages organize deliverables and track estimated effort.

update_work_package

Update an existing work package in a project

delete_work_package

Delete a work package from a project in Bexio

list_timesheets

List all timesheet entries with pagination

get_timesheet

Get a specific timesheet entry by ID

create_timesheet

Create a new timesheet entry. Duration must be in HH:MM format (e.g., '02:30' for 2.5 hours)

delete_timesheet

Delete a timesheet entry by ID

search_timesheets

Search timesheets by criteria (field, value, criteria). Common fields: user_id, pr_project_id, date

list_timesheet_statuses

List all timesheet statuses (e.g., open, approved, locked)

list_business_activities

List business activities (service types for time tracking). Used to categorize work.

get_business_activity

Get a specific business activity by ID

create_business_activity

Create a new business activity (service type for time tracking)

list_communication_types

List all communication types (e.g., email, phone, meeting)

get_communication_type

Get a specific communication type by ID

list_accounts

List chart of accounts with pagination. Returns all accounts in the chart of accounts.

get_account

Get a specific account by ID from the chart of accounts

create_account

Create a new account in the chart of accounts

search_accounts

Search accounts by criteria. Use field/value/criteria pattern for flexible searching.

list_account_groups

List account groups (read-only hierarchy). Account groups organize the chart of accounts into categories.

list_calendar_years

List calendar years defined in the system

get_calendar_year

Get a specific calendar year by ID

list_business_years

List business/fiscal years (read-only). Business years define fiscal periods for accounting.

list_manual_entries

List manual journal entries

get_manual_entry

Get a specific manual entry by ID

create_manual_entry

Create a manual journal entry (double-entry bookkeeping). Provide flat params; the handler transforms to nested entries array internally. Bexio validates that debits equal credits.

update_manual_entry

Update a manual entry

delete_manual_entry

Delete a manual entry

list_vat_periods

List VAT periods (read-only). VAT periods define reporting periods for value-added tax.

get_journal

Query the accounting journal with optional date range. Returns journal entries for the specified period.

get_account_balances

Get account balances (Saldenliste) computed from the accounting journal. Bexio has no native balance endpoint, so balances are derived: balance = sum(debits) - sum(credits) per account over the date range. Defaults to the current business year, which includes opening/carry-forward entries and therefore reflects the current balance. Returns each account with account_no, name, debit/credit totals and balance.

list_bills

List all bills (creditor invoices) with optional pagination

get_bill

Get a specific bill (creditor invoice) by UUID

create_bill

Create a new bill (creditor invoice) from a supplier (Bexio v4.0). IMPORTANT field names: use supplier_id (NOT contact_id), line_items (NOT positions), and booking_account_id on each line (NOT account_id); 'address' is a structured object. The API also requires contact_partner_id, bill_date, due_date, currency_code, item_net and manual_amount (+ amount_calc when manual_amount is false). New bills are created as DRAFT — use issue_bill to book them, then create_outgoing_payment to mark them paid.

update_bill

Update an existing bill (creditor invoice). This is a SAFE PARTIAL update: the server fetches the current bill, merges your changes, and preserves untouched fields (including document_no), so you only need to send the fields you want to change. EXCEPTION: line_items is replaced wholesale — to change one line you must send the FULL line_items array, or omit line_items to leave them unchanged.

delete_bill

Delete a bill (creditor invoice)

search_bills

Search/filter bills (creditor invoices) by criteria. Uses GET with query params (Bexio v4.0 does not support POST /search for bills).

issue_bill

Finalize (book) a DRAFT bill (creditor invoice): transitions it from DRAFT to BOOKED so it posts to the ledger and can be paid. Bexio v4.0 books bills via PUT /purchase/bills/{id}/bookings/BOOKED (there is no POST /issue endpoint).

mark_bill_as_paid

Mark a bill as paid. NOTE: Bexio v4.0 has no mark-as-paid endpoint — a bill is marked paid by recording a payment against it. Use create_outgoing_payment with payment_data.bill_id set to this bill's UUID (that flips the bill to PAID). Calling this tool returns that guidance rather than performing a no-op request.

list_expenses

List all expenses with optional pagination

get_expense

Get a specific expense by UUID

create_expense

Create a new expense record

update_expense

Update an existing expense

delete_expense

Delete an expense

list_purchase_orders

List all purchase orders with optional pagination

get_purchase_order

Get a specific purchase order by ID

create_purchase_order

Create a new purchase order to a supplier

update_purchase_order

Update an existing purchase order

delete_purchase_order

Delete a purchase order

list_outgoing_payments

List outgoing payments for a specific bill. Bexio requires a bill_id (payments are listed per bill).

get_outgoing_payment

Get a specific outgoing payment by UUID

create_outgoing_payment

Create an outgoing payment for a supplier bill (Bexio v4.0). This is how you PAY/settle a bill: creating a payment linked via bill_id marks that bill PAID. Required fields: bill_id, payment_type (IBAN | QR | MANUAL), amount, currency_code, exchange_rate (1 for same currency), execution_date and is_salary_payment. For payment_type MANUAL, sender_bank_account_id is also required. QR payments carry reference_no (the QR reference); IBAN payments carry message (the remittance text). fee_type (e.g. 'NO_FEE' for domestic) and receiver_* address fields apply to real bank transfers.

update_outgoing_payment

Update an existing outgoing payment (Bexio v4.0). The update is a PUT to the collection with the id in the body (there is no per-id update URL). The API requires execution_date, amount and is_salary_payment, and also accepts fee_type, reference_no (QR) / message (IBAN) and receiver_* fields. NOTE: currency_code and exchange_rate are NOT updatable (they are set at creation) — they are ignored if sent. Omitting a required field returns a validation error. If you only need to change the amount or date, it is often simpler to delete_outgoing_payment and create a new one.

delete_outgoing_payment

Delete an outgoing payment

list_files

List files from Bexio with optional pagination

get_file

Get a specific file's metadata by ID

upload_file

Upload a file to Bexio. File content must be provided as base64 encoded string for MCP JSON transport.

download_file

Download a file's content from Bexio. Small files (<= 64 KB by default) are returned inline as a base64 string (`content_base64`). Larger files are written to a file on the server and the tool returns `file_path` instead of the base64 (this prevents context overflow). Pass `output_path` to control where the file is written, or set the BEXIO_DOWNLOAD_INLINE_MAX_BYTES env var to change the inline threshold. NOTE: in HTTP/n8n mode the returned path is on the SERVER host, not the MCP client machine.

update_file

Update a file's metadata in Bexio

delete_file

Delete a file from Bexio

list_additional_addresses

List additional addresses for a contact

get_additional_address

Get a specific additional address for a contact

create_additional_address

Create an additional address for a contact

update_additional_address

Update an additional address for a contact

search_additional_addresses

Search additional addresses for a contact by criteria

delete_additional_address

Delete an additional address from a contact

list_employees

List employees in the payroll system. Requires Bexio Payroll module subscription. Use to get employee IDs for timesheets and absences.

get_employee

Get a specific employee by ID. Requires Bexio Payroll module subscription.

create_employee

Create a new employee in the payroll system. Requires Bexio Payroll module subscription. Links a Bexio user to payroll.

update_employee

Update an existing employee. Requires Bexio Payroll module subscription.

list_absences

List a specific employee's absences (vacation, sick leave, etc.). Requires Bexio Payroll module subscription. Optional year filter.

get_absence

Get a specific absence record by ID. Requires Bexio Payroll module subscription.

create_absence

Create a new absence record (vacation, sick leave, etc.). Requires Bexio Payroll module subscription.

update_absence

Update an existing absence record. Requires Bexio Payroll module subscription.

delete_absence

Delete an absence record. Requires Bexio Payroll module subscription.

list_payroll_documents

List payroll documents (payslips, etc.). Requires Bexio Payroll module subscription. Optional employee filter.

get_employee_payslip_pdf

Fetch a single employee's payslip (Lohnabrechnung) as a base64-encoded PDF for a given year and month. Requires Bexio Payroll module. Returns { content (base64), content_type, filename }.

list_contacts

List contacts from Bexio with optional pagination and filtering

get_contact

Get a specific contact by ID

search_contacts

Search contacts by name, email, or other fields

advanced_search_contacts

Perform advanced search on contacts using multiple criteria

find_contact_by_number

Find a specific contact by its contact number (e.g., '001008')

find_contact_by_name

Find contacts by name (searches through all pages)

update_contact

Update an existing contact's information

create_contact

Create a new contact in Bexio. Set contact_type to 'person' for individuals or 'company' for organizations.

delete_contact

Delete a contact (soft delete -- moves to trash). Use restore_contact to recover.

bulk_create_contacts

Create multiple contacts in one call. Returns per-item results with success/failure status.

restore_contact

Restore a previously deleted contact from trash.

list_invoices

List invoices from Bexio with optional pagination

list_all_invoices

List every invoice in Bexio by paging automatically

get_invoice

Get a specific invoice by ID

search_invoices

Search invoices via the Bexio search endpoint

search_invoices_by_customer

Search invoices by customer name (finds contact, then invoices)

create_invoice

Create a new invoice in Bexio

issue_invoice

Issue an invoice

cancel_invoice

Cancel an invoice

mark_invoice_as_sent

Mark an invoice as sent

send_invoice

Send an invoice

copy_invoice

Copy an invoice

list_invoice_statuses

List all available invoice statuses with their meanings

list_all_statuses

List all document statuses for invoices, quotes, and orders

get_open_invoices

Get all open invoices (draft and sent/pending)

get_overdue_invoices

Get all overdue invoices

edit_invoice

Edit/update an existing invoice

delete_invoice

Delete an invoice

get_invoice_pdf

Get an invoice as PDF (returns base64-encoded content)

revert_invoice_to_draft

Revert an issued invoice back to draft status

list_orders

List orders from Bexio with optional pagination

get_order

Get a specific order by ID

create_order

Create a new order in Bexio

search_orders

Search orders via the Bexio search endpoint. Use query for simple text search, or filters for advanced criteria.

search_orders_by_customer

Search orders by customer name (2-step process: find contact by name, then find orders by contact_id)

create_delivery_from_order

Create a delivery from an order

create_invoice_from_order

Create an invoice from an order

edit_order

Edit/update an existing order

delete_order

Delete an order

get_order_pdf

Get an order as PDF (returns base64-encoded content)

get_order_repetition

Get repetition settings for an order

edit_order_repetition

Edit repetition settings for an order

delete_order_repetition

Delete repetition settings for an order

list_quotes

List quotes (offers) from Bexio with optional pagination

get_quote

Get a specific quote by ID

create_quote

Create a new quote (offer) for an existing contact

search_quotes

Search quotes via the Bexio search endpoint. Use query for simple text search, or filters for advanced criteria.

search_quotes_by_customer

Search quotes by customer name (2-step process: find contact by name, then find quotes by contact_id)

issue_quote

Issue a quote

accept_quote

Accept a quote

decline_quote

Decline a quote

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "bexio mcp": {
            "bexio": {
                "command": "npx",
                "args": [
                    "@promptpartner/bexio-mcp-server"
                ],
                "env": {
                    "BEXIO_API_TOKEN": "your-token-here"
                }
            }
        }
    }
}

McpServers

{
    "bexio": {
        "command": "npx",
        "args": [
            "@promptpartner/bexio-mcp-server"
        ],
        "env": {
            "BEXIO_API_TOKEN": "your-token-here"
        }
    }
}

Complete Swiss accounting integration forBexiovia theModel Context Protocol (MCP). Works withClaude Desktop,n8n, and any MCP-compatible client.

Manage invoices, contacts, projects, time tracking, and 300+ more tools through AI conversation or workflow automation.

This project is under active development. While it's functional and tested, you may encounter bugs or unexpected behavior. Features will continue to be added and improved over time. Pleasereport any issuesyou find!
- Download the latest.mcpbfile from
GitHub Releases
- In Claude Desktop, go toSettings → Extensions
- Install the extension using one of these methods:

- Double-clickthe downloaded.mcpbfile, or
- Drag and dropthe file onto the Extensions window, or
- ClickAdvanced Settings → Install Extensionand select the file

{ "mcpServers": { "bexio": { "command": "npx", "args": ["@promptpartner/bexio-mcp-server"], "env": { "BEXIO_API_TOKEN": "your-token-here" } } } }

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json

BEXIO_API_TOKEN=your-token npx @promptpartner/bexio-mcp-server --mode http --port 8000

The server exposes MCP over HTTP athttp://localhost:8000. Configure your MCP client to connect to this endpoint.

BEXIO_API_TOKEN=your-token npx @promptpartner/bexio-mcp-server
git clone https://github.com/promptpartner/bexio-mcp-server cd bexio-mcp-server/src npm install && npm run build BEXIO_API_TOKEN=your-token node dist/index.js

- Go todeveloper.bexio.com
- Log in with your regular Bexio account
- Navigate toPersonal Access Tokens
- ClickCreate New Token
- Copy the token and use it in your configuration

This MCP server provides314 toolsacross all Bexio domains:

- Create, update, search contacts
- Contact groups, sectors, salutations, titles
- Contact relations management

- Full invoice lifecycle (create, issue, send, cancel)
- Quotes with accept/decline workflows
- Orders with delivery management
- Incoming payments tracking
- Interactive invoice preview (Claude Desktop)

- Swiss QR-bill payment support (QR-IBAN)
- Standard IBAN payments (ISO 20022)
- Currency management (CHF, EUR)
- Bank account management

- Project management with types and statuses
- Milestones and work packages
- Timesheet entries with duration tracking
- Business activities and communication types

- Chart of accounts
- Manual journal entries
- Business years and VAT periods
- Account groups

- Bills (creditor invoices)
- Expenses and purchase orders
- Outgoing payments

- Document upload/download
- File management

- Employee management
- Absence tracking
- Payroll documents

Here are some real-world examples of using the Bexio MCP server with Claude:

"Show me all overdue invoices"

What happens:Claude uses theget_overdue_invoicestool to query Bexio for all invoices past their due date.

"Create an invoice for contact 'Sunrise AG' with two items: 10 hours of consulting at CHF 150/hour and a software license for CHF 500"

What happens:Claude usesfind_contact_by_nameto locate the customer, thencreate_invoicewith the specified line items.

Created Invoice INV-2024-015 for Sunrise AG:

- 10x Consulting Hours @ CHF 150.00 = CHF 1,500.00
- 1x Software License @ CHF 500.00 = CHF 500.00

Subtotal: CHF 2,000.00 VAT (8.1%): CHF 162.00Total: CHF 2,162.00

Invoice is in draft status. Say "issue invoice INV-2024-015" to finalize it.

"How much time was logged on project 'Website Redesign' this month?"

What happens:Claude usessearch_projectsto find the project, thensearch_timesheetsto get time entries filtered by project and date range.

Time logged on "Website Redesign" (January 2024):

"What's my revenue from 'Tech Solutions GmbH' this year?"

What happens:Claude usesfind_contact_by_nameto identify the customer, thenget_customer_revenue_reportto calculate total revenue from paid invoices.

Revenue from Tech Solutions GmbH (2024):

- Q1: CHF 12,450.00 (3 invoices)
- Q2: CHF 8,200.00 (2 invoices)
- Q3: CHF 15,800.00 (4 invoices)
- Q4: CHF 6,500.00 (2 invoices, 1 pending)

Total paid: CHF 42,950.00Pending: CHF 3,200.00

Provide eitherBEXIO_API_TOKEN(one company) orBEXIO_API_TOKENS(several).

Reducing Token Budget — Category Whitelist

All tools are registered by default. For focused workflows or smaller models, registering only a subset reduces the system-prompt token cost. SetBEXIO_ENABLED_CATEGORIESto a comma-separated list:

BEXIO_ENABLED_CATEGORIES=contacts,invoices,purchase,banking,quotes,projects

Available categories:reference,company,banking,projects,timetracking,accounting,purchase,files,payroll,contacts,invoices,orders,quotes,payments,reminders,deliveries,items,reports,users,misc,notes,tasks,stock,docs,positions. Unknown names are ignored (logged to stderr); empty/unset = all enabled (backward compatible).

Bexio binds each API token to asingle company (mandate)— there is no token that spans companies. To work with several companies, generate one token per company (switch to that company in Bexio first, then Settings → API Tokens), and configure them all on asingleserver instance. Two new tools —list_companiesandselect_company— let you switch the active company in conversation ("in Globex, list open invoices"). This avoids running one server per company and the duplicated tool-context that comes with it.

SetBEXIO_API_TOKENSinstead of (or alongside)BEXIO_API_TOKEN, as a comma-separated list oflabel:tokenpairs (or a JSON object).BEXIO_DEFAULT_COMPANYpicks the company active at startup (defaults to the first):

{ "mcpServers": { "bexio": { "command": "npx", "args": ["@promptpartner/bexio-mcp-server"], "env": { "BEXIO_API_TOKENS": "Acme:token-for-acme,Globex:token-for-globex", "BEXIO_DEFAULT_COMPANY": "Acme" } } } }

Then just ask Claude things like"switch to Globex and show this month's invoices."*list_companiesshows the configured companies and which one is active; in multi-company mode each response also notes theactive_companyso it's always clear which company a result came from. Tokens are never logged or returned. The two control tools appear only whenBEXIO_API_TOKENSis set, so single-company setups are unchanged.

HTTP/n8n note:the active company is process-global. For concurrent multi-tenant HTTP deployments, run one instance per company instead.

npx @promptpartner/bexio-mcp-server [options] Options: --mode <stdio|http> Transport mode (default: stdio) --host <address> HTTP host (default: 0.0.0.0) --port <number> HTTP port (default: 8000)

- Verify your token atdeveloper.bexio.com> Personal Access Tokens
- Ensure the token has not expired
- Check that the token has the required permissions

- Check your internet connection
- Verify BEXIO_BASE_URL is correct (default:
https://api.bexio.com/2.0)

Payroll tools return "module not available"

- Payroll tools require the Bexio Payroll module subscription
- Contact Bexio support to enable the module

Claude Desktop doesn't see the server

- Restart Claude Desktop after configuration changes
- Verify the config file path is correct for your OS
- Check Claude Desktop logs for error messages

This MCP server acts as a pass-through to the Bexio API and does not store any data. For full details, see ourPrivacy Policy.

Your data is processed according toBexio's Privacy Policy.

- Issues & Bug Reports:GitHub Issues
- Email:
lukas@promptpartner.ai

If this project saves you time or helps your business, consider buying me a coffee! ☕

Your support helps keep this project maintained and improved!

Created byLukas HertigfromPromptPartner.ai

This project builds upon the original Bexio MCP server created bySebastian Brynerofbryner.tech. His v1.0 implementation provided the foundational architecture and initial 83 tools that made this expanded v2.0 possible.

The expansion from 83 to 314 tools was developed using:

- GSD Framework- The "Get Shit Done" planning framework for structured AI-assisted development workflows

These tools helped transform a 4-weeks estimated project into a 2-days reality, demonstrating the potential of AI-augmented software development.

This is an independent, community-driven project and isnot affiliated with, endorsed by, or officially connected to Bexio AGin any way. "Bexio" is a trademark of Bexio AG. This project simply provides an integration layer to the publicly available Bexio API.

Use of this software is at your own risk. The authors are not responsible for any issues arising from its use with your Bexio account.

- Bexio API Documentation
-
MCP Protocol Specification
-
PromptPartner.ai

Persistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.

After Effects MCP is a full-featured automation bridge that connects AI clients (like VS Code, Claude Desktop, and Claude Code) to Adobe After Effects through MCP, enabling scripted control of compositions, layers, effects, keyframes/graph easing, presets, markers, audio levels, waveform analysis, and effect discovery via a live bridge panel.

Project management your AI can actually run — connect Claude, ChatGPT, Cursor & Codex to one board over MCP.

AIOProductOS spine over MCP — customers, revenue, feedback, work, analytics on one typed record.

The memory layer for AI coding tools. Local-first, semantic, 9 MCP tools with consolidation and project scoping. Works with Claude Code, Cursor, Windsurf & any MCP client.

One MCP server for Claude, ChatGPT & Gemini — wraps your ERPs, CRMs, APIs and knowledge base into a single governed endpoint.

Run your field service business from Claude: answer calls, book and dispatch jobs, build estimates, chase invoices. Built for HVAC, plumbing, electrical, roofing and pest control.

Persistent memory MCP server for Claude Desktop — remembers context, time, and topics across sessions

An MCP extension for the Claude Desktop application that enables automation and integration.

An MCP server for integrating with the Claude Desktop application on macOS. Requires the Claude Desktop app to be installed and configured.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.