项目简介

Odoo智能AI上下文协议服务(odoo-llm)是为Odoo企业管理系统设计的一套全面的LLM集成框架。其中包含的'llm_mcp_server'模块,实现了Model Context Protocol (MCP) 服务器,允许外部LLM客户端(如Claude Desktop、Letta等)以标准化的方式访问Odoo中的AI工具、资源和上下文信息。它通过JSON-RPC协议进行通信,支持认证、会话管理和能力声明,为LLM应用提供安全、可扩展的上下文服务。

主要功能点

  • MCP协议兼容: 完全符合MCP 2025-06-18协议规范,支持JSON-RPC 2.0。
  • 工具暴露与执行: 自动发现并动态暴露Odoo中注册的AI工具(llm.tool),允许LLM客户端通过'tools/call'方法调用Odoo内部功能,实现AI驱动的业务自动化。
  • 上下文信息提供: 能够向LLM客户端提供Odoo中的资源信息和会话上下文。
  • 会话管理: 支持有状态会话,通过'mcp-session-id'头部进行会话跟踪和管理。
  • 认证与授权: 实现基于Bearer Token的认证机制,将MCP请求关联到Odoo用户。
  • 能力声明: 通过'initialize'方法向客户端声明服务器支持的能力(如工具调用)。
  • 健康监控: 提供'/mcp/health'端点以监控服务器健康状态。

安装步骤

该项目是一个Odoo模块,需要安装在Odoo环境中。

  1. 环境要求: 确保您的Odoo环境满足以下条件:
    • Odoo 18.0+
    • Python 3.11+
    • PostgreSQL 14+ (推荐使用pgvector支持)
  2. 克隆仓库: 将'odoo-llm'仓库克隆到您的Odoo插件路径下(例如,'your_odoo_path/addons/'):
    git clone https://github.com/apexive/odoo-llm
  3. 安装Python依赖: 进入克隆的仓库目录,安装必要的Python库:
    cd odoo-llm
    pip install -r requirements.txt
    特别注意,'llm_mcp_server'模块依赖'mcp'库,确保其已安装。
  4. 重启Odoo服务: 重启您的Odoo服务以加载新模块。
  5. 安装Odoo模块: 在Odoo前端界面中,进入“应用程序”菜单,搜索并安装以下模块:
    • 'LLM Integration Base' ('llm')
    • 'LLM Tool' ('llm_tool')
    • 'LLM MCP Server' ('llm_mcp_server') (根据您的需求,还可以安装其他相关LLM模块,如'LLM Assistant'、'LLM Knowledge'等)

服务器配置

MCP客户端需要知道如何连接到MCP服务器。Odoo MCP服务器的默认路径是 '/mcp'。您需要告知MCP客户端以下信息:

{
  "name": "Odoo LLM MCP服务器",
  "command": "http://<您的Odoo实例IP或域名>:8069/mcp",
  "args": [],
  "description": "连接到Odoo的MCP服务器,用于访问Odoo功能和数据。",
  "environment": {
    "MCP_TOKEN": "可选:您的Odoo API密钥或会话令牌,用于认证。如果Odoo实例要求认证,客户端需要提供此令牌。"
  }
}
  • '<您的Odoo实例IP或域名>': 替换为您的Odoo实例可外部访问的IP地址或域名。
  • '8069': Odoo的默认HTTP端口,如果您的Odoo使用其他端口,请相应修改。
  • 'environment.MCP_TOKEN': 如果您的Odoo实例要求认证,这里应填写一个有效的Bearer Token。这通常是一个Odoo API密钥,或者通过Odoo的Session机制获取的令牌。

在Odoo内部,您还可以通过“LLM -> 配置 -> MCP服务器配置”来进一步配置服务器名称、版本、支持的协议版本以及外部可访问的URL。

基本使用方法

  1. 激活MCP服务器配置: 确保“LLM -> 配置 -> MCP服务器配置”中有一条记录被激活。
  2. 创建和启用Odoo工具: 在Odoo中创建或激活'llm.tool'记录(例如,一个查询产品信息的工具)。这些工具将通过MCP协议暴露给LLM客户端。
  3. 配置MCP客户端: 在您的LLM客户端(如Claude Desktop)中,按照上述“服务器配置”信息添加您的Odoo MCP服务器。
  4. 与LLM客户端交互: 客户端现在可以发送MCP请求,例如:
    • 'initialize': 客户端与服务器握手,声明协议版本并获取服务器能力。
    • 'tools/list': 客户端请求服务器暴露的所有工具列表。
    • 'tools/call': 客户端调用Odoo中已注册的工具(例如,'search_products'),并传入必要的参数。服务器将执行相应的Odoo逻辑并将结果返回给LLM客户端。 通过这些步骤,您的LLM应用就可以与Odoo系统深度集成,利用Odoo的业务数据和功能。

信息

分类

商业系统