mcp-quipu
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QUIPU_CLIENT_ID | Yes | Your Quipu API client ID | |
| QUIPU_OWNER_SLUG | Yes | Your Quipu account slug (first segment of your Quipu URLs) | |
| QUIPU_CLIENT_SECRET | Yes | Your Quipu API client secret |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_contactsA | List contacts (clients and suppliers) from Quipu. Returns id, name, tax_id (NIF/CIF), email, phone and address fields. Results are paginated: use |
| get_contactA | Get a single Quipu contact by its id, with all available attributes (name, tax_id, email, phone, address, town, zip_code, country_code). |
| create_contactA | Create a contact in Quipu. |
| update_contactA | Update an existing Quipu contact. Only the fields you pass are modified; everything else is left untouched. |
| delete_contactA | Delete a Quipu contact permanently. Quipu refuses to delete contacts that already have invoices attached; in that case the API returns an error explaining it. |
| list_invoicesA | List issued invoices from Quipu, with number, issue_date, due_date, total, subtotal and payment status. Paginated via |
| get_invoiceA | Get a single Quipu invoice by id, with all of its attributes and totals. |
| create_invoiceA | Create an issued invoice in Quipu. Requires the contact id it is billed to and at least one line item. The contact must already have a tax_id (NIF/CIF) or Quipu will reject the invoice. |
| update_invoiceA | Update an existing Quipu invoice. Note that Spanish invoicing rules restrict what can change once an invoice is issued and numbered; Quipu returns an error when a field is locked. |
| delete_invoiceA | Delete a Quipu invoice permanently. Spanish invoicing rules generally require issuing a credit note instead of deleting a numbered invoice — prefer that unless the invoice is still a draft. |
| get_invoice_download_urlA | Get a temporary public URL to download a Quipu invoice as PDF. The link is ephemeral and expires, so fetch it when the user actually needs the document rather than storing it. |
| list_additional_incomesA | List additional incomes and expenses recorded in Quipu — everything that is not an issued invoice: supplier bills, purchases, tickets and other deductible costs. Returns kind, total_amount_without_taxes, vat_amount and retention_amount. Bound the period with |
| get_additional_incomeA | Get a single additional income or expense entry from Quipu by its id. |
| create_additional_incomeA | Record an expense or additional income in Quipu. Use it to log supplier bills and deductible costs. Assign an |
| update_additional_incomeA | Update an existing additional income or expense in Quipu. Only the fields passed are modified. |
| delete_additional_incomeA | Delete an additional income or expense entry from Quipu permanently. |
| get_additional_income_download_urlA | Get a temporary public URL to download an expense document as PDF. The link is ephemeral and expires. |
| get_tax_summaryA | Work out the VAT and IRPF position for a period from the invoices and expenses recorded in Quipu. Give it a year and a quarter (or an explicit date range) and it returns output VAT charged on invoices, input VAT paid on expenses, the resulting balance, and withholdings. Use this instead of listing invoices and adding them up by hand: Quipu has no endpoint that returns tax models (130, 303, 111), so the figures must be derived, and doing the arithmetic in code avoids the mistakes that come from adding long lists token by token. Treat the result as an estimate for orientation, not as a filed return. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool targets a distinct resource (contact, invoice, additional income, tax summary) and action (list, get, create, update, delete, download URL). The two download tools are clearly separated by resource type, and the tax summary tool is explicitly positioned as the calculation endpoint rather than a list operation.
Tool names consistently follow a verb_noun pattern: list_*, get_*, create_*, update_*, delete_*. Pluralization is consistent for list operations and singular for single-resource operations, which makes the set predictable.
18 tools is slightly above the ideal 3-15 range but still well-scoped: the count is justified by three resource domains (contacts, invoices, additional incomes) plus a tax summary tool. Each tool has a clear purpose, though the set feels a bit heavy.
CRUD coverage is complete for contacts, invoices, and additional incomes, with download URLs and a tax summary tool as useful additions. The main gap is the lack of a credit-note creation tool despite the delete_invoice description recommending credit notes, and there is no way to list accounting categories referenced by create_additional_income.