AbraFlexi MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUTH_TYPE | No | Must be set to no-auth for streamable-http transport | |
| READ_ONLY | No | Set to true, 1, or yes to enable read-only mode | true |
| ABRAFLEXI_URL | Yes | Your AbraFlexi server URL (e.g., https://demo.flexibee.eu:5434) | |
| ABRAFLEXI_LOGIN | No | Your AbraFlexi username | |
| ABRAFLEXI_COMPANY | Yes | Company identifier (e.g., demo_de) | |
| ABRAFLEXI_TIMEOUT | No | Request timeout in seconds | 300 |
| ABRAFLEXI_MCP_HOST | No | Server host for HTTP transport | 127.0.0.1 |
| ABRAFLEXI_MCP_PORT | No | Server port for HTTP transport | 8000 |
| ABRAFLEXI_PASSWORD | No | Your AbraFlexi password | |
| ABRAFLEXI_AUTHSESSID | No | Your AbraFlexi session ID | |
| ABRAFLEXI_MCP_TRANSPORT | No | Transport type: stdio (default) or streamable-http | stdio |
| ABRAFLEXI_MCP_STATELESS_HTTP | No | Enable stateless HTTP mode | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_infoA | Report which AbraFlexi company/instance this MCP server session is bound to. This server is bound to exactly one AbraFlexi company for its whole process lifetime (configured via ABRAFLEXI_URL/ABRAFLEXI_COMPANY). Every other tool's results already belong to this company by construction. Call this tool first whenever the identity of "the company" matters to the request (e.g. "how many invoices did company X issue"), instead of trying to infer it from record fields such as an invoice's customer/supplier name. Returns: str: JSON object with abraflexi_url, company, and read_only. |
| invoice_issued_getA | Get issued invoices (faktura-vydana) from AbraFlexi. Every invoice returned was issued BY the AbraFlexi company this server is bound to (see server_info) - there is no way to query another company's invoices from this server. The 'nazFirmy'/'firma' fields on each record identify the CUSTOMER/counterparty being invoiced, not the issuer. |
| invoice_issued_createC | Create a new issued invoice in AbraFlexi. |
| invoice_issued_updateB | Update an existing issued invoice in AbraFlexi. |
| invoice_issued_deleteB | Delete an issued invoice from AbraFlexi. |
| invoice_received_getA | Get received invoices (faktura-prijata) from AbraFlexi. Every invoice returned was received BY the AbraFlexi company this server is bound to (see server_info) - there is no way to query another company's received invoices from this server. The 'nazFirmy'/'firma' fields on each record identify the SUPPLIER/counterparty who issued the invoice, not the receiving company. |
| invoice_received_createC | Create a new received invoice in AbraFlexi. |
| company_createA | Create a brand-new AbraFlexi company (accounting unit) at the server root. Unlike every other *_create tool, this does NOT operate on the company configured via ABRAFLEXI_COMPANY - it calls the server-level "/admin/zalozeni-firmy" endpoint, which requires a REST user with server-admin/license-level rights (not just rights on one company). |
| contact_getA | Get contacts/companies (adresar) from AbraFlexi. These are address-book entries (customers, suppliers, other contacts) belonging to the AbraFlexi company this server is bound to (see server_info) - they are business partners of that company, not the company itself. |
| contact_createB | Create a new contact/company in AbraFlexi. |
| contact_updateB | Update an existing contact/company in AbraFlexi. |
| contact_deleteC | Delete a contact/company from AbraFlexi. |
| product_getA | Get products (cenik) from AbraFlexi. These are price-list entries belonging to the AbraFlexi company this server is bound to (see server_info). |
| product_createB | Create a new product in AbraFlexi. |
| product_updateB | Update an existing product in AbraFlexi. |
| product_deleteB | Delete a product from AbraFlexi. |
| bank_transaction_getA | Get bank transactions (banka) from AbraFlexi. These are bank transactions belonging to the AbraFlexi company this server is bound to (see server_info). |
| bank_transaction_createB | Create a new bank transaction in AbraFlexi. |
| evidence_getC | Get records from any AbraFlexi evidence. |
| evidence_createB | Create a new record in any AbraFlexi evidence. |
| evidence_updateC | Update a record in any AbraFlexi evidence. |
| evidence_deleteB | Delete a record from any AbraFlexi evidence. |
| evidence_attach_fileA | Attach a local file to a record in any AbraFlexi evidence. |
| evidence_lockA | Lock a record in any AbraFlexi evidence, preventing further changes until unlocked. |
| evidence_unlockB | Unlock a record in any AbraFlexi evidence. |
| evidence_lock_for_ucetniC | Lock a record in any AbraFlexi evidence for the accountant (lock-for-ucetni). |
| evidence_stornoC | Cancel (storno) a document record in any AbraFlexi evidence. |
| evidence_perform_actionA | Perform a custom business action on a record via its dedicated {id}/{action}.json URL (e.g. paying an invoice), as opposed to the body-level @action attribute used by evidence_lock/evidence_storno/etc. |
| evidence_mass_updateB | Update, or perform an action on, every record of an evidence matching a filter in a single request (Davkove operace). |
| evidence_batch_insertB | Insert multiple records into an evidence in a single request. |
| evidence_batch_updateC | Update multiple records in an evidence in a single request. |
| evidence_list_attachmentsA | List attachments (prilohy) of a record in any AbraFlexi evidence. |
| evidence_get_attachmentA | Get metadata for a single attachment of a record. |
| evidence_download_attachmentC | Download an attachment's raw content to a local file. |
| evidence_get_attachment_thumbnailA | Download the thumbnail of an image attachment to a local file. |
| evidence_delete_attachmentB | Delete an attachment from a record. |
| evidence_export_reportA | Export a printable report (PDF/XLSX) for a record, or the whole evidence listing, to a local file. |
| evidence_get_qr_codeA | Get the payment QR code for a document record. |
| call_user_queryB | Call a saved user-defined query (uzivatelsky dotaz). |
| evidence_get_propertiesA | Get the list of properties (fields) supported by an evidence. |
| evidence_get_reportsB | Get the list of printable reports available for an evidence. |
| evidence_get_relations_listB | Get the list of sub-evidences (relations) available for an evidence. |
| evidence_get_sumA | Get summation (totals) for an evidence, optionally filtered. |
| evidence_get_record_changesB | Get the change history (Prehled zmen zaznamu) of a single record. |
| evidence_get_labelsA | Get all labels (stitky) currently assigned to a record. |
| evidence_set_labelA | Add a label to a record, keeping its existing labels. |
| evidence_unset_labelB | Remove specific label(s) from a record, keeping the rest. |
| evidence_unset_labelsB | Remove all labels from a record. |
| changes_enableB | Enable change tracking for the current company (Changes API). Returns: str: JSON formatted result |
| changes_disableA | Disable change tracking for the current company (Changes API). Returns: str: JSON formatted result |
| changes_statusA | Check whether change tracking is currently enabled for the current company. Returns: str: JSON formatted status |
| changes_getA | Get a page of company-wide recorded changes (Changes API), for incremental synchronization of external systems. Changes are scoped to the AbraFlexi company this server is bound to (see server_info). |
| invoice_issued_match_paymentB | Match an issued invoice against a payment document (Parovani plateb). |
| invoice_issued_cash_paymentA | Pay an issued invoice in cash (Hotovostni uhrada). |
| invoice_issued_deduct_advanceC | Deduct an advance invoice from a tax document invoice (Odpocet zaloh a ZDD). |
| invoice_issued_deduct_zddC | Deduct an advance tax document (ZDD) from an issued invoice (Odpocet zaloh a ZDD). |
| invoice_issued_link_zddC | Link an advance tax document (ZDD) to an income payment (Vazby ZDD). |
| invoice_issued_unlink_zddA | Remove an advance tax document (ZDD) bonding from an issued invoice (Vazby ZDD). |
| invoice_issued_overdue_daysA | Get the number of days an invoice is overdue by, given its due date. Pure date arithmetic - does not contact AbraFlexi. |
| invoice_issued_get_emailB | Get the best recipient email address for an issued invoice. |
| invoice_issued_get_recipientsA | Get all recipient email addresses for an issued invoice. |
| contact_get_notification_emailA | Get the email address to notify for a contact, preferring a primary/ purpose-matching contact over the address's own email. |
| contact_get_cell_phoneB | Get the cell phone number to use for a contact. |
| contact_get_any_phoneA | Get any usable phone number for a contact, preferring mobile over landline. |
| contact_get_bank_accountsA | Get the bank account(s) registered for a contact. |
| abraflexi_client_methodsB | List public python-abraflexi methods available via bridge calls. |
| abraflexi_client_callA | Call a public python-abraflexi client method through MCP. This bridge tool is intended for advanced workflows not yet covered by dedicated MCP wrappers. |
| evidence_listA | List all available AbraFlexi evidences. Returns: str: JSON formatted list of evidence names |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/VitexSoftware/mcp-server-abraflexi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server