MCP server for the InvoiceXpress API V2 — operate Portuguese invoicing from Claude Code and other MCP clients.
40 tools with significant quality gaps. Most tools have basic descriptions (10-50 chars) but lack parameter documentation. No visible input schemas in source code, cannot verify type definitions, constraints, or output structures. Tool names follow verb_noun convention (good), but descriptions are too brief to guide LLM selection. No evidence of error handling guidance, pagination support, or response field documentation. Composition is reasonable (CRUD patterns per resource), but parameter descriptions are missing entirely for most tools.
Change the state of a document (finalize, settle, cancel, etc.)
Create a new client
Create a draft estimate (Quote, Proforma, FeesNote, or Estimate)
Create a draft guide (Transport, Shipping, Devolution, or Global)
Create a draft invoice with line items
Create a new item (product or service)
Create a draft purchase order
Delete a client
No input schemas visible in source code. Cannot verify parameter types, constraints, enums, or required fields for any of 40 tools. All schema scores are 0.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | <=2025-11-25 | v2 |
Delete a draft estimate
Delete a draft guide
Delete a draft invoice
Delete an item
Delete a draft purchase order
Email a document to the client
Find a client by name, code, or VAT number
Generate SAF-T XML export for a given period
Retrieve a specific client by ID
Retrieve a specific estimate by ID
Retrieve a specific guide by ID
Retrieve a specific invoice by ID
Retrieve a specific item by ID
Retrieve a specific purchase order by ID
List all configured banking accounts
List clients with optional filtering and pagination
List estimates with optional filtering
List guides with optional filtering
List invoices with optional filtering by status, date range, and pagination
List items with optional filtering and pagination
List purchase orders with optional filtering
List all document sequences
List all available taxes
List treasury entries (payments and receipts)
Make a raw HTTP request to the InvoiceXpress API
Register a payment for a document
Update an existing client
Update an existing draft estimate
Update an existing draft guide
Update an existing draft invoice
Update an existing item
Update an existing draft purchase order
Tool descriptions are too brief (10-50 chars). Most lack context for LLM selection. E.g., 'List invoices with optional filtering by status, date range, and pagination' (70 chars) is borderline; 'List all available taxes' (24 chars) is too vague. Baseline is 194 chars.
No parameter descriptions visible in source. LLMs cannot infer what 'status', 'date_range', 'pagination' mean without explicit docs. Baseline: 100% of A+ tools have param descriptions.
No error handling guidance visible. Tools like delete_invoice, delete_client, delete_item are destructive but lack confirmation or recovery guidance. No 'retryable' vs 'fatal' classification.
'raw' tool (make arbitrary HTTP requests) is a security risk. No visible input validation, rate limiting, or permission gating. Allows agents to bypass all tool-level controls.