Remote ChatGPT App and MCP server for ABRA Flexi accounting workflows
28 tools with consistent naming (verb_noun pattern) and descriptions present. All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented in the source code, responses are mapped through helper functions but the LLM-facing output structure is not declared. Parameter descriptions are functional but brief (avg ~40 chars, below the 72-char baseline). Missing enums for constrained inputs (e.g., 'kind' accepts free-form strings instead of enum). Error handling is minimal, no recovery guidance or actionable error messages visible. Tool composition is sound (single responsibility, proper chaining via IDs), but descriptions lack dependency hints and prerequisites.
Create a draft document (invoice, receivable, payable, etc.) without posting
Get detailed property definitions for a specific evidence type
Get relationship definitions between evidence types
Generate and download assets and liabilities PDF report
Generate and download balance sheet PDF report
Get cashflow snapshot with overdue and upcoming payment risks
Get list of companies accessible in the connected Flexi instance
Output schemas not documented. Helper functions (mapPartnerSummary, mapDocumentDetail, etc.) transform responses, but the LLM-facing output structure is not declared in tool definitions. LLMs cannot plan downstream calls or extract required fields without seeing the response schema.
Constrained inputs use free-form strings instead of enums. 'kind' parameter in search_documents, get_reference_values, and create_document_draft accepts values like 'sales_invoice', 'purchase_invoice', etc., but no enum constraint is visible. LLMs may hallucinate invalid values.
No error handling guidance. Error responses are not visible in the source; no recovery hints, retryability classification, or actionable error messages. If a document post fails, the LLM has no guidance on whether to retry, ask the user, or try a different approach.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2025-06-18+ | v2 |
Get list of company tasks and action items
Get list of configured Flexi connections for the organization
Get detailed information for a specific document including line items
Get documents related to a specific employee
Get detailed summary for a specific employee including contracts
Get overdue receivables and payables report
Get summary information for a specific partner including balance and contact details
Get summary information for a specific product
Get reference values for a specific type (document types, payment methods, etc.)
Get balance report for partners at a specific date
Get current balance report for partners
Get VAT summary for the company
List all available evidence types in the connected Flexi company
Post a document draft to make it official
Query records from a specific evidence type with filtering and field selection
Search for documents (invoices, receivables, payables, etc.) with filtering options
Search for employees by name or ID
Search for business partners (customers/suppliers) by name or ID
Search for products by name or code
Update header fields of an existing document draft
Update line items of an existing document draft
Irreversible operation (post_document) lacks confirmation step. Posting a document is irreversible, but no dry-run or confirmation mechanism is visible. Agents may post drafts unintentionally.
Parameter descriptions lack format/constraint details. 'date_from' and 'date_to' in search_documents say 'ISO date' but do not specify format (YYYY-MM-DD vs ISO 8601 with time). 'limit' parameters lack min/max bounds. LLMs may pass invalid formats or absurd values.