io.github.PromptPartner/bexio-mcp-server

平台与服务

by promptpartner

Swiss accounting integration for Bexio. 221 tools for invoices, contacts, projects.

什么是 io.github.PromptPartner/bexio-mcp-server

Swiss accounting integration for Bexio. 221 tools for invoices, contacts, projects.

README

@promptpartner/bexio-mcp-server

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!

Compatibility

ClientTransportStatus
Claude Desktopstdio✅ Fully supported
n8nHTTP✅ Fully supported
Other MCP clientsstdio/HTTP✅ Should work

Quick Start

For Claude Desktop

Option A: MCPB Bundle (Easiest)

  1. Download the latest .mcpb file from GitHub Releases
  2. In Claude Desktop, go to Settings → Extensions
  3. Install the extension using one of these methods:
    • Double-click the downloaded .mcpb file, or
    • Drag and drop the file onto the Extensions window, or
    • Click Advanced Settings → Install Extension and select the file
  4. Enter your Bexio API token when prompted

Option B: npm

Add to claude_desktop_config.json:

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

Config location:

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

For n8n and Other HTTP Clients

Start the server in HTTP mode:

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

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

For Other stdio Clients

bash
BEXIO_API_TOKEN=your-token npx @promptpartner/bexio-mcp-server

Or build from source:

bash
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

Getting Your Bexio API Token

  1. Go to developer.bexio.com
  2. Log in with your regular Bexio account
  3. Navigate to Personal Access Tokens
  4. Click Create New Token
  5. Copy the token and use it in your configuration

Features

This MCP server provides 314 tools across all Bexio domains:

Contacts & CRM

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

Invoices & Sales

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

Banking & Payments

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

Projects & Time Tracking

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

Accounting

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

Purchase & Expenses

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

Files & Documents

  • Document upload/download
  • File management

Payroll (requires Bexio Payroll module)

  • Employee management
  • Absence tracking
  • Payroll documents

Examples

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

Example 1: Finding Overdue Invoices

Prompt:

"Show me all overdue invoices"

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

Response:

Found 3 overdue invoices:

Invoice #CustomerAmountDue DateDays Overdue
INV-2024-001Acme AGCHF 2,450.002024-01-1518 days
INV-2024-003Tech GmbHCHF 890.502024-01-2013 days
INV-2024-007Swiss CorpCHF 5,200.002024-01-258 days

Total overdue: CHF 8,540.50


Example 2: Creating an Invoice

Prompt:

"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 uses find_contact_by_name to locate the customer, then create_invoice with the specified line items.

Response:

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.00 Total: CHF 2,162.00

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 MemberHoursActivities
Anna M.24:30Design, Meetings
Marco K.18:15Development
Lisa B.8:00Content 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.

Response:

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.00 Pending: CHF 3,200.00

Environment Variables

VariableRequiredDefaultDescription
BEXIO_API_TOKENYes*-Your Bexio API token (single company)
BEXIO_API_TOKENSYes*-Multiple companies — see Multiple Companies
BEXIO_DEFAULT_COMPANYNofirstWhich company is active at startup
BEXIO_BASE_URLNohttps://api.bexio.com/2.0API endpoint URL
BEXIO_ENABLED_CATEGORIESNo(all)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:

bash
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).

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):

json
{
  "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_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.

Command Line Options

bash
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)

Troubleshooting

"Invalid API token" error

  • Verify your token at developer.bexio.com > Personal Access Tokens
  • Ensure the token has not expired
  • Check that the token has the required permissions

"Connection refused" error

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

Privacy Policy

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

Your data is processed according to Bexio's Privacy Policy.

Support

Support the Project

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

Buy Me A Coffee

Your support helps keep this project maintained and improved!

Author

Created by Lukas Hertig from PromptPartner.ai

Acknowledgments

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.

License

MIT - See LICENSE for details.

Star History

<a href="https://www.star-history.com/?repos=promptpartner%2Fbexio-mcp-server&type=date&legend=top-left"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=promptpartner/bexio-mcp-server&type=date&theme=dark&legend=top-left" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=promptpartner/bexio-mcp-server&type=date&legend=top-left" /> <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=promptpartner/bexio-mcp-server&type=date&legend=top-left" /> </picture> </a>

Links

常见问题

io.github.PromptPartner/bexio-mcp-server 是什么?

Swiss accounting integration for Bexio. 221 tools for invoices, contacts, projects.

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描164.6k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描164.6k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描23.3k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.0k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
71.5k

评论