Dolibarr MCP服务器
Dolibarr MCP为Dolibarr提供模型上下文协议(MCP)接口 ERP/CRM。该项目反映了 prestashop-mcp: 一个异步API客户端,一个可用于生产的STDIO服务器,以及 文档。
设计说明: 在共享相同架构的同时,此服务器实现 专业搜索工具 (例如。, search_products_by_ref, resolve_product_ref)而不是单一的统一 get_ 工具。这种设计选择确保了通过Dolibarr的SQL API进行高效的服务器端过滤,防止代理意外加载数千条记录并超出上下文限制。
Claude Desktop和其他MCP感知工具可以使用服务器 在Dolibarr中管理客户、产品、发票、订单和联系人 例子
咨询捆绑 文件索引 深入了解 配置、API覆盖范围和贡献者工作流。
✨ 特性
- 全面ERP覆盖 –用户、客户、产品、发票、,
订单、联系人、项目和原始API访问。
- 高级搜索 –对产品、客户和项目进行服务器端过滤,以最大限度地减少代币使用和成本。
- 异步/等待HTTP客户端 –高效的Dolibarr API包装,具有结构化
错误处理。
- 已为MCP主机做好准备 –STDIO传输与克劳德桌面兼容
盒子的。
- 与prestashop mcp共享工作流程 –相同的开发人员人体工程学和
跨两个存储库的文档结构。
✅ 先决条件
- Python 3.8或更高版本。
- 访问启用REST API和个人API的Dolibarr安装
令牌。
📦 安装
Linux/macOS
git clone https://github.com/latinogino/dolibarr-mcp.git
cd dolibarr-mcp
python3 -m venv venv_dolibarr
source venv_dolibarr/bin/activate
pip install -e .
# Optional development extras
pip install -e '.[dev]'当虚拟环境处于活动状态时,使用以下命令记录Python可执行路径 which python.Claude Desktop必须使用此解释器启动MCP服务器。
Windows(PowerShell)
git clone https://github.com/latinogino/dolibarr-mcp.git
Set-Location dolibarr-mcp
py -3 -m venv venv_dolibarr
./venv_dolibarr/Scripts/Activate.ps1
pip install -e .
# Optional development extras (escape brackets in PowerShell)
pip install -e .`[dev`]跑 Get-Command python (或 Get-Command python.exe)而环境是 激活并记录绝对路径。Claude Desktop应使用此解释器 例如,在虚拟环境中 C:\\path\\to\\dolibarr-mcp\\venv_dolibarr\\Scripts\\python.exe.
Docker(可选)
docker compose up -d
# or
docker build -t dolibarr-mcp .
docker run -d \
-e DOLIBARR_URL=https://your-dolibarr.example.com/api/index.php \
-e DOLIBARR_API_KEY=YOUR_API_KEY \
dolibarr-mcp⚙️ 配置
环境变量
服务器从环境或 .env 文件。两者 DOLIBARR_URL 和 DOLIBARR_SHOP_URL 被接受作为基本API地址。
| 变量 | 描述 |
|---|---|
DOLIBARR_URL / DOLIBARR_SHOP_URL | 基本Dolibarr API端点,例如。 https://example.com/api/index.php。尾随斜线是自动处理的。 |
DOLIBARR_API_KEY | 个人Dolibarr API代币。 |
LOG_LEVEL | 可选日志详细程度(INFO, DEBUG, WARNING, …). |
MCP_TRANSPORT | 使用交通工具: stdio (默认)或 http 用于流式传输HTTP。 |
MCP_HTTP_HOST | 使用HTTP传输时要绑定的主机/接口(默认 0.0.0.0). |
MCP_HTTP_PORT | 使用HTTP传输时要绑定的端口(默认 8080). |
示例 .env:
DOLIBARR_URL=https://your-dolibarr.example.com/api/index.php
DOLIBARR_API_KEY=YOUR_API_KEY
LOG_LEVEL=INFOClaude桌面配置
将以下块添加到 claude_desktop_config.json,替换路径和 具有您自己价值观的凭据:
{
"mcpServers": {
"dolibarr": {
"command": "C:\\path\\to\\dolibarr-mcp\\venv_dolibarr\\Scripts\\python.exe",
"args": ["-m", "dolibarr_mcp.dolibarr_mcp_server"],
"cwd": "C:\\path\\to\\dolibarr-mcp",
"env": {
"DOLIBARR_SHOP_URL": "https://your-dolibarr.example.com",
"DOLIBARR_API_KEY": "YOUR_API_KEY"
}
}
}
}保存配置后重新启动Claude Desktop。MCP服务器读取 从Linux或macOS主机启动时,环境变量相同。
▶️ 用法
启动MCP服务器
默认情况下,服务器通过STDIO进行通信,因此请在前台从以下位置运行它 虚拟环境:
python -m dolibarr_mcp.dolibarr_mcp_server日志被写入stderr,以避免干扰MCP协议。保持 当Claude Desktop处于活动状态时,进程正在运行。
HTTP流模式(适用于Open WebUI或远程MCP客户端)
通过设置启用HTTP传输 MCP_TRANSPORT=http (以及可选 MCP_HTTP_HOST / MCP_HTTP_PORT).这使服务器在没有STDIO的情况下运行 并公开与Open WebUI兼容的Streamable HTTP传输:
MCP_TRANSPORT=http MCP_HTTP_PORT=8080 python -m dolibarr_mcp.dolibarr_mcp_server然后将Open WebUI的MCP配置指向 http://:8080/MCP 协议头(包括 mcp-protocol-version)由自动处理 打开WebUI的MCP客户端。
测试Dolibarr凭据
在将服务器连接到MCP主机之前,请使用独立连接检查:
python -m dolibarr_mcp.test_connection --url https://your-dolibarr.example.com/api/index.php --api-key YOUR_API_KEY当环境变量已经设置时,省略覆盖并运行 python -m dolibarr_mcp.test_connection.
🧪 发展
- 使用以下命令运行测试套件
pytest(参见docs/development.md
覆盖选项和Docker助手)。
- 可编辑的安装依赖于
src/布局和展示dolibarr-mcp
控制台入口点,实现向后兼容性。
- 存储库结构、工具和文档有意镜像
prestashop-mcp 保持 配套项目对齐。
📄 许可证
根据 MIT许可证.
