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.
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
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
- Installation
- Configuration
- Usage
- Available Tools
- Document Types
- Response Formats
- Error Handling
- Performance
- Development
- Contributing
- License
- Support
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
- Node.js >= 20 (check with
node --version) - 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:
- Command:
npx - Arguments:
["-y", "@energio/holded-mcp"] - Environment variable:
HOLDED_API_KEYwith 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_MODULESor 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 contactsholded_invoicing_get_contact- Get a specific contactholded_invoicing_create_contact- Create a new contactholded_invoicing_update_contact- Update a contactholded_invoicing_delete_contact- Delete a contactholded_invoicing_list_contact_groups- List contact groupsholded_invoicing_get_contact_group- Get a contact groupholded_invoicing_create_contact_group- Create a contact groupholded_invoicing_update_contact_group- Update a contact groupholded_invoicing_delete_contact_group- Delete a contact groupholded_invoicing_list_contact_attachments- List attachments for a contactholded_invoicing_get_contact_attachment- Get a specific contact attachmentholded_invoicing_upload_contact_attachment- Upload an attachment to a contact
Product Tools
holded_invoicing_list_products- List all productsholded_invoicing_get_product- Get a specific productholded_invoicing_create_product- Create a new productholded_invoicing_update_product- Update a productholded_invoicing_delete_product- Delete a productholded_invoicing_list_products_stock- List product stock levels for a specific warehouseholded_invoicing_update_product_stock- Update product stockholded_invoicing_get_product_image- Get main product imageholded_invoicing_list_product_images- List all product imagesholded_invoicing_get_product_secondary_image- Get a secondary product imageholded_invoicing_upload_product_image- Upload an image to a product
Document Tools
holded_invoicing_list_documents- List documents by typeholded_invoicing_get_document- Get a specific documentholded_invoicing_create_document- Create a new documentholded_invoicing_update_document- Update a documentholded_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.
Ratings
4.5★★★★★10 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.