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 "Install 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
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ivanmartin33/dolibarr-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server