项目简介
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环境中。
- 环境要求: 确保您的Odoo环境满足以下条件:
- Odoo 18.0+
- Python 3.11+
- PostgreSQL 14+ (推荐使用pgvector支持)
- 克隆仓库: 将'odoo-llm'仓库克隆到您的Odoo插件路径下(例如,'your_odoo_path/addons/'):
git clone https://github.com/apexive/odoo-llm - 安装Python依赖: 进入克隆的仓库目录,安装必要的Python库:
特别注意,'llm_mcp_server'模块依赖'mcp'库,确保其已安装。cd odoo-llm pip install -r requirements.txt - 重启Odoo服务: 重启您的Odoo服务以加载新模块。
- 安装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。
基本使用方法
- 激活MCP服务器配置: 确保“LLM -> 配置 -> MCP服务器配置”中有一条记录被激活。
- 创建和启用Odoo工具: 在Odoo中创建或激活'llm.tool'记录(例如,一个查询产品信息的工具)。这些工具将通过MCP协议暴露给LLM客户端。
- 配置MCP客户端: 在您的LLM客户端(如Claude Desktop)中,按照上述“服务器配置”信息添加您的Odoo MCP服务器。
- 与LLM客户端交互: 客户端现在可以发送MCP请求,例如:
- 'initialize': 客户端与服务器握手,声明协议版本并获取服务器能力。
- 'tools/list': 客户端请求服务器暴露的所有工具列表。
- 'tools/call': 客户端调用Odoo中已注册的工具(例如,'search_products'),并传入必要的参数。服务器将执行相应的Odoo逻辑并将结果返回给LLM客户端。 通过这些步骤,您的LLM应用就可以与Odoo系统深度集成,利用Odoo的业务数据和功能。
信息
分类
商业系统