Jonathan Miller 7831f7fb3d
Standards Compliance / Secret Scanning (push) Successful in 3s
Standards Compliance / License Header Validation (push) Failing after 5s
Standards Compliance / Repository Structure Validation (push) Failing after 6s
Standards Compliance / Coding Standards Check (push) Failing after 2s
Standards Compliance / Workflow Configuration Check (push) Failing after 3s
Standards Compliance / Documentation Quality Check (push) Successful in 3s
Standards Compliance / README Completeness Check (push) Failing after 3s
Standards Compliance / Git Repository Hygiene (push) Successful in 3s
Standards Compliance / Script Integrity Validation (push) Successful in 3s
Standards Compliance / Line Length Check (push) Failing after 3s
Standards Compliance / File Naming Standards (push) Successful in 2s
Standards Compliance / Version Consistency Check (push) Successful in 34s
Standards Compliance / Insecure Code Pattern Detection (push) Successful in 3s
CodeQL Security Scanning / Analyze (actions) (push) Failing after 1m12s
Standards Compliance / Dead Code Detection (push) Successful in 3s
Standards Compliance / File Size Limits (push) Successful in 3s
CodeQL Security Scanning / Analyze (javascript) (push) Failing after 1m13s
Standards Compliance / Binary File Detection (push) Successful in 3s
Standards Compliance / TODO/FIXME Tracking (push) Successful in 2s
Standards Compliance / Code Complexity Analysis (push) Successful in 35s
Standards Compliance / Code Duplication Detection (push) Successful in 33s
Standards Compliance / Broken Link Detection (push) Successful in 3s
Standards Compliance / API Documentation Coverage (push) Successful in 3s
Standards Compliance / Accessibility Check (push) Successful in 3s
Standards Compliance / Performance Metrics (push) Successful in 3s
Standards Compliance / Dependency Vulnerability Scanning (push) Successful in 39s
Standards Compliance / Unused Dependencies Check (push) Successful in 37s
CodeQL Security Scanning / Security Scan Summary (push) Successful in 1s
Standards Compliance / Terraform Configuration Validation (push) Successful in 6s
Standards Compliance / Enterprise Readiness Check (push) Successful in 37s
Standards Compliance / Repository Health Check (push) Successful in 37s
Standards Compliance / Compliance Summary (push) Failing after 1s
docs: update API reference and README for 89 tools
Expand API.md with full parameter tables for all new tools: shipments,
contracts, interventions, expense reports, tickets, agenda events,
payments, documents, members, stock movements, contact CRUD, task CRUD,
dictionaries, bank transactions, categories, users. Update README tool
listing to match.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-07 14:32:49 -05:00

Version License Node

dolibarr-api-mcp

standard-readme compliant

A Model Context Protocol (MCP) server that exposes the Dolibarr ERP/CRM REST API as tools for AI assistants.

Connects to Dolibarr instances over HTTP using the built-in REST API (/api/index.php) and API key authentication (DOLAPIKEY header). Claude, Cursor, and other MCP clients can manage third parties, invoices, proposals, orders, products, projects, and more — without SSH or direct server access.

Table of Contents

Background

Dolibarr ships with a comprehensive REST API that supports ERP/CRM operations over HTTP. This MCP server wraps that API into structured tools, enabling:

  • Third party management (customers, suppliers, prospects — list, create, update, delete)
  • Invoice management (list, create, add lines, validate, mark as paid)
  • Commercial proposals / quotes (list, create, add lines, validate, close)
  • Customer order management (list, create, validate)
  • Product and service catalog (list, create, update, stock levels)
  • Contact / address management
  • Project and task management
  • Category management
  • Bank account listing
  • Supplier invoice and order listing
  • Warehouse and stock management
  • Company setup and system status
  • Raw API passthrough for any endpoint

Supports multiple named connections for managing several Dolibarr instances from a single MCP server.

Install

git clone https://git.mokoconsulting.tech/MokoConsulting/dolibarr-api-mcp.git
cd dolibarr-api-mcp
npm install
npm run build
npm run setup

The setup wizard will prompt for your Dolibarr URL and API key. Run it again to add more connections — each site gets its own name, URL, and API key so you can manage multiple Dolibarr instances from a single MCP server.

Usage

Add to Claude Code

In your Claude Code MCP settings (~/.claude.json or project .mcp.json):

{
  "mcpServers": {
    "dolibarr": {
      "command": "node",
      "args": ["/path/to/dolibarr-api-mcp/dist/index.js"]
    }
  }
}

Configuration

The easiest way to configure is npm run setup, which walks you through it interactively. Run it multiple times to add connections for each Dolibarr instance you manage.

You can also create the config manually. Copy config.example.json to ~/.dolibarr-api-mcp.json and edit:

cp config.example.json ~/.dolibarr-api-mcp.json

Each connection needs the Dolibarr instance's base URL and an API key (generated in Dolibarr under Setup > Security > API or per-user settings):

{
  "defaultConnection": "production",
  "connections": {
    "local-dev": {
      "baseUrl": "https://localhost:8080",
      "apiKey": "your-dolibarr-api-key-here",
      "insecure": true
    },
    "production": {
      "baseUrl": "https://erp.example.com",
      "apiKey": "your-production-api-key"
    },
    "staging": {
      "baseUrl": "https://erp-staging.example.com",
      "apiKey": "your-staging-api-key"
    }
  }
}
Field Required Description
baseUrl Yes Dolibarr instance URL (no trailing slash)
apiKey Yes Dolibarr API key (DOLAPIKEY header auth)
insecure No Skip TLS verification for self-signed certs

Tools (89)

Third Parties

