Token导航 LogoToken导航TokenDH.com
Odoo Sh MCP Server logo
数据服务未说明官方级别未说明来源级核验

Odoo Sh MCP Server

MCP Server

基于SSH协议的Odoo.sh开发服务器,提供Git工作流工具和AI辅助开发功能,适用于Odoo自定义应用开发。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
数据分析JavaScriptClaudeAI代理Claude DesktopClaudeCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DalahmasDev

提供方

DalahmasDev

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Odoo.sh MCP服务器

🚀 基于SSH的Odoo模型上下文协议服务器-使用Git工作流工具在人工智能的帮助下构建自定义应用程序

![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org/) ![TypeScript](https://www.typescriptlang.org/) ](https://github.com/DalahmasDev/odoo-sh-mcp-server/issues) ](https://github.com/DalahmasDev/odoo-sh-mcp-server) ![PRs Welcome](CONTRIBUTING.md)

✨ 特性

核心操作(v1.0)

  • 🔐 基于SSH的访问:通过SSH密钥进行安全连接(不需要API令牌)
  • 🌿 转移操作:查看分支,获取当前分支,提交历史记录
  • 🏗️ 构建管理:触发器构建、监控状态、查看日志
  • 💾 数据库访问:列出PostgreSQL数据库和大小
  • 💻 系统监控:主机名、正常运行时间、磁盘、内存、版本
  • 🐍 奥多壳牌:在Odoo环境中执行Python代码

🆕 Git工作流和应用程序开发(v1.0中的新功能)

  • 📁 文件管理:使用base64编码创建、读取和更新文件
  • 📂 目录操作:为模块创建目录结构
  • 📖 Git状态:检查已修改、暂存和未跟踪的文件
  • ➕ 添加文件:提交阶段文件(单个或多个)
  • ✅ 提交:使用自定义消息提交更改
  • 🚀 Git推送:将提交推送到远程Odoo仓库
  • 🌿 Git结账:切换分支或创建新的特征分支
  • 🔄 Git拉取:从远程同步更改
  • 🛠️ 人工智能辅助开发:让AI代理构建完整的Odoo模块

目录

快速开始

# 1. Install dependencies
npm install

# 2. Configure environment
cp .env.example .env
# Edit .env and add your ODOO_SH_API_TOKEN

# 3. Build
npm run build

# 4. Add to your MCP client config (e.g., Claude Desktop)
# See Configuration section below

安装

先决条件

  • Node.js >= 18.0.0
  • npm (附带Node.js)
  • Odoo账户 具有SSH访问权限
  • OpenSSH 已安装客户端(包含在Windows 10+、macOS、Linux中)
  • MCP客户端 (Warp、Claude Desktop、Cline、Continue等)

步骤

  1. 克隆或下载此存储库
  1. 安装依赖项:
   npm install
  1. 设置SSH访问:

- 将SSH公钥添加到Odoo中(设置→ 合作者→ SSH密钥) - 从Odoo获取您的构建ID和主机名(格式: BUILD_ID@project-name.dev.odoo.com) - 将私钥保存到安全位置

  1. 构建项目:
   npm run build

配置

环境变量

创建一个 .env 文件或设置环境变量:

ODOO_SH_SSH_HOST=project-name.dev.odoo.com
ODOO_SH_SSH_USER=BUILD_ID              # e.g., 25357858
ODOO_SH_SSH_KEY_PATH=/path/to/ssh/key  # Absolute path to private key
ODOO_SH_SSH_PORT=22                    # Optional: default 22
ODOO_SH_SSH_PASSPHRASE=                # Optional: if key has passphrase
SSH_TIMEOUT=30000                      # Optional: milliseconds
LOG_LEVEL=info                         # Optional: debug, info, warn, error

🔐 安全提示:永远不要提交您的私人SSH密钥。使用绝对路径和安全权限(chmod 600)。

MCP客户端配置

克劳德桌面

编辑 claude_desktop_config.json:

{
  "mcpServers": {
    "odoo-sh": {
      "command": "node",
      "args": [
        "/absolute/path/to/Odoo.sh MCP/dist/index.js"
      ],
      "env": {
        "ODOO_SH_SSH_HOST": "project-name.dev.odoo.com",
        "ODOO_SH_SSH_USER": "BUILD_ID",
        "ODOO_SH_SSH_KEY_PATH": "/absolute/path/to/ssh/key"
      }
    }
  }
}

Cline(VSCode)

添加到VSCode设置:

{
  "cline.mcpServers": {
    "odoo-sh": {
      "command": "node",
      "args": ["/absolute/path/to/Odoo.sh MCP/dist/index.js"],
      "env": {
        "ODOO_SH_SSH_HOST": "${env:ODOO_SH_SSH_HOST}",
        "ODOO_SH_SSH_USER": "${env:ODOO_SH_SSH_USER}",
        "ODOO_SH_SSH_KEY_PATH": "${env:ODOO_SH_SSH_KEY_PATH}"
      }
    }
  }
}

备注:使用绝对路径 dist/index.js.

用法

配置后,您的AI助手可以直接使用Odoo工具:

交互示例

基本操作

检查项目信息:

"Show me my Odoo.sh project information"

检查构建状态:

"What's the status of recent builds?"

查看构建日志:

"Show me the recent Odoo logs"

构建自定义应用程序(新)

创建新的Odoo模块:

"Create a new custom Odoo module called 'my_custom_app' with the basic structure"

AI代理可以:

  1. 创建目录结构: my_custom_app/, my_custom_app/models/等等。
  2. 创建 __init__.py, __manifest__.py 文件
  3. 使用Python代码创建模型文件
  4. 创建XML视图文件
  5. 使用以下方式暂存所有文件 git add
  6. 用描述性信息提交
  7. 按下以触发Odoo.sh构建

修改现有模块:

"Add a new field 'phone' to the Partner model in my_custom_app"

完整的开发工作流程示例:

"I want to build a customer feedback module:
1. Create module structure for 'customer_feedback'
2. Add a Feedback model with fields: customer_id, rating, comment, date
3. Create list and form views
4. Add menu items
5. Commit and push to main branch"

可用工具

该服务器通过SSH为Odoo操作提供了19个工具,包括构建自定义应用程序的完整Git工作流支持:

项目和分支机构

  • get_project_info:获取包括分支列表在内的项目信息

- 返回:项目名称、存储库、分支列表 - 💡 使用此功能列出分支 (建议 list_branches)

  • get_current_branch:获取当前已签出的分支

- 返回:当前分支名称

  • list_branches:列出具有提交信息的分支

- 返回:带有上次提交哈希和消息的分支名称 - ⚠️ 已知问题:可能无法在某些MCP客户端中工作(使用 get_project_info 相反)

建筑

  • get_build_history:获取分支的提交/构建历史记录

- 参数: branch (例如“main”), limit (默认值:10) - 返回:提交哈希、作者、日期、消息

  • trigger_build:通过创建空提交触发新构建

- 参数: branch - 返回:git推送输出

数据库

  • list_databases:列出所有PostgreSQL数据库

- 返回:数据库名称和大小

原木和贝壳

  • get_logs:从服务器获取Odoo日志

- 参数: log_type (“odoo”、“install”、“pip”), lines (默认值:100) - 返回:带有时间戳的日志条目

  • execute_odoo_shell:在Odoo shell中执行Python代码

- 参数: python_code - 返回:shell输出

系统

  • get_system_info:获取系统信息

- 返回:主机名、正常运行时间、磁盘使用率、内存、Python版本、Odoo版本

Git工作流和文件管理(新增-用于构建自定义应用程序)

  • git_status:获取显示已修改、暂存和未跟踪文件的git状态

- 返回:git状态输出

  • write_file:创建或更新具有给定内容的文件

- 参数: filePath (相对于 ~/src/user), content - 返回:成功消息 - 💡 使用base64编码 通过SSH安全传输文件内容

  • read_file:读取文件内容

- 参数: filePath (相对于 ~/src/user) - 返回:文件内容

  • list_files:列出路径中的文件和目录

- 参数: dirPath (可选,默认值: .,相对于 ~/src/user) - 退货: ls -la 输出

  • create_directory:创建目录(包括父目录)

- 参数: dirPath (相对于 ~/src/user) - 返回:成功消息

  • git_add:提交阶段文件

- 参数: files (文件路径数组或 . 为所有人) - 返回:git add输出

  • git_commit:提交分阶段更改

- 参数: message - 返回:git提交输出

  • git_push:将提交推送到远程存储库

- 参数: branch (可选,默认为当前分支) - 返回:git推送输出

  • git_checkout:切换到分支或创建新分支

- 参数: branch, createNew (可选,默认值:false) - 返回:git checkout输出

  • git_pull:从远程存储库中提取更改

- 返回:git pull输出

提示词

常见任务的指导工作流程:

check_build_status

项目的全面构建状态检查:

  • 列出所有分支
  • 显示最近的版本
  • 突出显示故障
  • 显示构建趋势

用法: check_build_status 随着 project_id

deploy_workflow

分步部署指南:

  • 检查当前分支状态
  • 验证待处理的构建
  • 验证数据库备份
  • 指导部署
  • 提供验证步骤

用法: deploy_workflow 随着 project_idenvironment

发展

脚本

# Build TypeScript
npm run build

# Development mode (auto-rebuild)
npm run dev

# Run tests
npm test

# Watch tests
npm test:watch

# Lint code
npm run lint

# Format code
npm run format

项目结构

odoo-mcp-server/
├── src/
│   ├── index.ts          # MCP server implementation
│   └── odoo-client.ts    # Odoo.sh API client
├── tests/                # Test files (to be added)
├── docs/
│   ├── Runbook.md        # Setup and usage guide
│   ├── DECISIONS.md      # Architectural decisions
│   ├── Troubleshooting.md # Known issues
│   └── Docs-Index.md     # External references
├── dist/                 # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── .env.example

测试

测试位于 tests/ 目录。运行方式:

npm test

故障排除

常见问题

1.SSH连接失败

Error: SSH connection error

解决方案:

  • 验证SSH密钥路径是否正确且绝对
  • 检查密钥权限: chmod 600 /path/to/key (Unix)或 icacls (Windows)
  • 验证主机名格式: BUILD_ID@project-name.dev.odoo.com
  • 手动测试: ssh -i /path/to/key BUILD_ID@host

2.list_branches工具在Warp中不工作

Empty response from list_branches

解决方案:使用 get_project_info 相反,它返回分支列表,并在所有MCP客户端中可靠地工作。

3.防病毒阻止SSH命令(Windows)

Bitdefender: Malicious command line detected

解决方案:在防病毒设置中将SSH命令或项目目录列入白名单。

4.服务器未出现

  • 验证MCP客户端配置中的JSON语法
  • 检查绝对路径 dist/index.js
  • 验证是否设置了环境变量
  • 重新启动MCP客户端

5.未找到模块

Error: Cannot find module '@modelcontextprotocol/sdk/server/index.js'

解决方案:运行 npm installnpm run build

docs/Troubleshooting.md 了解更多问题和解决方案。

建筑

技术栈

  • 运行时:Node.js>=18.0.0
  • 语言:TypeScript 5.3
  • 协议:模型上下文协议(MCP)
  • SSH客户端:OpenSSH(子进程)
  • 验证:佐德
  • 运输标准: stdio

设计决策

关键架构决策记录在 docs/DECISIONS.mddocs/SSH-MIGRATION.md:

  • 十二月-20251107T160000Z-ssh-over-api:基于SSH的访问,而不是REST API
  • 为什么选择OpenSSH子进程而不是Node.js ssh2库
  • 如何解决Windows%逃逸问题
  • Git命令性能优化

贡献

欢迎投稿!拜托:

  1. 遵循现有代码样式(使用 npm run format)
  2. 为新功能添加测试
  3. 更新文档(README、Runbook、DECISIONS.md)
  4. 在故障诊断与排除.md中记录问题

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

链接

  • Odoo文件: https://www.odoo.com/documentation/17.0/administration/odoo_sh.html
  • MCP规范: https://spec.modelcontextprotocol.io/
  • MCP TypeScript SDK: https://github.com/modelcontextprotocol/typescript-sdk

______________________________________________________________________

由维护:Odoo MCP服务器贡献者\ 版本: 0.1.0

目录标签

目录标签

数据分析JavaScriptClaudeAI代理Odoo开发本地部署Git工作流AI辅助开发SSH协议数据库管理

支持客户端

Claude DesktopClaudeCline

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP