The io.github.PromptPartner/bexio-mcp-server provides a Swiss accounting integration for Bexio using the Model Context Protocol (MCP). It exposes 314 tools covering invoices, contacts, projects, and account balances, and is designed for use with MCP-compatible clients, including Claude Desktop and n8n.
๐ ๏ธ Key Features
Swiss accounting integration for Bexio
314 tools for invoices, contacts, projects, and account balances
Accessible via Model Context Protocol (MCP)
Supports Claude Desktop and n8n
๐ Use Cases
Manage Bexio invoices, contacts, and projects via AI conversation or workflow automation
Retrieve or work with account balances
Invoke accounting operations from any MCP-compatible client
โก Developer Benefits
Tool-driven MCP interface (314 tools) for automation and integrations
Works with both conversational clients and workflow tools (Claude Desktop, n8n)
โ ๏ธ Limitations
Early release software: under active development; bugs or unexpected behavior may occur
Features are expected to be added and improved over time
Complete Swiss accounting integration for Bexio via the Model Context Protocol (MCP). Works with Claude Desktop, n8n, and any MCP-compatible client.
Manage invoices, contacts, projects, time tracking, and 300+ more tools through AI conversation or workflow automation.
โ ๏ธ Early Release Software
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. Please report any issues you find!
Invoice is in draft status. Say "issue invoice INV-2024-015" to finalize it.
Example 3: Project Time Summary
Prompt:
"How much time was logged on project 'Website Redesign' this month?"
What happens:
Claude uses search_projects to find the project, then search_timesheets to get time entries filtered by project and date range.
Response:
Time logged on "Website Redesign" (January 2024):
Team Member
Hours
Activities
Anna M.
24:30
Design, Meetings
Marco K.
18:15
Development
Lisa B.
8:00
Content Writing
Total: 50 hours 45 minutes
Budget used: 50.75 of 80 hours (63%)
Example 4: Customer Revenue Report
Prompt:
"What's my revenue from 'Tech Solutions GmbH' this year?"
What happens:
Claude uses find_contact_by_name to identify the customer, then get_customer_revenue_report to calculate total revenue from paid invoices.
Comma-separated tool-category whitelist โ see below
* Provide either BEXIO_API_TOKEN (one company) or BEXIO_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. Set
BEXIO_ENABLED_CATEGORIES to a comma-separated list:
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).
Multiple Companies (Mandates)
Bexio binds each API token to a single 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 a
single server instance. Two new tools โ list_companies and select_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.
Set BEXIO_API_TOKENS instead of (or alongside) BEXIO_API_TOKEN, as a comma-separated
list of label:token pairs (or a JSON object). BEXIO_DEFAULT_COMPANY picks the company
active at startup (defaults to the first):
Then just ask Claude things like "switch to Globex and show this month's invoices."list_companies shows the configured companies and which one is active; in
multi-company mode each response also notes the active_company so it's always clear
which company a result came from. Tokens are never logged or returned. The two control
tools appear only when BEXIO_API_TOKENS is 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.
This project builds upon the original Bexio MCP server created by Sebastian Bryner of bryner.tech. His v1.0 implementation provided the foundational architecture and initial 83 tools that made this expanded v2.0 possible.
Development Tools
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.
Disclaimer
This is an independent, community-driven project and is not affiliated with, endorsed by, or officially connected to Bexio AG in 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.