# ABRA Flexi MCP by usefulapi (remote · abra-flexi.usefulapi.io)

MCP server for ABRA Flexi — accounting, contacts, stock and draft-checked invoice creation.

- Trust score: 18/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `abra-flexi.usefulapi.io`: 18/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-abra-flexi/abra-flexi.md), [page](https://verifymcp.io/servers/io-usefulapi-abra-flexi/abra-flexi)

## Channel facts

- Endpoint: `https://abra-flexi.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.6.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the ABRA Flexi MCP by usefulapi server?

ABRA Flexi MCP by usefulapi is a hosted endpoint at https://abra-flexi.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-abra-flexi 'https://abra-flexi.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-abra-flexi": {
      "url": "https://abra-flexi.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-abra-flexi": {
      "type": "http",
      "url": "https://abra-flexi.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-abra-flexi]
url = "https://abra-flexi.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-abra-flexi": {
      "type": "remote",
      "url": "https://abra-flexi.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-abra-flexi --url 'https://abra-flexi.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-abra-flexi:
    url: "https://abra-flexi.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-abra-flexi": {
      "Transport": "http",
      "Url": "https://abra-flexi.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-abra-flexi -t streamable-http -u 'https://abra-flexi.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-abra-flexi": {
      "type": "http",
      "url": "https://abra-flexi.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-02 (score 18, −47)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [security regression] Stability: 0.03 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-11-01 (score 65, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-31 (score 64)

First indexed and scored.

## MCP tools (19)

### `abraflexi_get_company` (~38 tokens)

Show the ABRA Flexi company the login points to (name, company id, state). Use it to check the connection.

### `abraflexi_list_evidences` (~108 tokens)

List the evidences (tables) of the company with their Czech path and name, for example faktura-vydana = issued invoices, adresar = address book, cenik = price list. Use a path from here as 'evidence' in abraflexi_list_records / abraflexi_get_record (only business evidences are readable there).

Input parameters:

- `search` (string): Only evidences whose path or name contains this text (case-insensitive).

### `abraflexi_list_issued_invoices` (~356 tokens)

List issued invoices (sales invoices to customers), newest first by default, filtered by payment status, customer/supplier code, dates or text. Money fields: sumCelkem = total, zbyvaUhradit = still to pay (in the company currency), the *Men fields are in the document currency. Returns total, next_start for paging. Pass 'fields' for other properties.

Input parameters:

- `customer_code` (string): Only invoices of this address-book entry: its code (kod) from abraflexi_list_contacts.
- `due_before` (string): Due date before this day (yyyy-mm-dd).
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `from` (string): Issued on or after this day (yyyy-mm-dd).
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `search` (string): Text searched in the invoice number, variable symbol, customer name and description (diacritics ignored).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.
- `status` (string): all (default), unpaid (open balance, not cancelled), overdue (unpaid and past its due date) or paid (nothing left to pay).
- `to` (string): Issued on or before this day (yyyy-mm-dd).

### `abraflexi_get_issued_invoice` (~73 tokens)

Get one issued invoice with all its fields and its line items. Pass the numeric id (from the list) or an identifier such as code:<number>.

Input parameters:

- `id` (string, required): Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC.

### `abraflexi_list_received_invoices` (~355 tokens)

List received invoices (bills from suppliers), newest first by default, filtered by payment status, customer/supplier code, dates or text. Money fields: sumCelkem = total, zbyvaUhradit = still to pay (in the company currency), the *Men fields are in the document currency. Returns total, next_start for paging. Pass 'fields' for other properties.

Input parameters:

- `customer_code` (string): Only invoices of this address-book entry: its code (kod) from abraflexi_list_contacts.
- `due_before` (string): Due date before this day (yyyy-mm-dd).
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `from` (string): Issued on or after this day (yyyy-mm-dd).
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `search` (string): Text searched in the invoice number, variable symbol, customer name and description (diacritics ignored).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.
- `status` (string): all (default), unpaid (open balance, not cancelled), overdue (unpaid and past its due date) or paid (nothing left to pay).
- `to` (string): Issued on or before this day (yyyy-mm-dd).

### `abraflexi_get_received_invoice` (~72 tokens)

Get one received invoice with all its fields and its line items. Pass the numeric id (from the list) or an identifier such as code:<number>.

Input parameters:

- `id` (string, required): Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC.

### `abraflexi_list_contacts` (~217 tokens)

List or search the address book (adresar): customers and suppliers with code (kod), name, company id (ic), VAT id (dic), e-mail, phone and address. The code from here identifies the customer in invoices.

Input parameters:

- `city` (string): Only entries in this city.
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `search` (string): Text searched in code, name, company id, VAT id and e-mail (diacritics ignored).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.

### `abraflexi_get_contact` (~68 tokens)

Get one address-book entry with all its fields. Pass the numeric id (from abraflexi_list_contacts) or code:<kod>.

Input parameters:

- `id` (string, required): Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC.

### `abraflexi_list_products` (~188 tokens)

List or search the price list (cenik): products and services with code, name, EAN, prices (without and with VAT), purchase price and whether they are stocked.

Input parameters:

- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `search` (string): Text searched in code, name and EAN (diacritics ignored).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.

### `abraflexi_list_stock_cards` (~332 tokens)

List stock cards (skladova-karta): the quantity on hand (stavMJ), reserved (rezervMJ) and available (dostupMj) per product and warehouse, with min/max limits and average price.

Input parameters:

- `accounting_period` (string): Accounting period code (ucetni-obdobi kod, e.g. 2026). Default: the period that contains today. Stock cards exist once per period, so without this the quantities of older periods would be mixed in.
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `limit` (integer): Records per page, 1-200 (default 20).
- `max_on_hand` (number): Only cards with at most this quantity on hand (stavMJ), e.g. 0 for sold-out items or 5 for low stock. Compare minMJ in the result for the card's own minimum.
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `product_code` (string): Only this product: its code (kod) from abraflexi_list_products.
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.
- `warehouse_code` (string): Only this warehouse: its code (kod), see abraflexi_list_records with evidence sklad.

### `abraflexi_list_stock_movements` (~213 tokens)

List stock movements (skladovy-pohyb: receipts, issues, transfers), newest first by default, filtered by warehouse or dates.

Input parameters:

- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `from` (string): Dated on or after this day (yyyy-mm-dd).
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.
- `to` (string): Dated on or before this day (yyyy-mm-dd).
- `warehouse_code` (string): Only this warehouse: its code (kod).

### `abraflexi_list_bank_movements` (~293 tokens)

List bank movements (banka: bank statement lines, incoming and outgoing payments), newest first by default, filtered by dates, bank account, variable symbol or text. sumCelkem is the amount; typPohybuK says incoming or outgoing.

Input parameters:

- `account_code` (string): Only this bank account: its code (kod), see abraflexi_list_records with evidence bankovni-ucet or pokladna.
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `from` (string): Dated on or after this day (yyyy-mm-dd).
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `search` (string): Text searched in the document number, counterparty name and description (diacritics ignored).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.
- `to` (string): Dated on or before this day (yyyy-mm-dd).
- `variable_symbol` (string): Only movements with this variable symbol.

### `abraflexi_list_cash_movements` (~294 tokens)

List cash desk movements (pokladni-pohyb: cash receipts and payouts), newest first by default, filtered by dates, cash desk, variable symbol or text. sumCelkem is the amount; typPohybuK says incoming or outgoing.

Input parameters:

- `account_code` (string): Only this cash desk: its code (kod), see abraflexi_list_records with evidence bankovni-ucet or pokladna.
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `from` (string): Dated on or after this day (yyyy-mm-dd).
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `search` (string): Text searched in the document number, counterparty name and description (diacritics ignored).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.
- `to` (string): Dated on or before this day (yyyy-mm-dd).
- `variable_symbol` (string): Only movements with this variable symbol.

### `abraflexi_list_orders` (~273 tokens)

List orders: direction 'received' = customer orders (objednavka-prijata, default), 'issued' = purchase orders to suppliers (objednavka-vydana). Newest first by default.

Input parameters:

- `customer_code` (string): Only orders of this address-book entry: its code (kod).
- `direction` (string): received (customer orders, default) or issued (purchase orders).
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `from` (string): Order date on or after this day (yyyy-mm-dd).
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `search` (string): Text searched in the order number, customer name and description (diacritics ignored).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.
- `to` (string): Order date on or before this day (yyyy-mm-dd).

### `abraflexi_list_records` (~332 tokens)

List records of any business evidence (invoice types, bank accounts, warehouses, cost centres, currencies, ledger entries, price-list items, ...) with an optional filter in ABRA Flexi's filter language, for example filter "zbyvaUhradit > 0 and datSplat < now()" or "kod = 'ABC'". Operators: = <> < <= > >= like, like similar (ignores diacritics), begins, ends, between, in, and, or, not; dates as 2026-01-31. Without 'fields' the vendor's summary fields are returned.

Input parameters:

- `evidence` (string, required): Evidence (table) path, e.g. faktura-vydana, adresar, cenik. See abraflexi_list_evidences for what the company has.
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `filter` (string): Filter expression without the outer parentheses, e.g. "kod like 'FV' and datVyst >= 2026-01-01".
- `limit` (integer): Records per page, 1-200 (default 20).
- `order` (string): Sort order: property@A or property@D, several separated by commas, e.g. "datVyst@D" (newest first).
- `start` (integer): Records to skip (default 0). Use next_start from the previous reply.

### `abraflexi_get_record` (~159 tokens)

Get one record of any business evidence with all its fields (detail full), by numeric id or identifier such as code:ABC. Field names are the vendor's Czech property names.

Input parameters:

- `evidence` (string, required): Evidence (table) path, e.g. faktura-vydana, adresar, cenik. See abraflexi_list_evidences for what the company has.
- `fields` (string): Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.
- `id` (string, required): Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC.

### `abraflexi_create_contact` (~280 tokens)

WRITE: create a new address-book entry (customer or supplier) in ABRA Flexi. It only adds a record; nothing is sent. Use dry_run first to see the result without saving. Check abraflexi_list_contacts first so you do not create a duplicate.

Input parameters:

- `city` (string): City (mesto).
- `code` (string): Code (kod) for the entry; generated from the name if omitted.
- `country_code` (string): ISO country code, e.g. CZ, SK, DE (stat).
- `dic` (string): VAT id (DIČ).
- `dry_run` (boolean): true = only validate and show what would be saved, nothing is stored (recommended first). Default false = save.
- `email` (string): E-mail address.
- `ic` (string): Company id (IČO).
- `mobile` (string): Mobile number (mobil).
- `name` (string, required): Name of the company or person (nazev).
- `note` (string): Note (poznam).
- `payment_terms_days` (integer): Default payment terms in days (splatDny).
- `phone` (string): Phone number (tel).
- `postal_code` (string): Postal code (psc).
- `street` (string): Street and number (ulice).

### `abraflexi_update_contact` (~298 tokens)

WRITE: change fields of an existing address-book entry (only the fields you pass are changed). The entry must exist (a wrong id is an error, nothing is created). This overwrites the current values. Use dry_run first to check.

Input parameters:

- `city` (string): City (mesto).
- `code` (string): Code (kod) for the entry; generated from the name if omitted.
- `country_code` (string): ISO country code, e.g. CZ, SK, DE (stat).
- `dic` (string): VAT id (DIČ).
- `dry_run` (boolean): true = only validate and show what would be saved, nothing is stored (recommended first). Default false = save.
- `email` (string): E-mail address.
- `ic` (string): Company id (IČO).
- `id` (required): The numeric ABRA Flexi id of the record (the 'id' field of a list result).
- `mobile` (string): Mobile number (mobil).
- `name` (string): Name of the company or person (nazev).
- `note` (string): Note (poznam).
- `payment_terms_days` (integer): Default payment terms in days (splatDny).
- `phone` (string): Phone number (tel).
- `postal_code` (string): Postal code (psc).
- `street` (string): Street and number (ulice).

### `abraflexi_create_issued_invoice` (~325 tokens)

WRITE: create an issued invoice (faktura-vydana) with line items in ABRA Flexi. The invoice is saved as a normal document with the next number of its series, and ABRA Flexi may account it automatically according to the settings of the chosen invoice type; this tool does NOT send it, mark it paid or e-mail it. Use dry_run first to see the computed totals and validation errors without saving. Find document_type_code with abraflexi_list_records (evidence typ-faktury-vydane) and customer_code with abraflexi_list_contacts.

Input parameters:

- `currency_code` (string): Currency code (mena), company currency when omitted.
- `customer_code` (string, required): Code (kod) of the customer in the address book.
- `description` (string): Invoice description (popis).
- `document_type_code` (string, required): Code (kod) of the issued-invoice type, e.g. FAKTURA (evidence typ-faktury-vydane).
- `dry_run` (boolean): true = only validate and show what would be saved, nothing is stored (recommended first). Default false = save.
- `due_date` (string): Due date (datSplat), default from the customer's payment terms.
- `issue_date` (string): Issue date (datVyst), default today.
- `items` (array, required): Line items.
- `note` (string): Internal note (poznam).
- `variable_symbol` (string): Variable symbol (varSym), digits only.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-abra-flexi/abra-flexi#diagnostics

## Score history

- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 65
- 2026-10-31: 64

## Common questions

### What is the ABRA Flexi MCP by usefulapi server?

ABRA Flexi MCP by usefulapi is listed in the public MCP registry as io.usefulapi/abra-flexi. MCP server for ABRA Flexi, accounting, contacts, stock and draft-checked invoice creation. This page covers its hosted endpoint (https://abra-flexi.usefulapi.io/mcp).

### Is the ABRA Flexi MCP by usefulapi server safe to use?

ABRA Flexi MCP by usefulapi scores 18 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the ABRA Flexi MCP by usefulapi server expose?

ABRA Flexi MCP by usefulapi exposes 19 tools: abraflexi_get_company, abraflexi_list_evidences, abraflexi_list_issued_invoices, abraflexi_get_issued_invoice, abraflexi_list_received_invoices, and 14 more. Their descriptions and schemas cost roughly 4,274 tokens of context every time the server is loaded.

### Does the ABRA Flexi MCP by usefulapi server require authentication?

Its publisher declares no required credentials for ABRA Flexi MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the ABRA Flexi MCP by usefulapi server still maintained?

ABRA Flexi MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://abra-flexi.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/abra-flexi/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-abra-flexi/abra-flexi.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-abra-flexi/abra-flexi.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-abra-flexi/abra-flexi
