holded-mcp
v1.0.0
Published
MCP server for the Holded ERP API - invoicing, CRM, projects, team, and accounting
Maintainers
Readme
holded-mcp
MCP server for the Holded ERP API. Gives LLMs (Claude, GPT, etc.) full access to your Holded account — invoicing, CRM, projects, team, and accounting.
Setup
1. Get your API key
Go to Holded > Settings > API and copy your API key. Docs
2. Install
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"holded": {
"command": "npx",
"args": ["-y", "holded-mcp"],
"env": {
"HOLDED_API_KEY": "your-api-key-here"
}
}
}
}Claude Code
claude mcp add holded -- npx -y holded-mcpThen set the environment variable HOLDED_API_KEY in your shell.
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"holded": {
"command": "npx",
"args": ["-y", "holded-mcp"],
"env": {
"HOLDED_API_KEY": "your-api-key-here"
}
}
}
}Available Tools (136 total)
Invoicing (72 tools)
Contacts
| Tool | Description |
|------|-------------|
| list_contacts | List all contacts (filter by phone, mobile, customId) |
| create_contact | Create a new contact (client, supplier, debtor, creditor, or lead) |
| get_contact | Get a contact by ID |
| update_contact | Update a contact |
| delete_contact | Delete a contact |
| list_contact_attachments | List attachments for a contact |
| get_attachment | Get a specific attachment |
Products
| Tool | Description |
|------|-------------|
| list_products | List all products |
| create_product | Create a new product |
| get_product | Get a product by ID |
| update_product | Update a product |
| delete_product | Delete a product |
| get_product_image | Get the main image of a product |
| list_product_images | List all images of a product |
| get_product_secondary_image | Get a secondary image by filename |
| update_product_stock | Update product stock levels |
Services
| Tool | Description |
|------|-------------|
| list_services | List all services |
| create_service | Create a new service |
| get_service | Get a service by ID |
| update_service | Update a service |
| delete_service | Delete a service |
Documents
Supports 10 document types: invoice, salesreceipt, creditnote, salesorder, proform, waybill, estimate, purchase, purchaseorder, purchaserefund
| Tool | Description |
|------|-------------|
| list_documents | List documents by type (filter by date, contact, paid/billed status) |
| create_document | Create a new document with line items |
| get_document | Get a document by type and ID |
| update_document | Update a document |
| delete_document | Delete a document |
| pay_document | Register a payment for a document |
| send_document | Send a document by email |
| get_document_pdf | Get the PDF of a document |
| ship_all_items | Ship all items in a document |
| ship_items_by_line | Ship specific items by line |
| get_shipped_units | Get shipped units for a document |
| attach_file_to_document | Attach a file to a document |
| update_document_tracking | Update tracking info |
| update_document_pipeline | Update document pipeline status |
| list_payment_methods | List available payment methods |
Treasuries
| Tool | Description |
|------|-------------|
| list_treasuries | List treasury accounts |
| create_treasury | Create a treasury account |
| get_treasury | Get a treasury account |
Expenses Accounts
| Tool | Description |
|------|-------------|
| list_expenses_accounts | List expenses accounts |
| create_expenses_account | Create an expenses account |
| get_expenses_account | Get an expenses account |
| update_expenses_account | Update an expenses account |
| delete_expenses_account | Delete an expenses account |
Numbering Series
| Tool | Description |
|------|-------------|
| list_numbering_series | List numbering series (filter by document type) |
| create_numbering_series | Create a numbering series |
| update_numbering_series | Update a numbering series |
| delete_numbering_series | Delete a numbering series |
Sales Channels
| Tool | Description |
|------|-------------|
| list_sales_channels | List sales channels |
| create_sales_channel | Create a sales channel |
| get_sales_channel | Get a sales channel |
| update_sales_channel | Update a sales channel |
| delete_sales_channel | Delete a sales channel |
Warehouses
| Tool | Description |
|------|-------------|
| list_warehouses | List warehouses |
| create_warehouse | Create a warehouse |
| list_products_stock | List product stock across warehouses |
| get_warehouse | Get a warehouse |
| update_warehouse | Update a warehouse |
| delete_warehouse | Delete a warehouse |
Payments
| Tool | Description |
|------|-------------|
| list_payments | List payments |
| create_payment | Create a payment |
| get_payment | Get a payment |
| update_payment | Update a payment |
| delete_payment | Delete a payment |
Taxes
| Tool | Description |
|------|-------------|
| get_taxes | Get all tax configurations |
Contact Groups
| Tool | Description |
|------|-------------|
| list_contact_groups | List contact groups |
| create_contact_group | Create a contact group |
| get_contact_group | Get a contact group |
| update_contact_group | Update a contact group |
| delete_contact_group | Delete a contact group |
Remittances
| Tool | Description |
|------|-------------|
| list_remittances | List remittances |
| get_remittance | Get a remittance |
CRM (29 tools)
Funnels
| Tool | Description |
|------|-------------|
| list_funnels | List all sales funnels |
| create_funnel | Create a funnel |
| get_funnel | Get a funnel |
| update_funnel | Update a funnel |
| delete_funnel | Delete a funnel |
Leads
| Tool | Description |
|------|-------------|
| list_leads | List all leads |
| create_lead | Create a new lead |
| get_lead | Get a lead |
| update_lead | Update a lead |
| delete_lead | Delete a lead |
| create_lead_note | Add a note to a lead |
| update_lead_note | Update a lead note |
| create_lead_task | Add a task to a lead |
| update_lead_task | Update a lead task |
| delete_lead_task | Delete a lead task |
| update_lead_date | Update a lead's creation date |
| update_lead_stage | Move a lead to a different pipeline stage |
Events
| Tool | Description |
|------|-------------|
| list_events | List all events |
| create_event | Create an event |
| get_event | Get an event |
| update_event | Update an event |
| delete_event | Delete an event |
Bookings
| Tool | Description |
|------|-------------|
| list_booking_locations | List booking locations |
| get_booking_slots | Get available slots for a location |
| list_bookings | List all bookings |
| create_booking | Create a booking |
| get_booking | Get a booking |
| update_booking | Update a booking |
| cancel_booking | Cancel a booking |
Projects (16 tools)
Projects
| Tool | Description |
|------|-------------|
| list_projects | List all projects |
| create_project | Create a project |
| get_project | Get a project |
| update_project | Update a project |
| delete_project | Delete a project |
| get_project_summary | Get project summary (budget, time, costs) |
Tasks
| Tool | Description |
|------|-------------|
| list_tasks | List all tasks |
| create_task | Create a task |
| get_task | Get a task |
| delete_task | Delete a task |
Time Tracking
| Tool | Description |
|------|-------------|
| list_project_times | List time entries for a project |
| create_project_time | Log time to a project |
| get_project_time | Get a time entry |
| update_project_time | Update a time entry |
| delete_project_time | Delete a time entry |
| list_all_times | List all time entries across projects |
Team (15 tools)
Employees
| Tool | Description |
|------|-------------|
| list_employees | List all employees (paginated, 500 per page) |
| create_employee | Create an employee |
| get_employee | Get an employee |
| update_employee | Update an employee |
| delete_employee | Delete an employee |
Time Tracking
| Tool | Description |
|------|-------------|
| list_time_trackings | List all time trackings |
| get_time_tracking | Get a time tracking entry |
| update_time_tracking | Update a time tracking entry |
| delete_time_tracking | Delete a time tracking entry |
| list_employee_times | List time trackings for an employee |
| create_employee_time | Create a time tracking for an employee |
| employee_clock_in | Clock in an employee |
| employee_clock_out | Clock out an employee |
| employee_pause | Pause an employee's time tracking |
| employee_unpause | Unpause an employee's time tracking |
Accounting (4 tools)
| Tool | Description |
|------|-------------|
| list_daily_ledger | List all journal entries |
| create_daily_ledger_entry | Create a journal entry |
| list_accounts | List all accounts in the chart of accounts |
| create_account | Create a new accounting account |
Development
git clone https://github.com/cyenis/holded-mcp.git
cd holded-mcp
npm install
npm run buildRun locally:
HOLDED_API_KEY=your-key node dist/index.jsLicense
MIT
