Bexio Mcp Server

io.github.PromptPartner由 GitHub 账号 PromptPartner 发布v2.6.2更新于 Oct 24, 2026

Swiss accounting integration for Bexio. 315 tools: invoices, contacts, projects, account balances

概览

AI 生成的概览

把助手接入瑞士会计平台 Bexio,提供 315 个工具,覆盖发票、联系人、项目、记账和薪资。

可以做什么
  • 创建、更新和搜索联系人、联系人分组及关联关系
  • 管理发票全流程、报价、订单、交付和收款记录
  • 处理银行账户、瑞士 QR 账单与 IBAN 付款、货币管理
  • 管理项目、里程碑、工时记录和业务活动
  • 读取和录入会计数据:科目表、日记账分录、余额、增值税期间
  • 上传下载文档,管理应付账单、费用和薪资记录
适用场景
适合在 Bexio 上记账的瑞士企业:让助手查询逾期发票、起草或开具发票、统计客户收入,或在对话中汇总项目工时,无需切换系统。
运行要求
以 stdio 本地运行(n8n 等客户端可用 HTTP 模式)。需要从 Bexio 开发者门户获取 API 令牌,通过 BEXIO_API_TOKEN 提供;多公司场景使用 BEXIO_API_TOKENS。npm 方式需 Node.js LTS,Claude Desktop 扩展包则不需要。需能访问 Bexio API。
安装前请注意
所有工具都会读取或修改账务数据,包括开具发票和录入日记账分录。HTTP 模式若未设置 BEXIO_HTTP_TOKEN 则无鉴权,默认监听 0.0.0.0,且允许任意来源的 CORS 请求。JSON 配置会以明文保存令牌。薪资工具需订阅付费的 Bexio Payroll 模块。项目处于早期发布阶段,与 Bexio AG 无隶属关系。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Bexio Mcp Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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. Install it in Claude Desktop, either way works:
    • Double-click the .mcpb file (or drag it onto the Claude Desktop window), or
    • go to Settings → Extensions → Advanced settings, and under Extension Developer click Install Extension… and select the file
  3. Enter your Bexio API token when prompted. It is stored in your operating system's keychain.
  4. Optional: switch on Interactive panels in the extension's settings for invoice previews, contact cards and a dashboard.

No Node.js installation is needed: Claude Desktop runs extensions with its built-in Node.js. Updating from 2.6.1 or older? Re-enter your token if Claude Desktop asks for it.

Option B: npm (manual config)

Requires Node.js (LTS). In Claude Desktop, open Settings → Developer → Edit Config and add:

json
{  "mcpServers": {    "bexio": {      "command": "npx",      "args": ["-y", "@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

Then quit Claude Desktop completely and restart it. Note that this file keeps your token in plain text; the extension (Option A) stores it in the keychain instead.

For n8n and Other HTTP Clients

Start the server in HTTP mode, with a bearer token:

bash
BEXIO_API_TOKEN=your-token BEXIO_HTTP_TOKEN=$(openssl rand -hex 32) \  npx @promptpartner/bexio-mcp-server --mode http --host 127.0.0.1 --port 8000

Clients then send Authorization: Bearer <BEXIO_HTTP_TOKEN> on every request (GET /, the health check, stays open).

Security: every tool reads or changes your books. Without BEXIO_HTTP_TOKEN the HTTP endpoints are unauthenticated: on 0.0.0.0 (the default) anyone who can reach the port can use them, and because CORS allows any origin, even a loopback-only server can be called by a web page open in your browser. The server warns at startup when no token is set. Local file paths (upload_file file_path, download_file output_path) are refused over HTTP unless BEXIO_FILE_DIR names a directory to confine them to.

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-servercd bexio-mcp-server/srcnpm install && npm run buildBEXIO_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 315 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, incl. group entries (Sammelbuchung: one voucher, many postings)
  • Journal by date range and account; computed account balances (Saldenliste)
  • Business years and VAT periods
  • Account groups

Purchase & Expenses

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

Files & Documents

  • Document upload/download; upload straight from a local file path (no base64 through the chat)
  • 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
BEXIO_HTTP_TOKENRecommended for HTTP-Bearer token required on every HTTP endpoint except GET /
BEXIO_FILE_DIRNo-Directory that upload_file file_path / download_file output_path are confined to. Required for local paths over HTTP; optional extra confinement over stdio
BEXIO_DOWNLOAD_INLINE_MAX_BYTESNo64000download_file returns files up to this size inline as base64; larger ones are written to disk

* 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

  • Quit Claude Desktop completely (not just the window) and restart it after configuration changes
  • Check that it is connected: click + in the message box → Connectors → Manage connectors
  • For the JSON config: check the file path for your OS and that the JSON is valid
  • Check the logs: ~/Library/Logs/Claude/mcp-server-*.log (macOS) or %APPDATA%\Claude\logs (Windows)

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

[Star History Chart]

Links

来源:README.md,提交 0d67ebd

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

3
  1. v2.6.2最新Sep 28, 2026
  2. v2.6.0Sep 27, 2026
  3. v2.5.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分