项目简介
Odoo Intelligence MCP 服务器是一个专门为Odoo项目设计的Model Context Protocol (MCP) 后端。它通过提供一系列强大的工具,使大型语言模型(LLM)客户端能够深入理解、分析和操作Odoo环境。核心功能包括对Odoo模型、字段进行查询和分析,执行代码,管理Docker容器中的Odoo服务,以及搜索Odoo代码和模块结构。
主要功能点
- 深度Odoo分析与查询: 提供丰富的工具来查询Odoo模型、字段、关系、继承链、视图使用情况和性能问题。
- 代码与文件系统操作: 能够搜索Odoo代码库(支持Python、XML等文件类型)、查找特定文件、读取文件内容,甚至执行Python代码片段。
- Odoo环境管理: 支持检查Odoo Docker容器状态、重启指定服务,以及更新或安装Odoo模块。
- 安全与权限检查: 提供工具来分析用户在特定模型和记录上的CRUD(创建、读取、更新、删除)权限。
- 模块结构与依赖分析: 详细解析Odoo模块的内部结构(如模型文件、视图文件)及其依赖关系。
- 动态字段与装饰器分析: 识别和分析Odoo模型中的计算字段、关联字段以及各种API装饰器(如'api.depends')。
- 分页与过滤: 所有列表型操作都支持分页和客户端过滤,优化大型数据集的展示。
安装步骤
- 前提条件: 确保您的系统已安装 Python 3.12+ 和 'uv' (一个快速的Python包管理器)。
- 项目克隆: 将 'odoo-intelligence-mcp' 仓库克隆到本地。
- 依赖安装: 在项目根目录下,运行以下命令安装所有依赖:
uv sync - Docker环境: 确保您有一个运行中的Odoo Docker环境,其容器名称(例如 'odoo-web-1', 'odoo-script-runner-1' 等)与 '.env' 或环境变量中配置的 'ODOO_PROJECT_NAME' 前缀一致。服务器将通过Docker与Odoo实例通信。
服务器配置
此MCP服务器是为MCP客户端(如Claude Code/Claude Desktop)设计的后端服务。您需要将服务器的启动命令配置到您的MCP客户端中,以便客户端能够连接并调用服务器提供的功能。
以下是一个示例配置,您应根据您的实际安装路径调整:
{ "command": "uv", "args": ["run", "--project", "/path/to/odoo-intelligence-mcp", "odoo-intelligence-mcp"] }
- 'command': 指定用于运行MCP服务器的可执行文件。这里是 'uv',因为 'odoo-intelligence-mcp' 项目的运行依赖于 'uv'。
- 'args': 提供给 'uv' 命令的参数列表。
- 'run': 'uv' 的子命令,用于运行项目。
- '--project /path/to/odoo-intelligence-mcp': 指定 'odoo-intelligence-mcp' 仓库的绝对路径,确保 'uv' 在正确的项目环境中解析依赖并运行。请务必将 '/path/to/odoo-intelligence-mcp' 替换为您的实际路径。
- 'odoo-intelligence-mcp': 这是在 'pyproject.toml' 中定义的脚本入口点,用于启动MCP服务器逻辑。
配置完成后,请根据您的MCP客户端的指示重启客户端,以使更改生效。
环境变量配置:
- 您可以在MCP客户端启动的环境中设置环境变量,或者在项目根目录创建 '.env' 文件来覆盖默认配置。
- 常用的环境变量包括:
- 'ODOO_DB_NAME': Odoo数据库名称 (默认为 'odoo')
- 'ODOO_ADDONS_PATH': Odoo模块路径 (默认为 '/opt/project/addons,/odoo/addons,/volumes/enterprise')
- 'ODOO_PROJECT_NAME': Odoo Docker容器前缀 (默认为 'odoo')。例如,如果 'ODOO_PROJECT_NAME="my_odoo"', 则容器名称将是 'my_odoo-web-1' 等。
- 'ODOO_MCP_ENHANCED_ERRORS=true':启用增强的错误负载,为LLM提供更具洞察力的错误诊断和建议。
基本使用方法
一旦MCP服务器成功配置并运行,您的MCP客户端就可以通过调用其暴露的工具来进行Odoo相关的操作。例如:
- 查询Odoo模型信息: 调用 'model_query' 工具,'operation' 设置为 '"info"', 'model_name' 设置为 '"sale.order"'。
- 搜索Odoo代码: 调用 'search_code' 工具,'pattern' 设置为 'def _compute', 'file_type' 设置为 '"py"'。
- 检查用户权限: 调用 'permission_checker' 工具,'user' 设置为 '"admin"', 'model' 设置为 '"res.partner"', 'operation' 设置为 '"read"'。
这些工具将返回结构化的JSON响应,供您的MCP客户端进一步处理和展示。
信息
分类
开发者工具