Dolibarr MCP Server
Allows n8n workflows to interact with Dolibarr ERP/CRM via the MCP server, enabling automation of Dolibarr operations such as CRUD on thirdparties, products, orders, and other endpoints.
Click on "Deploy 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., "@Dolibarr MCP Serverlist all thirdparties"
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.
Dolibarr MCP Server
A compliant Model Context Protocol (MCP) server that provides structured access to Dolibarr ERP/CRM API endpoints. Built with Nitro and implementing the JSON-RPC 2.0 specification.
Features
✅ MCP Compliant: Full implementation of the Model Context Protocol specification
🔧 Complete CRUD Operations: GET, POST, PUT, DELETE support for all Dolibarr endpoints
🚀 Production Ready: Built with Nitro for optimal performance and deployment flexibility
🔒 Secure: Environment-based configuration with API key authentication
📦 Easy Integration: Compatible with n8n, Claude, and other MCP clients
🌍 Multi-runtime: Supports Node.js, Bun, and Deno
Related MCP server: Smartsheet MCP Server
Quick Start
Prerequisites
Node.js 18+
pnpm 9.0+
Dolibarr instance with REST API enabled
Valid Dolibarr API key
Installation
# Clone the repository
git clone https://github.com/ivanmartin33/dolibarr-mcp-server.git
cd dolibarr-mcp-server
# Install dependencies
pnpm install
# Copy environment file
cp .env.example .env
# Edit .env with your Dolibarr configuration
# Start development server
pnpm run devEnvironment Setup
Create a .env file in your project root:
DOLI_URL=https://your-dolibarr-instance.com/api/index.php
DOLI_KEY=your-dolibarr-api-keyRunning the Server
# Development
pnpm run dev
# Production build
pnpm run build
# Start production server
pnpm run startThe server will be available at http://localhost:3000
MCP Tools Available
The server exposes four main tools for interacting with Dolibarr:
1. dolibarr_get
Fetch data from Dolibarr API using GET method.
{
"name": "dolibarr_get",
"arguments": {
"endpoint": "thirdparties",
"id": "1",
"params": {
"limit": "10"
}
}
}2. dolibarr_post
Create new data in Dolibarr API using POST method.
{
"name": "dolibarr_post",
"arguments": {
"endpoint": "thirdparties",
"data": {
"name": "New Company",
"client": 1
}
}
}3. dolibarr_put
Update existing data in Dolibarr API using PUT method.
{
"name": "dolibarr_put",
"arguments": {
"endpoint": "thirdparties",
"id": "1",
"data": {
"name": "Updated Company Name"
}
}
}4. dolibarr_delete
Delete data from Dolibarr API using DELETE method.
{
"name": "dolibarr_delete",
"arguments": {
"endpoint": "thirdparties",
"id": "1"
}
}API Endpoints
Main MCP Endpoint
POST /mcp- Main JSON-RPC 2.0 endpoint for MCP communication
Additional Endpoints
GET /mcp/describe- Server information and tool descriptionsPOST /mcp/tools/call- Direct tool execution endpointGET /- Landing page with server information
MCP Protocol Examples
Initialize Connection
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "initialize",
"params": {},
"id": 1
}'List Available Tools
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"params": {},
"id": 2
}'Execute a Tool
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "dolibarr_get",
"arguments": {
"endpoint": "users"
}
},
"id": 3
}'Integration with n8n
The Dolibarr MCP Server can be easily integrated with n8n for workflow automation:
Connection URLs
n8n in Docker:
http://host.docker.internal:3000/mcpLocal n8n:
http://localhost:3000/mcp
Starting Server for Docker Access
NITRO_HOST=0.0.0.0 NITRO_PORT=3000 pnpm run devHTTP Request Node Configuration
In your n8n workflow, add an HTTP Request node:
Method: POST
URL:
http://host.docker.internal:3000/mcp(for Docker) orhttp://localhost:3000/mcp(local)Headers:
{ "Content-Type": "application/json" }Body:
{ "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "dolibarr_get", "arguments": { "endpoint": "{{ $json.endpoint }}", "id": "{{ $json.id }}" } }, "id": "{{ $runIndex }}" }
Dolibarr Configuration
API Setup in Dolibarr
Enable REST API Module:
Go to
Home > Setup > Modules/ApplicationsActivate "Web services REST API"
Create API User:
Go to
Users & GroupsCreate a new user or select existing
Generate API key in user profile
Set Permissions:
Assign appropriate permissions to the API user
Recommended: Create dedicated API user with minimal required rights
Common Dolibarr Endpoints
users- User managementthirdparties- Companies/customersproducts- Product catalogorders- Sales ordersinvoices- Customer invoicesproposals- Commercial proposalscontracts- Contractsprojects- Project management
Production Deployment
Environment Variables
Variable | Description | Default |
| Dolibarr API base URL |
|
| Dolibarr API key |
|
| Server host |
|
| Server port |
|
Docker
FROM node:18-alpine
# Enable corepack for pnpm
RUN corepack enable
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile --prod
COPY . .
RUN pnpm run build
ENV NITRO_HOST=0.0.0.0
ENV NITRO_PORT=3000
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]Docker Compose
version: '3.8'
services:
dolibarr-mcp:
build: .
ports:
- "3000:3000"
environment:
- DOLI_URL=http://host.docker.internal:4000/api/index.php
- DOLI_KEY=your-api-key
- NITRO_HOST=0.0.0.0
- NITRO_PORT=3000
restart: unless-stoppedLicense
This project is licensed under the MIT License - see the LICENSE file for details.
Links
Related MCP Connectors
Model Context Protocol server for todo.vu task management and time tracking.
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Model Context Protocol server for Studex tools, notifications, and profile integrations
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with the Xano API through a Model Context Protocol (MCP) interface, providing secure and type-safe management of Xano database operations.-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Smartsheet API to search, retrieve, create, update, and manage sheets, rows, webhooks, sharing permissions, cross-sheet references, and perform bulk operations through the Model Context Protocol.161 npmApache 2.0
- AlicenseNot gradedqualityFmaintenanceEnables interaction with the Edgee API for managing organizations, projects, domains, components, users, invitations, and API tokens through the Model Context Protocol.11 npmApache 2.0
- AlicenseNot gradedqualityDmaintenanceProvides a Model Context Protocol interface for the Dolibarr ERP/CRM, enabling AI agents to manage customers, products, invoices, and orders. It features specialized search tools and server-side filtering to efficiently interact with Dolibarr's REST API while minimizing token usage.1MIT