Tool Description
dolibarr_thirdparties_list List third parties with customer/supplier/prospect filters
dolibarr_thirdparty_get Get a single third party by ID
dolibarr_thirdparty_create Create a new third party
dolibarr_thirdparty_update Update an existing third party
dolibarr_thirdparty_delete Delete a third party

Invoices

Tool Description
dolibarr_invoices_list List invoices with status and customer filters
dolibarr_invoice_get Get a single invoice by ID
dolibarr_invoice_create Create a new invoice
dolibarr_invoice_add_line Add a line item to an invoice
dolibarr_invoice_validate Validate (finalize) a draft invoice
dolibarr_invoice_set_paid Mark an invoice as paid
dolibarr_invoice_payments List payments for an invoice
dolibarr_invoice_add_payment Add a payment to an invoice

Proposals (Quotes)

Tool Description
dolibarr_proposals_list List commercial proposals
dolibarr_proposal_get Get a single proposal by ID
dolibarr_proposal_create Create a new proposal
dolibarr_proposal_add_line Add a line item to a proposal
dolibarr_proposal_validate Validate a draft proposal
dolibarr_proposal_close Close a proposal (sign or refuse)

Orders

Tool Description
dolibarr_orders_list List customer orders
dolibarr_order_get Get a single order by ID
dolibarr_order_create Create a new order
dolibarr_order_add_line Add a line to a customer order
dolibarr_order_validate Validate a draft order

Products / Services

Tool Description
dolibarr_products_list List products and services with filters
dolibarr_product_get Get a single product by ID
dolibarr_product_create Create a new product or service
dolibarr_product_update Update a product or service
dolibarr_product_stock Get stock levels across warehouses

Contacts / Addresses

Tool Description
dolibarr_contacts_list List contacts/addresses
dolibarr_contact_get Get a single contact by ID
dolibarr_contact_create Create a new contact/address
dolibarr_contact_update Update a contact/address
dolibarr_contact_delete Delete a contact/address

Shipments

Tool Description
dolibarr_shipments_list List shipments (expeditions)
dolibarr_shipment_get Get a single shipment by ID
dolibarr_shipment_create Create a new shipment
dolibarr_shipment_validate Validate a draft shipment
dolibarr_shipment_close Close a shipment (mark as delivered)

Contracts / Subscriptions

Tool Description
dolibarr_contracts_list List contracts/subscriptions
dolibarr_contract_get Get a single contract by ID
dolibarr_contract_create Create a new contract
dolibarr_contract_validate Validate a draft contract

Interventions

Tool Description
dolibarr_interventions_list List interventions (field service)
dolibarr_intervention_get Get a single intervention by ID

Expense Reports

Tool Description
dolibarr_expensereports_list List expense reports
dolibarr_expensereport_get Get a single expense report by ID
dolibarr_expensereport_create Create a new expense report

Tickets (Helpdesk)

Tool Description
dolibarr_tickets_list List helpdesk tickets
dolibarr_ticket_get Get a single ticket by ID
dolibarr_ticket_create Create a new helpdesk ticket

Agenda / Events

Tool Description
dolibarr_agendaevents_list List agenda events
dolibarr_agendaevent_get Get a single agenda event by ID
dolibarr_agendaevent_create Create a new agenda event
dolibarr_agendaevent_update Update an agenda event

Documents

Tool Description
dolibarr_documents_list List documents attached to an object
dolibarr_document_download Download/get content of a document
dolibarr_document_builddoc Generate/build a document (e.g. PDF invoice)

Projects

Tool Description
dolibarr_projects_list List projects
dolibarr_project_get Get a single project by ID
dolibarr_project_create Create a new project
dolibarr_project_update Update a project

Tasks

Tool Description
dolibarr_tasks_list List project tasks
dolibarr_task_get Get a single task by ID
dolibarr_task_create Create a new project task
dolibarr_task_update Update a project task
dolibarr_task_timespent_list List time spent entries for a task
dolibarr_task_timespent_add Add time spent on a task

Members

Tool Description
dolibarr_members_list List association members
dolibarr_member_get Get a single member by ID

Stock / Warehouses

Tool Description
dolibarr_warehouses_list List warehouses
dolibarr_stockmovements_list List stock movements
dolibarr_stockmovement_create Create a stock movement (add/remove stock)

Other

Tool Description
dolibarr_users_list List Dolibarr users
dolibarr_user_get Get a single user by ID
dolibarr_user_create Create a new Dolibarr user
dolibarr_categories_list List categories by type
dolibarr_category_get Get a single category by ID
dolibarr_category_create Create a new category
dolibarr_bankaccounts_list List bank accounts
dolibarr_bankaccount_lines List transactions for a bank account
dolibarr_supplier_invoices_list List supplier invoices
dolibarr_supplier_orders_list List supplier/purchase orders
dolibarr_setup_company Get company/entity information
dolibarr_setup_dictionary Get dictionary entries (countries, currencies, payment types, etc.)
dolibarr_setup_modules List enabled Dolibarr modules
dolibarr_status Get Dolibarr version and status
dolibarr_api_request Raw API request to any endpoint
dolibarr_list_connections List configured connections

All tools accept an optional connection parameter to target a specific named connection.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

This project follows the Contributor Covenant Code of Conduct.

License

This project is licensed under the GNU General Public License v3.0 or later - see the LICENSE file for details.

Copyright © 2026 Moko Consulting hello@mokoconsulting.tech

Maintainers

@mokoconsulting-tech

For questions or support, please contact: hello@mokoconsulting.tech

Revision History

Date Version Author Notes
2026-05-07 0.0.1 jmiller Initial MCP server with Dolibarr REST API tools
S
Description
MCP server for Dolibarr ERP/CRM REST API operations
Readme
590 KiB
Languages
TypeScript 56.4%
Markdown 36.9%
JavaScript 2.7%
Makefile 2%
JSON 1.3%
Other 0.7%