finance

holded-mcp

by energio-es

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

A comprehensive MCP server for integrating with Holded's business management platform, providing access to invoicing, CRM, projects, accounting, and team management functionality.

github stars

1

best for

  • / General purpose MCP workflows

capabilities

  • / holded_invoicing_list_contacts
  • / holded_invoicing_create_contact
  • / holded_invoicing_list_products
  • / holded_invoicing_create_product
  • / holded_invoicing_list_documents
  • / holded_invoicing_create_document

what it does

A comprehensive MCP server for integrating with Holded's business management platform, providing access to invoicing, CRM, projects, accounting, and team management functionality.

about

holded-mcp is a community-built MCP server published by energio-es that provides AI assistants with tools and capabilities via the Model Context Protocol. MCP server for Holded — invoicing, accounting, CRM, projects, and team It is categorized under finance. This server exposes 20 tools that AI clients can invoke during conversations and coding sessions.

how to install

You can install holded-mcp in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

holded-mcp is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Holded MCP Server

npm version License: MIT CI Node.js Version

A Model Context Protocol (MCP) server for integrating with the Holded API. This server provides comprehensive access to Holded's business management platform, including invoicing, accounting, CRM, projects, and team functionality.

Table of Contents

Features

Invoicing Module

  • Documents: Full CRUD operations for documents (invoices, estimates, purchases, etc.) plus pay, send, PDF export, tracking, and pipeline management
  • Contacts: Full CRUD operations for contacts and contact groups
  • Products: Manage products, variants, and stock levels
  • Payments: Full CRUD operations for payments
  • Numbering Series: Full CRUD operations for document numbering series
  • Treasury: Create, list, and retrieve treasury/bank accounts
  • Payment Methods: List available payment methods
  • Expenses Accounts: Full CRUD operations for expenses accounts
  • Sales Channels: Full CRUD operations for sales channels
  • Services: Full CRUD operations for services
  • Taxes: Get tax information and rates
  • Warehouses: Full CRUD operations for warehouses

CRM Module

  • Leads: Create, list, get, update, delete leads; manage stages, notes, and tasks
  • Funnels: Full CRUD operations for sales funnels with custom stages
  • Events: Full CRUD operations for CRM events
  • Bookings: Full CRUD operations for bookings and manage locations

Projects Module

  • Projects: Full CRUD operations for projects plus project summaries
  • Tasks: Full CRUD operations for project tasks
  • Time Tracking: Full CRUD operations for project time tracking entries

Accounting Module

  • Accounts: List and create accounting accounts with prefix-based numbering
  • Daily Ledger: List daily ledger entries and create accounting entries

Team Module

  • Employees: Full CRUD operations for employees
  • Time Tracking: List all time trackings, list by employee, get, create, update, and delete time tracking entries

Installation

Prerequisites

  1. Node.js >= 20 (check with node --version)
  2. Holded API Key - Get yours from Holded API Settings or go to Configuration (top bar) → API

Quick Start (npx)

The easiest way to use this MCP server is via npx - no installation or build required! Just configure your MCP client as shown below.

Setup for Claude Desktop

Add the following to your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "holded": {
      "command": "npx",
      "args": ["-y", "@energio/holded-mcp"],
      "env": {
        "HOLDED_API_KEY": "your_api_key_here"
      }
    }
  }
}

Restart Claude Desktop to load the server.

Setup for Claude Code

Add the server with a single command:

claude mcp add holded -- npx -y @energio/holded-mcp

Then set the API key in your environment:

export HOLDED_API_KEY=your_api_key_here

Setup for Cursor

Add the following to your Cursor MCP settings file:

  • macOS: ~/.cursor/mcp.json
  • Windows: %APPDATA%\Cursor\mcp.json
  • Linux: ~/.config/cursor/mcp.json
{
  "mcpServers": {
    "holded": {
      "command": "npx",
      "args": ["-y", "@energio/holded-mcp"],
      "env": {
        "HOLDED_API_KEY": "your_api_key_here"
      }
    }
  }
}

After saving, restart Cursor or reload the MCP servers from the settings.

Setup for VS Code

Add the following to your VS Code user settings (settings.json) or workspace settings (.vscode/mcp.json):

User settings (settings.json):

{
  "mcp": {
    "servers": {
      "holded": {
        "command": "npx",
        "args": ["-y", "@energio/holded-mcp"],
        "env": {
          "HOLDED_API_KEY": "your_api_key_here"
        }
      }
    }
  }
}

Workspace settings (.vscode/mcp.json):

{
  "servers": {
    "holded": {
      "command": "npx",
      "args": ["-y", "@energio/holded-mcp"],
      "env": {
        "HOLDED_API_KEY": "your_api_key_here"
      }
    }
  }
}

Setup for Windsurf

Add the following to your Windsurf MCP configuration file:

  • macOS: ~/.codeium/windsurf/mcp_config.json
  • Windows: %APPDATA%\Codeium\windsurf\mcp_config.json
  • Linux: ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "holded": {
      "command": "npx",
      "args": ["-y", "@energio/holded-mcp"],
      "env": {
        "HOLDED_API_KEY": "your_api_key_here"
      }
    }
  }
}

Setup for Other MCP-Compatible Agents

