holded-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@holded-mcpList all pending invoices from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
holded-mcp
MCP server for invoicing and treasury management in Holded: invoices, purchases, estimates, credit notes, sales receipts, recurring invoices, contacts, bank accounts and cashflow forecasting.
Tools (42)
Sales invoices
Tool | What it does |
| List with filters: start_date, end_date, contact_id, status |
| Full detail of an invoice |
| Create an invoice (items, taxes, series, due date) |
| Add notes/tags or edit fields without wiping the rest |
| Finalize a draft → assigns the definitive invoice number |
| Email it to the client |
| Register a payment (partial or full) |
| Download the PDF (local file or base64) |
| Attach a file to an invoice |
Purchases / expenses
Tool | What it does |
| List with filters: start_date, end_date, contact_id, status |
| Full detail of an expense |
| Register an expense (with supplier invoice number) |
| Add notes/tags/supplier invoice number without wiping the rest |
| Register a payment for an expense |
| Attach a PDF to an expense |
Estimates
Tool | What it does |
| List with date/status filters |
| Create a client estimate/quote |
| Add notes/tags or edit fields without wiping the rest |
| Convert an accepted estimate into an invoice |
Credit notes
Tool | What it does |
| List credit notes |
| Create one linked to the original invoice |
| Add notes/tags without wiping the rest |
Simplified receipts
Tool | What it does |
| List sales receipts |
| Issue a simplified receipt |
| Add notes/tags without wiping the rest |
Recurring invoices
Tool | What it does |
| View active templates |
| Create an automatic invoice (daily/weekly/monthly/yearly) |
Contacts
Tool | What it does |
| Search by name, email or tax ID |
| Full contact details |
| Create a client or supplier |
| Update contact fields (safe merge: only changes what you pass) |
Treasury
Tool | What it does |
| Bank accounts with current balance |
| Movements for an account (filter: |
| Add a manual movement (income/expense) |
| Reconcile a movement against an invoice/payment |
Cashflow
Tool | What it does |
| Forecasted incoming/outgoing payments |
| Add a manual forecast |
Remittances
Tool | What it does |
| View active SEPA remittances |
Configuration
Tool | What it does |
| Tax IDs (VAT, withholding, etc.) |
| Service catalog with prices |
| Series by document type: |
| Chart-of-accounts expense accounts |
Related MCP server: MCP Holded
Typical flows
Create and send an invoice to a client
1. list_contacts(search="client name") → contact_id
2. list_taxes() → tax ids
3. list_numbering_series("invoice") → number_line_id
4. create_invoice(contact_id, date, items=[{
name: "Service", units: 1, price: 800,
taxes: [vat_id, withholding_id]
}], number_line_id=...) → invoice_id
5. approve_invoice(invoice_id) → finalizes with definitive number
6. send_invoice(invoice_id, emails=["client@..."])Collect a pending invoice
1. list_invoices(status="pending", start_date="2026-01-01")
2. register_invoice_payment(invoice_id, amount=..., date="2026-06-17")Estimate → Invoice
1. create_estimate(contact_id, date, items) → estimate_id
2. send_invoice(estimate_id, emails=[...]) → send to client
3. convert_estimate_to_invoice(estimate_id) → once accepted
4. approve_invoice(new_invoice_id)Setup
Get your API key: Holded → Settings → Integrations → API.
Install dependencies:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
MCP client configuration
{
"mcpServers": {
"holded": {
"command": "/path/to/.venv/bin/python3",
"args": ["/path/to/holded-mcp/server.py"],
"env": {
"HOLDED_API_KEY": "<your Holded PAT>"
}
}
}
}Notes and known API quirks
Auth: PAT tokens (
pat_...) useAuthorization: Bearer <pat_...>, not akey: valueheader.All POST/PUT bodies use snake_case (
contact_id,due_date,number_line_id...) — the v2 API rejects camelCase with a 400.No server-side date filtering — the server paginates through the full cursor and filters by date client-side.
draftis a boolean flag on the document, not a status value. Valid statuses:pending,completed,partial,cancelled,failed,overdue.Purchase reconciliation only works from the UI — the public API v2 doesn't support reconciling purchase-type movements (
reconcile_bank_movementwithdocument_type: "purchase"always produces a zero-amountforced_reconciled). Use the Holded UI (Expenses → edit payment → select bank account) for that specific case.register_invoice_payment/register_purchase_paymentusetreasury_idinternally (the tool acceptsaccount_idand maps it for you); free text goes indescription, notnotes.No delete endpoint exists in the API for invoices, purchases, estimates or credit notes — only the Holded UI can remove a document.
create_cashflow_forecastrequires an approved (non-draft) document — approve first withapprove_invoice.Attachments use
multipart/form-datawith no explicitContent-Typeheader (letrequestsset it).
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceMCP server for Holded — invoicing, accounting, CRM, projects, and teamLast updated771MIT
- AlicenseBqualityBmaintenanceA Model Context Protocol (MCP) server for the Holded Invoice API. This server allows AI assistants like Claude to interact with Holded's invoicing, contacts, products, and more.Last updated7811619MIT
- Alicense-qualityDmaintenanceMCP server that connects Claude Code to the Holded API for natural language financial, accounting, and invoicing queries, with built-in Spanish PGC context.Last updated2Apache 2.0
- Flicense-qualityDmaintenanceAn open-source MCP server for the Holded API that enables natural language management of invoicing, CRM, projects, team, and accounting.Last updated
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
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/YerayRodri/holded-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server