MCP server for AbraFlexi ERP β invoices, contacts, products, bank transactions.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
A comprehensive Model Context Protocol (MCP) server for AbraFlexi integration using FastMCP and python-abraflexi. This server provides complete access to AbraFlexi REST API functionality through MCP-compatible tools.
65 tools in total, covering the full REST surface exposed by
python-abraflexi:
dedicated tools for the most common evidences (invoices, contacts,
products, bank transactions), plus generic evidence_* tools that work
against any AbraFlexi evidence by name.
invoice_issued_get - Retrieve issued invoices (faktura-vydana)invoice_issued_create - Create new issued invoicesinvoice_issued_update - Update existing issued invoicesinvoice_issued_delete - Remove issued invoicesinvoice_received_get - Retrieve received invoices (faktura-prijata)invoice_received_create - Create new received invoicesinvoice_issued_match_payment - Match an invoice against a payment document (PΓ‘rovΓ‘nΓ plateb)invoice_issued_cash_payment - Pay an invoice in cash (HotovostnΓ ΓΊhrada)invoice_issued_deduct_advance - Deduct an advance invoice (OdpoΔet zΓ‘loh a ZDD)invoice_issued_deduct_zdd - Deduct an advance tax document, ZDD (OdpoΔet zΓ‘loh a ZDD)invoice_issued_link_zdd - Link a ZDD to an income payment (Vazby ZDD)invoice_issued_unlink_zdd - Remove a ZDD bonding (Vazby ZDD)invoice_issued_overdue_days - Compute days overdue from a due date (pure, no API call)invoice_issued_get_email - Resolve the best recipient email for an invoiceinvoice_issued_get_recipients - Resolve all recipient emails for an invoicecompany_create - Found a brand-new AbraFlexi company (accounting unit) - requires server-admin/license REST rightscontact_get - Retrieve contacts and companies (adresar)contact_create - Create new contactscontact_update - Update existing contactscontact_delete - Remove contactscontact_get_notification_email - Best email to notify (primary/purpose-matching contact)contact_get_cell_phone - Cell phone number to usecontact_get_any_phone - Any usable phone number (mobile preferred over landline)contact_get_bank_accounts - Registered bank account(s) for a contactproduct_get - Retrieve products from price list (cenik)product_create - Create new productsproduct_update - Update existing productsproduct_delete - Remove productsbank_transaction_get - Retrieve bank transactions (banka)bank_transaction_create - Create new bank transactionsevidence_get - Get records from any evidence (filter, pagination, sorting, relations)evidence_create - Create record in any evidenceevidence_update - Update record in any evidence (supports remove_external_ids)evidence_delete - Delete record from any evidenceevidence_list - List all available evidencesevidence_lock / evidence_unlock / evidence_lock_for_ucetni - Lock/unlock a recordevidence_storno - Cancel (storno) a document recordevidence_perform_action - Call a record's dedicated business action (e.g. pay)evidence_mass_update - Update, or act on, every record matching a filter (DΓ‘vkovΓ© operace)evidence_batch_insert / evidence_batch_update - Insert/update many records in one requestevidence_attach_file - Attach a local file to any recordevidence_list_attachments - List a record's attachmentsevidence_get_attachment - Get metadata for a single attachmentevidence_download_attachment - Download an attachment to a local fileevidence_get_attachment_thumbnail - Download an image attachment's thumbnailevidence_delete_attachment - Delete an attachmentevidence_export_report - Export a PDF/XLSX report for a record or evidence listingevidence_get_qr_code - Get a document's payment QR code (file or base64 data URI)call_user_query - Call a saved user-defined query (uΕΎivatelskΓ½ dotaz)evidence_get_properties - List the fields supported by an evidenceevidence_get_reports - List the printable reports available for an evidenceevidence_get_relations_list - List the sub-evidences (relations) available for an evidenceevidence_get_sum - Get summation (totals) for an evidenceevidence_get_record_changes - Get a single record's change historyevidence_get_labels - Get labels assigned to a recordevidence_set_label - Add a labelevidence_unset_label - Remove specific label(s)evidence_unset_labels - Remove all labelschanges_enable / changes_disable - Toggle change trackingchanges_status - Check whether change tracking is enabledchanges_get - Page through recorded changes since a given versionThen run the server:
Download the self-contained AppImage from the latest release:
No Python or pip required. See AppImage section for details.
Clone the repository:
Install with uv (recommended):
Or with pip:
A testing deployment is available at:
π https://abraflexi.fastmcp.app/mcp
This cloud-hosted instance allows you to test and use the AbraFlexi MCP server without local installation. Configure your MCP client to connect to this endpoint with HTTP transport.
Note: This is a testing deployment. For production use, we recommend self-hosting using one of the installation methods above.
Create a .env file or set environment variables:
ABRAFLEXI_URL - Your AbraFlexi server URL (e.g., https://demo.flexibee.eu:5434)ABRAFLEXI_COMPANY - Company identifier (e.g., demo_de)Method 1: Username/Password (Recommended)
ABRAFLEXI_LOGIN - Your AbraFlexi usernameABRAFLEXI_PASSWORD - Your AbraFlexi passwordMethod 2: Session ID
ABRAFLEXI_AUTHSESSID - Your AbraFlexi session IDREAD_ONLY - Set to true, 1, or yes to enable read-only mode (default: true)ABRAFLEXI_TIMEOUT - Request timeout in seconds (default: 300)ABRAFLEXI_MCP_TRANSPORT - Transport type: stdio (default) or streamable-httpHTTP Transport Configuration (only used when ABRAFLEXI_MCP_TRANSPORT=streamable-http):
ABRAFLEXI_MCP_HOST - Server host (default: 127.0.0.1)ABRAFLEXI_MCP_PORT - Server port (default: 8000)ABRAFLEXI_MCP_STATELESS_HTTP - Stateless mode (default: false)AUTH_TYPE - Must be set to no-auth for streamable-http transportWith startup script (recommended):
Direct execution:
CLI help:
The server supports two transport methods:
Standard input/output transport for MCP clients like Claude Desktop:
HTTP-based transport for web integrations:
Run test suite:
When READ_ONLY=true (default), the server will only expose GET operations (retrieve data) and block all create, update, and delete operations. This is useful for:
To enable write operations, set READ_ONLY=false in your .env file.
Get all issued invoices:
Get specific invoice by code:
Create a new contact:
Get products:
Generic evidence query (with pagination/sorting):
Attach a local file to any record:
Lock an invoice, then export its PDF:
Mass-update every price-list item from a supplier:
Incremental sync via the Changes API:
This server is designed to work with MCP-compatible clients like Claude Desktop. See MCP_SETUP.md for detailed integration instructions.
The server can be run as an OCI container (Docker/Podman) β no Python installation needed on the host.
The image defaults to streamable-http transport on port 8000.
With individual environment variables:
With an env file:
| Variable | Default |
|---|---|
ABRAFLEXI_MCP_TRANSPORT | streamable-http |
ABRAFLEXI_MCP_HOST | 0.0.0.0 |
ABRAFLEXI_MCP_PORT | 8000 |
READ_ONLY | true |
All other configuration variables can be passed as environment variables.
A self-contained, single-file Linux executable β no Python, pip, or any other dependency required on the host.
The script downloads a portable CPython and appimagetool automatically. The resulting file is placed in build/appimage/:
The AppImage automatically loads a .env file from the current working directory if one is present.
With a .env file (recommended):
With inline environment variables:
The server includes comprehensive error handling:
.env file (never commit to git).env file has proper permissions (600)Connection Failed:
ABRAFLEXI_URL is correct and accessiblePermission Denied:
Tool Not Found:
uv syncSet environment variable for detailed logging:
This project is licensed under the MIT License.
VΓtΔzslav DvoΕΓ‘k
Made with β€οΈ for the AbraFlexi and MCP communities
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/abraflexi)<a href="https://allmcps.com/mcp/abraflexi"><img src="https://allmcps.com/api/badge/abraflexi?style=directory" alt="AbraFlexi on AllMCPs" /></a>