Any MCP-compatible agent can use this server via npx. The general configuration requires:

  1. Command: npx
  2. Arguments: ["-y", "@energio/holded-mcp"]
  3. Environment variable: HOLDED_API_KEY with your API key

Example configuration:

{
  "mcpServers": {
    "holded": {
      "command": "npx",
      "args": ["-y", "@energio/holded-mcp"],
      "env": {
        "HOLDED_API_KEY": "your_api_key_here"
      }
    }
  }
}

The server communicates via stdio using the MCP protocol and can be integrated with any client that supports the Model Context Protocol.

Configuration

The server requires a HOLDED_API_KEY environment variable. This is typically set in your MCP client configuration (see installation sections above).

For manual/development usage, you can set it directly:

export HOLDED_API_KEY=your_api_key_here

Module Selection

By default, all modules are enabled. To load only specific modules, set the HOLDED_MODULES environment variable with a comma-separated list:

Available modules: invoicing, crm, projects, accounting, team

Example - enable only invoicing module:

{
  "mcpServers": {
    "holded": {
      "command": "npx",
      "args": ["-y", "@energio/holded-mcp"],
      "env": {
        "HOLDED_API_KEY": "your_api_key_here",
        "HOLDED_MODULES": "invoicing"
      }
    }
  }
}

Configuration examples:

  • All modules (default): Omit HOLDED_MODULES or leave it empty
  • Only CRM: "HOLDED_MODULES": "crm"
  • Only invoicing: "HOLDED_MODULES": "invoicing"
  • Multiple modules: "HOLDED_MODULES": "invoicing,crm"

Debug Mode

Enable debug logging for API requests and retries by setting the HOLDED_DEBUG environment variable:

{
  "mcpServers": {
    "holded": {
      "command": "npx",
      "args": ["-y", "@energio/holded-mcp"],
      "env": {
        "HOLDED_API_KEY": "your_api_key_here",
        "HOLDED_DEBUG": "true"
      }
    }
  }
}

When enabled, the server will log retry attempts and API request failures to stderr, which can be helpful for troubleshooting connection issues or rate limiting.

Usage

Running the Server Manually

npm start

Or for development with auto-reload:

npm run dev

Note: In most cases, you won't run the server manually. Your MCP client (Cursor, Claude Desktop, etc.) will start and manage the server process automatically based on your configuration.

Available Tools

Contact Tools

  • holded_invoicing_list_contacts - List all contacts
  • holded_invoicing_get_contact - Get a specific contact
  • holded_invoicing_create_contact - Create a new contact
  • holded_invoicing_update_contact - Update a contact
  • holded_invoicing_delete_contact - Delete a contact
  • holded_invoicing_list_contact_groups - List contact groups
  • holded_invoicing_get_contact_group - Get a contact group
  • holded_invoicing_create_contact_group - Create a contact group
  • holded_invoicing_update_contact_group - Update a contact group
  • holded_invoicing_delete_contact_group - Delete a contact group
  • holded_invoicing_list_contact_attachments - List attachments for a contact
  • holded_invoicing_get_contact_attachment - Get a specific contact attachment
  • holded_invoicing_upload_contact_attachment - Upload an attachment to a contact

Product Tools

  • holded_invoicing_list_products - List all products
  • holded_invoicing_get_product - Get a specific product
  • holded_invoicing_create_product - Create a new product
  • holded_invoicing_update_product - Update a product
  • holded_invoicing_delete_product - Delete a product
  • holded_invoicing_list_products_stock - List product stock levels for a specific warehouse
  • holded_invoicing_update_product_stock - Update product stock
  • holded_invoicing_get_product_image - Get main product image
  • holded_invoicing_list_product_images - List all product images
  • holded_invoicing_get_product_secondary_image - Get a secondary product image
  • holded_invoicing_upload_product_image - Upload an image to a product

Document Tools

  • holded_invoicing_list_documents - List documents by type
  • holded_invoicing_get_document - Get a specific document
  • holded_invoicing_create_document - Create a new document
  • holded_invoicing_update_document - Update a document
  • holded_invoicing_delete_document - Delete a document
  • `holded_inv

FAQ

What is the holded-mcp MCP server?
holded-mcp is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for holded-mcp?
This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
MCP server reviews

Ratings

4.510 reviews
  • Shikha Mishra· Oct 10, 2024

    holded-mcp is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Piyush G· Sep 9, 2024

    We evaluated holded-mcp against two servers with overlapping tools; this profile had the clearer scope statement.

  • Chaitanya Patil· Aug 8, 2024

    Useful MCP listing: holded-mcp is the kind of server we cite when onboarding engineers to host + tool permissions.

  • Sakshi Patil· Jul 7, 2024

    holded-mcp reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Ganesh Mohane· Jun 6, 2024

    I recommend holded-mcp for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Oshnikdeep· May 5, 2024

    Strong directory entry: holded-mcp surfaces stars and publisher context so we could sanity-check maintenance before adopting.

  • Dhruvi Jain· Apr 4, 2024

    holded-mcp has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Rahul Santra· Mar 3, 2024

    According to our notes, holded-mcp benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Pratham Ware· Feb 2, 2024

    We wired holded-mcp into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Yash Thakker· Jan 1, 2024

    holded-mcp is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.