Tool reference
Over fifty tools, in two kinds. Read tools have no side effects. Write tools create or change something, and are additive and reversible. Destructive actions are not exposed over MCP (see Safety and permissions).
You do not call these by name. Your assistant picks the right tool from what you ask. The list below is so you know the surface, and so you can ask for something specific.
Servers
Section titled “Servers”A server is a virtual machine that hosts Odoo. It is pinned to one Odoo major version when it is created.
| Tool | Type | What it does |
|---|---|---|
list_servers | read | List your servers with status, name, and IP. |
get_server_stats | read | CPU, memory, disk, and PostgreSQL connection usage. |
get_server_version | read | Odoo major version, OS, PostgreSQL version, provisioning status. |
create_server | write | Provision a new server on Cloudpepper, a supported cloud, or attach your own over SSH. |
update_server_settings | write | Rename a server or rotate its SSH key. |
Instances
Section titled “Instances”An instance is a single Odoo database, with one URL. Many instances can share one server.
| Tool | Type | What it does |
|---|---|---|
list_instances | read | List instances with domain, status, server, and clone origin. |
get_instance_status | read | Live runtime detail from an SSH probe: Odoo process, database, workers. |
read_odoo_config | read | Read odoo.conf, with secrets redacted. |
list_odoo_users | read | List the Odoo users in an instance. |
create_instance | write | Create a new Odoo database, optionally from a backup or as a clone. |
start_instance | write | Start a stopped instance. |
restart_instance | write | Restart the Odoo service. Brief downtime. |
set_instance_workers | write | Adjust worker counts. Asks you to confirm the instance name. |
set_instance_redirects | write | Configure 301 redirect domains. |
update_instance_odoo | write | Update the Odoo core to a specific commit. Asks you to confirm the instance name. |
Backups
Section titled “Backups”| Tool | Type | What it does |
|---|---|---|
list_backups | read | List backups with status, time, size, and notes. |
get_backup_log | read | Full job log for one backup. |
list_backup_schedules | read | List scheduled backups, retention, and provider. |
list_backup_providers | read | List your backup destinations. |
create_backup | write | Take a fresh backup now. |
rename_backup | write | Edit a backup’s notes. |
create_backup_schedule | write | Schedule automated backups with a cadence and retention. |
update_backup_schedule | write | Change a schedule’s cadence, retention, or provider. |
add_backup_provider | write | Register a new destination (S3, GCS, SFTP). |
set_default_backup_provider | write | Set the default backup target. |
Modules
Section titled “Modules”| Tool | Type | What it does |
|---|---|---|
list_installed_modules | read | Addons installed in an instance. |
list_managed_modules | read | Git-managed addon sources attached to an instance. |
list_git_branches | read | Branches available in a connected repository. |
attach_git_addons | write | Attach a Git repo as an addon source and optionally install addons. |
update_module_branch | write | Pull the latest branch for an attached repo. |
set_module_auto_deploy | write | Turn automatic pull-on-deploy on or off. |
Logs and monitoring
Section titled “Logs and monitoring”| Tool | Type | What it does |
|---|---|---|
tail_instance_log | read | Tail or follow an instance’s logs. |
find_log_errors | read | Search the logs for errors matching a pattern. |
get_audit_logs | read | Who changed what, and when, in your account. |
Domains
Section titled “Domains”| Tool | Type | What it does |
|---|---|---|
check_domain | read | Check whether a free *.cloudpepper.site subdomain is available. |
generate_ssh_attach_key | write | Generate a one-time SSH key to attach your own server. |
PostgreSQL tuning
Section titled “PostgreSQL tuning”| Tool | Type | What it does |
|---|---|---|
get_postgres_config | read | List PostgreSQL parameters with current values, defaults, and which ones need a restart. |
tune_postgres | write | Change server-level PostgreSQL parameters. Previews first, rolls back automatically if PostgreSQL will not start, and asks before any restart. |
Query insights
Section titled “Query insights”These read your live database through a least-privilege, read-only role. Query text is redacted before it leaves your server.
| Tool | Type | What it does |
|---|---|---|
get_slow_queries | read | The heaviest queries from pg_stat_statements, sortable by total time, mean time, calls, or temp usage. |
get_query_plan | read | The EXPLAIN plan for one query. |
get_running_statements | read | What is running right now, from pg_stat_activity: long-runners, idle-in-transaction, and lock waits. |
Indexes
Section titled “Indexes”| Tool | Type | What it does |
|---|---|---|
get_index_health | read | Missing, unused, and duplicate indexes, plus Odoo relation fields with no index. |
get_index_status | read | Check one index by name: exists, valid, and whether it is safe to drop. |
create_index | write | Build a btree index online with CREATE INDEX CONCURRENTLY. Runs in the background. |
drop_index | write | Drop an unused index online. Returns the SQL to recreate it, so it is reversible. |
Safety and permissions
Section titled “Safety and permissions”Cloudpepper classifies every tool, and the hosted MCP server only runs the safe ones.
- Read tools have no side effects. They are always available.
- Write tools create or change something. They never delete your data. Every change is additive or reversible, and a few that affect a running service (worker counts, an Odoo core update) ask you to type the instance name first, the same as the dashboard does.
- Destructive tools are not available over MCP. Deleting an instance, deleting a backup, restoring a backup over a live database, and uninstalling a module are kept in the dashboard, where they need a typed confirmation. Restores and similar data-loss actions are also limited to staging clones, never your production instance.
Your assistant acts within your role. If you sign in as a read-only user, the assistant is read-only too. When you connect with your account, every action is recorded in your audit log under your name.
Long jobs, like provisioning a server or restoring a large backup, run in the background. Your assistant queues them and checks back, rather than holding the line for twenty minutes.
See also
Section titled “See also”Looking for raw HTTP endpoints? See the REST API reference.