Odoo.sh MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level: debug, info, warn, error (default: info) | |
| SSH_TIMEOUT | No | SSH timeout in milliseconds (default: 30000) | |
| ODOO_SH_SSH_HOST | Yes | SSH hostname for Odoo.sh (e.g., project-name.dev.odoo.com) | |
| ODOO_SH_SSH_PORT | No | SSH port (default: 22) | |
| ODOO_SH_SSH_USER | Yes | SSH user (build ID from Odoo.sh) | |
| ODOO_SH_SSH_KEY_PATH | Yes | Absolute path to SSH private key | |
| ODOO_SH_SSH_PASSPHRASE | No | Passphrase for SSH key (if required) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_project_infoC | Get information about the connected Odoo.sh project (via SSH) |
| list_branchesB | List all Git branches in the Odoo.sh project |
| get_current_branchA | Get the currently checked out branch |
| get_build_historyC | Get commit/build history for a specific branch |
| trigger_buildA | Trigger a new build by creating an empty commit and pushing |
| list_databasesA | List all PostgreSQL databases on the Odoo.sh instance |
| get_logsC | Get Odoo logs from the server |
| execute_odoo_shellC | Execute Python code in the Odoo shell environment |
| get_system_infoB | Get system information (hostname, uptime, disk, memory, versions) |
| git_statusA | Get git status showing modified, staged, and untracked files |
| write_fileC | Create or update a file with given content |
| read_fileC | Read the contents of a file |
| list_filesB | List files and directories in a path |
| create_directoryB | Create a directory (including parent directories) |
| git_addB | Stage files for commit |
| git_commitC | Commit staged changes |
| git_pushC | Push commits to remote repository |
| git_checkoutC | Switch to a branch or create a new branch |
| git_pullB | Pull changes from remote repository |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| check_build_status | Check the status of recent builds across all branches |
| deploy_workflow | Guide through the deployment workflow |
| investigate_errors | Investigate recent errors in Odoo logs |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Current Odoo.sh Project | Information about the connected Odoo.sh project |
TDQS
Scored across 19 tools
Most tools target clearly distinct actions: git operations, file operations, build/database/log queries, and shell execution are well separated. The only mild overlap is between get_project_info and get_system_info, both returning environment metadata, though their descriptions clarify the difference.
The majority of tools follow a verb_noun pattern (get_project_info, list_branches, write_file, create_directory, execute_odoo_shell). The git_ prefix group (git_status, git_add, git_commit) is internally consistent, though git_status and git_pull deviate slightly from the verb-first style.
19 tools is slightly above the ideal range but justified given the breadth of the domain (project/build management, databases, logs, shell, filesystem, and full git workflow). Each tool maps to a distinct capability rather than redundant variations.
The surface covers a full git lifecycle (status/add/commit/push/pull/checkout), file read/write/list/create, build triggering, logs, databases, and shell execution. Minor gaps exist, such as no file/directory delete or git diff, but core workflows are supported.