article
README
🚀 Odoo MCP 服务器
Odoo MCP 服务器提供对 Odoo 18.0(JSON - RPC)和 Odoo 提取 API 的高级、安全访问,可用于 OCR 文档解析。
🚀 快速开始
命令行方式
- 克隆仓库
git clone https://github.com/onlybets/odoo-mcp-server-unofficial.git cd odoo-mcp-server-unofficial - 配置凭证
cp .env.example .env # 编辑 .env 并填写您的 Odoo/提取凭证 - 使用 Cline 运行(无需自行托管)
- Cline 会自动在本地运行服务器。
- 只需在 Cline 中打开仓库并开始使用工具即可!
✨ 主要特性
提供对 Odoo 18.0(JSON - RPC)和 Odoo 提取 API 的高级、安全访问,可用于 OCR 文档解析。
📦 安装指南
依赖项
- Python 3.8+
- Flask
- Redis(可选,用于缓存)
安装命令
pip install flask redis
运行命令
python app.py
💻 使用示例
工具及 JSON 模式
1. list_models
返回当前用户可见的模型。
- 输入:无
- 输出
[
{"model": "res.partner", "name": "Contact"},
{"model": "crm.lead", "name": "Lead"}
]
2. get_fields
返回模型的字段及元数据。
- 输入
{ "model": "res.partner" }
- 输出
{
"id": {"string": "ID", "type": "integer", "required": true, "readonly": true},
"name": {"string": "Name", "type": "char", "required": true, "readonly": false}
}
3. search_read
从模型中搜索并读取记录。
- 输入
{
"model": "res.partner",
"domain": [["is_company", "=", true]],
"fields": ["id", "name", "email"],
"limit": 10
}
- 输出
[
{"id": 7, "name": "Acme Corp", "email": "info@acme.com"}
]
4. create_record
在模型中创建新记录。
- 输入
{
"model": "res.partner",
"values": {"name": "New Partner", "email": "new@partner.com"}
}
- 输出
{ "id": 42 }
5. update_record
更新模型中的一条或多条记录。
- 输入
{
"model": "res.partner",
"ids": [42],
"values": {"email": "updated@partner.com"}
}
- 输出
{ "success": true }
6. delete_record
删除模型中的一条或多条记录。
- 输入
{
"model": "res.partner",
"ids": [42]
}
- 输出
{ "success": true }
7. extract_parse
启动文档提取任务。
- 输入
{
"document_base64": "<base64-encoded-pdf>",
"doc_type": "invoice",
"version": "18.0"
}
- 输出
{ "status": "processing" }
8. extract_status
检查提取任务的状态。
- 输入
{
"task_id": "<id>"
}
- 输出
{
"task_id": "<id>",
"status": "completed",
"result": {"key": "value"}
}
🔧 技术细节
依赖项
- Python 3.8+
- Flask
- Redis(可选,用于缓存)
安装
pip install flask redis
运行
python app.py
微信扫一扫