Mmcp.market

Holded MCP server

by energio-es·io.github.energio-es/holded-mcp·v1.5.1

MCP server for Holded — invoicing, accounting, CRM, projects, and team

C65/100grade C
What users say
No reviews yet
Be the first
Safety scan
C65/100

full report

Adoption
Not measured yet

Usage numbers are collected on the next scan

Reviews

Write one

Nobody has reviewed Holded yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Holded tools (63, 30 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • holded_accounting_create_entrywrite action
  • holded_accounting_list_account_balances
  • holded_accounting_list_daily_ledger
  • holded_crm_create_lead_notewrite action

    Add a note to a lead in Holded CRM. Args: - lead_id (string): The lead ID to add the note to (required) - title (string): Note title (required) - desc (string): Note description/body Returns: The created note.

  • holded_crm_create_lead_taskwrite action

    Create a new task for a lead in Holded CRM. Args: - lead_id (string): The lead ID to add the task to (required) - name (string): Task name (required) Returns: The created task.

  • holded_crm_delete_lead_taskwrite action

    Delete a task associated with a lead in Holded CRM. Args: - lead_id (string): The lead ID (required) - task_id (string): The task ID to delete (required) Returns: Confirmation of task deletion.

  • holded_crm_get_available_slots

    Get available time slots for a specific booking location from Holded CRM. Args: - location_id (string): The location ID (required) - serviceId (string): Service ID (required) - day (string): Day in yyyy-mm-dd format (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of available time slots for the location with dateTime, from, to, and duration.

  • holded_crm_list_booking_locations

    List all booking locations from Holded CRM. Args: - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of booking locations with id, name, description, active status, and availableServices.

  • holded_crm_update_lead_dateswrite action

    Update the creation date of a lead in Holded CRM. Args: - lead_id (string): The lead ID (required) - date (number): Lead creation date as Unix timestamp (required) Returns: Confirmation of date update.

  • holded_crm_update_lead_notewrite action

    Update a note associated with a lead in Holded CRM. Args: - lead_id (string): The lead ID (required) - note_id (string): The note ID to update (required) - title (string): Note title (required) - desc (string): Note description/body Returns: The updated note.

  • holded_crm_update_lead_stagewrite action

    Move a lead to a different stage in the sales funnel. Args: - lead_id (string): The lead ID to move (required) - stage_id (string): The target stage ID (required) Returns: Confirmation of stage update.

  • holded_crm_update_lead_taskwrite action

    Update a task associated with a lead in Holded CRM. Args: - lead_id (string): The lead ID (required) - task_id (string): The task ID to update (required) - name (string): Task name Returns: The updated task.

  • holded_invoicing_attach_document_file
  • holded_invoicing_create_documentwrite action
  • holded_invoicing_create_numbering_seriewrite action

    Create a new numbering series for a document type in Holded. Args: - doc_type (string): Document type (required) - name (string): Series name (required) - format (string): Format string for document numbers (e.g., 'F17%%%%') - last (integer): Last number used in the series - type (string): Document type (optional, already in path) Returns: The created numbering series.

  • holded_invoicing_create_paymentwrite action

    Create a standalone payment in Holded. To record a payment for a document, use holded_invoicing_pay_document instead. Args: - contact_id (string): The contact ID to apply the payment to - amount (number): Payment amount (required) - date (number): Payment date as Unix timestamp - account_id (string): Treasury/Bank account ID - desc (string): Payment description Returns: The created payment confirm

  • holded_invoicing_create_treasurywrite action

    Create a new treasury/bank account in Holded. Args: - name (string): Treasury account name (required) - id (string): Treasury account ID (optional, auto-generated if not provided) - type (string): Account type (e.g., 'bank', 'cash', 'creditcard') - balance (integer): Initial balance - accountNumber (integer): Accounting account number. If blank, a new account with prefix 572 will be created - iban

  • holded_invoicing_delete_documentwrite action

    Delete a document from Holded. Args: - doc_type (string): Document type (required) - document_id (string): The document ID to delete (required) Returns: Confirmation of deletion.

  • holded_invoicing_delete_numbering_seriewrite action

    Delete a numbering series from Holded. Args: - doc_type (string): Document type (required) - numbering_series_id (string): The numbering series ID to delete (required) Returns: Confirmation of deletion.

  • holded_invoicing_get_contact_attachment

    Get a specific attachment for a contact from Holded. Args: - contact_id (string): The contact ID (required) - filename (string): The attachment filename (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Attachment file data (binary format, base64 encoded or URL).

  • holded_invoicing_get_document

    Get a specific document by ID from Holded. Args: - doc_type (string): Document type (required) - document_id (string): The document ID to retrieve (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Document details including line items, totals, and payment status.

  • holded_invoicing_get_document_pdf

    Get the PDF version of a document from Holded. Args: - doc_type (string): Document type (required) - document_id (string): The document ID to get PDF for (required) Returns: PDF file data (base64 encoded or URL).

  • holded_invoicing_get_numbering_series

    Get numbering series for a document type in Holded. Args: - doc_type (string): Document type (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of numbering series with id, name, prefix, suffix, and next number.

  • holded_invoicing_get_product_image

    Get the main image of a specific product from Holded. Args: - product_id (string): The product ID to get the main image for (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Product main image data (URL or base64 encoded).

  • holded_invoicing_get_product_secondary_image

    Get a specific secondary image of a product from Holded. Args: - product_id (string): The product ID (required) - image_file_name (string): The image file name (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Product secondary image data (URL or base64 encoded).

  • holded_invoicing_get_shipped_items

    For each item included in a sales or purchase order, get the number of units shipped or received. Args: - doc_type ('salesorder' | 'order'): Document type (required) - document_id (string): The document ID to get shipped items for (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of items with name, sku, total, sent, and pending quantities.

  • holded_invoicing_get_taxes

    Get all taxes information from Holded. Args: - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of taxes with id, name, and rate information.

  • holded_invoicing_get_treasury

    Get a specific treasury/bank account by ID from Holded. Args: - treasury_id (string): The treasury account ID to retrieve (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Treasury account details including balance and bank information.

  • holded_invoicing_list_contact_attachments

    Get attachments list for a given contact from Holded. Args: - contact_id (string): The contact ID to list attachments for (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of attachment file names.

  • holded_invoicing_list_documents
  • holded_invoicing_list_payment_methods

    List all payment methods from Holded. Args: - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of payment methods with id, name, and configuration.

  • holded_invoicing_list_product_images

    List all secondary product images from Holded. Args: - product_id (string): The product ID to list images for (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of product image file names or image data.

  • holded_invoicing_list_products_stock

    List stock levels for products in a specific warehouse in Holded. Args: - warehouse_id (string): The warehouse ID to list stock for (required) - page (number): Page number for pagination (default: 1, max 500 items per page) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of products with their stock levels for the specified warehouse.

  • holded_invoicing_list_treasuries

    List all treasury/bank accounts from Holded. Args: - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of treasury accounts with id, name, type, currency, and balance.

  • holded_invoicing_pay_documentwrite action

    Record a payment for a document in Holded. Args: - doc_type (string): Document type (required) - document_id (string): The document ID to pay (required) - amount (number): Payment amount (if different from document total) - account_id (string): Treasury/Bank account ID - date (number): Payment date as Unix timestamp Returns: Confirmation of payment.

  • holded_invoicing_send_documentwrite action

    Send a document via email in Holded. Args: - doc_type (string): Document type (required) - document_id (string): The document ID to send (required) - emails (string): Recipient email(s), comma-separated (required) - subject (string): Email subject - message (string): Email message body Returns: Confirmation of sending.

  • holded_invoicing_ship_all_items

    Ship all the items of a specific sales order in Holded. Args: - document_id (string): The sales order document ID to ship all items for (required) Returns: Confirmation of shipping with status and info.

  • holded_invoicing_ship_items_by_line

    Ship specific items of a sales order by line position in Holded. Args: - document_id (string): The sales order document ID to ship items for (required) - lines (array): Array of item lines to ship, each with: - itemLinePosition (number): Item line position (starts at 0) - units (number): Number of units to ship Returns: Confirmation of shipping with status and info.

  • holded_invoicing_update_documentwrite action
  • holded_invoicing_update_document_pipelinewrite action

    Update the pipeline stage for a document in Holded. Note: This endpoint only works with 'salesorder' and 'waybill' document types. Args: - doc_type ('salesorder' | 'waybill'): Document type (required) - document_id (string): The document ID to update pipeline for (required) - pipeline (string): Pipeline stage identifier (required) Returns: Confirmation of pipeline update.

  • holded_invoicing_update_document_trackingwrite action
  • holded_invoicing_update_numbering_seriewrite action

    Update an existing numbering series in Holded. Args: - doc_type (string): Document type (required) - numbering_series_id (string): The numbering series ID to update (required) - name (string): Series name - format (string): Format string for document numbers - last (string): Last number used in the series (string format) Returns: The updated numbering series.

  • holded_invoicing_update_paymentwrite action

    Update an existing payment in Holded. Args: - payment_id (string): The payment ID to update (required) - amount (number): Payment amount - date (number): Payment date as Unix timestamp - account_id (string): Treasury/Bank account ID - desc (string): Payment description Returns: The updated payment.

  • holded_invoicing_update_product_stockwrite action

    Update stock level for a product in Holded. Args: - product_id (string): The product ID to update stock for (required, path parameter) - stock (object): Nested object structure: stock[warehouseId][productId/variantId] = quantity Example: { "warehouse1": { "product123": 10, "variant456": 5 } } Returns: Confirmation of stock update.

  • holded_invoicing_upload_product_imagewrite action
  • holded_projects_create_project_time_trackingwrite action

    Create a new time-tracking entry for a project in Holded. Args: - project_id (string): The project ID (required) - duration (number): Duration in seconds (required) - costHour (number): Cost per hour (required) - desc (string): Description of work (optional) - userId (string): User/Employee ID (required) - taskId (string): Task ID (optional) Returns: The created time-tracking with its assigned ID.

  • holded_projects_create_taskwrite action

    Create a new task in Holded Projects. According to Holded Projects API v1.2, task creation requires: - name (string): Task name (required) - project_id (string): Project ID to associate the task with (required) - list_id (string): Task list/column ID within the project (required). Get available listIds from the project details. Returns: The created task with its assigned ID.

  • holded_projects_delete_project_time_trackingwrite action

    Delete a time-tracking entry from a project in Holded. Args: - project_id (string): The project ID (required) - time_id (string): The time-tracking ID to delete (required) Returns: Confirmation of deletion.

  • holded_projects_get_project_summary

    Get a summary/overview of a project from Holded. Args: - project_id (string): The project ID to get summary for (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Project summary including projectEvolution, profitability, economicStatus, and task statistics.

  • holded_projects_get_project_time_tracking

    Get a specific time-tracking entry for a project from Holded. Args: - project_id (string): The project ID (required) - time_id (string): The time-tracking ID to retrieve (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Time-tracking details including duration, description, cost, and other fields.

  • holded_projects_list_all_times

    List time trackings in projects not archived from 18 months on. Args: - start (number): Start date as Unix timestamp (optional) - end (number): End date as Unix timestamp (optional) - archived (boolean): Include archived projects (optional) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of projects with their time-tracking entries.

  • holded_projects_list_project_time_trackings

    List all time-trackings for a specific project from Holded. Args: - project_id (string): The project ID (required) - page (number): Page number for pagination (default: 1, max 500 items per page) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of time-trackings for the project.

  • holded_projects_update_project_time_trackingwrite action

    Update an existing time-tracking entry for a project in Holded. Args: - project_id (string): The project ID (required) - time_id (string): The time-tracking ID to update (required) - duration (number): Duration in seconds (optional) - costHour (number): Cost per hour (optional) - desc (string): Description of work (optional) - userId (string): User/Employee ID (optional) - taskId (string): Task ID

  • holded_team_create_employee_time_trackingwrite action

    Create a new time-tracking entry for an employee in Holded. Args: - employee_id (string): The employee ID (required) - startTmp (string): Start time as Unix timestamp string (required) - endTmp (string): End time as Unix timestamp string (required) Returns: The created time-tracking with its assigned ID.

  • holded_team_delete_time_trackingwrite action

    Delete a time-tracking from Holded. Args: - time_id (string): The time-tracking ID to delete (required) Returns: Confirmation of deletion.

  • holded_team_employee_clock_in

    Start counting employee time-tracking in Holded. Args: - employee_id (string): The employee ID to clock in (required) - location (string): Location name (optional) Returns: Confirmation with status, info, and time-tracking ID.

  • holded_team_employee_clock_out

    End counting employee time-tracking in Holded. Args: - employee_id (string): The employee ID to clock out (required) - latitude (string): Latitude (e.g., -7.45556) (optional) - longitude (string): Longitude (e.g., 55.55765) (optional) Returns: Confirmation with status, info, and time-tracking ID.

  • holded_team_employee_pause

    Pause employee time-tracking in Holded. Args: - employee_id (string): The employee ID to pause (required) - latitude (string): Latitude (e.g., -7.45556) (optional) - longitude (string): Longitude (e.g., 55.55765) (optional) Returns: Confirmation with status, info, and time-tracking ID.

  • holded_team_employee_unpause

    Unpause employee time-tracking in Holded. Args: - employee_id (string): The employee ID to unpause (required) - latitude (string): Latitude (e.g., -7.45556) (optional) - longitude (string): Longitude (e.g., 55.55765) (optional) Returns: Confirmation with status, info, and time-tracking ID.

  • holded_team_get_time_tracking

    Get a specific time-tracking by ID from Holded. Args: - time_id (string): The time-tracking ID to retrieve (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Time-tracking details including employee, time, and status.

  • holded_team_list_all_time_trackings

    List all time-trackings for all employees from Holded. Args: - page (number): Page number for pagination (default: 1, max 500 items per page) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of time-trackings with id, employee, time, and status.

  • holded_team_list_employee_time_trackings

    List all time-trackings for a specific employee from Holded. Args: - employee_id (string): The employee ID (required) - response_format ('json' | 'markdown'): Output format (default: 'json') Returns: Array of time-trackings for the employee with id, time, and status.

  • holded_team_update_time_trackingwrite action

    Update an existing time-tracking in Holded. Args: - time_id (string): The time-tracking ID to update (required) - startTmp (string): Start time as Unix timestamp string (required) - endTmp (string): End time as Unix timestamp string (required) Returns: The updated time-tracking.

Public scan report

scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it

no findings
  • Code scan131 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancerepository not readable: repo not found3/15
  • Maintainer identityno repository or website to verify2/10
Overall 65/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Install directly

Runs npx -y @energio/holded-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add holded-mcp -- npx -y @energio/holded-mcp
Add to Cursor

Holded: common questions

Is Holded MCP server safe?
With care: it is graded C, so read the findings first (65/100). Read the Holded safety report
How do I install Holded?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Holded need an API key?
No secret keys are declared. It reads 4 settings from the environment.
Is Holded maintained?
The latest release is v1.5.1.
What can I use instead of Holded?
Servers from other publishers that do the same job: MCP Holded MCP server, SUNAGO Matrix MCP server and FavCRM MCP server. Compare all Holded alternatives.

Alternatives to Holded

Same job from other publishers: the closest match first, then the best rated.

All Holded alternatives →
  • MCP Holded
    MCP server for Holded (Spanish ERP): invoicing, accounting, treasury, CRM, projects, payroll.
    B
  • SUNAGO Matrix
    Project management, CRM, time tracking and project economy for consulting and engineering firms
    A
  • FavCRM
    Agentic CRM for service businesses — bookings, customers, WhatsApp, loyalty, invoicing.
    A
  • BoondManager MCP Server
    MCP Server for BoondManager API - 185 tools, 13 prompts, 22 resources (ERP/CRM)
    A
  • BoondManager MCP Server
    MCP Server for BoondManager API - 182 tools, 12 prompts, 22 resources (ERP/CRM)
    A

More from energio-es →