Skip to content

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.

A server is a virtual machine that hosts Odoo. It is pinned to one Odoo major version when it is created.

ToolTypeWhat it does
list_serversreadList your servers with status, name, and IP.
get_server_statsreadCPU, memory, disk, and PostgreSQL connection usage.
get_server_versionreadOdoo major version, OS, PostgreSQL version, provisioning status.
create_serverwriteProvision a new server on Cloudpepper, a supported cloud, or attach your own over SSH.
update_server_settingswriteRename a server or rotate its SSH key.

An instance is a single Odoo database, with one URL. Many instances can share one server.

ToolTypeWhat it does
list_instancesreadList instances with domain, status, server, and clone origin.
get_instance_statusreadLive runtime detail from an SSH probe: Odoo process, database, workers.
read_odoo_configreadRead odoo.conf, with secrets redacted.
list_odoo_usersreadList the Odoo users in an instance.
create_instancewriteCreate a new Odoo database, optionally from a backup or as a clone.
start_instancewriteStart a stopped instance.
restart_instancewriteRestart the Odoo service. Brief downtime.
set_instance_workerswriteAdjust worker counts. Asks you to confirm the instance name.
set_instance_redirectswriteConfigure 301 redirect domains.
update_instance_odoowriteUpdate the Odoo core to a specific commit. Asks you to confirm the instance name.
ToolTypeWhat it does
list_backupsreadList backups with status, time, size, and notes.
get_backup_logreadFull job log for one backup.
list_backup_schedulesreadList scheduled backups, retention, and provider.
list_backup_providersreadList your backup destinations.
create_backupwriteTake a fresh backup now.
rename_backupwriteEdit a backup’s notes.
create_backup_schedulewriteSchedule automated backups with a cadence and retention.
update_backup_schedulewriteChange a schedule’s cadence, retention, or provider.
add_backup_providerwriteRegister a new destination (S3, GCS, SFTP).
set_default_backup_providerwriteSet the default backup target.
ToolTypeWhat it does
list_installed_modulesreadAddons installed in an instance.
list_managed_modulesreadGit-managed addon sources attached to an instance.
list_git_branchesreadBranches available in a connected repository.
attach_git_addonswriteAttach a Git repo as an addon source and optionally install addons.
update_module_branchwritePull the latest branch for an attached repo.
set_module_auto_deploywriteTurn automatic pull-on-deploy on or off.
ToolTypeWhat it does
tail_instance_logreadTail or follow an instance’s logs.
find_log_errorsreadSearch the logs for errors matching a pattern.
get_audit_logsreadWho changed what, and when, in your account.
ToolTypeWhat it does
check_domainreadCheck whether a free *.cloudpepper.site subdomain is available.
generate_ssh_attach_keywriteGenerate a one-time SSH key to attach your own server.
ToolTypeWhat it does
get_postgres_configreadList PostgreSQL parameters with current values, defaults, and which ones need a restart.
tune_postgreswriteChange server-level PostgreSQL parameters. Previews first, rolls back automatically if PostgreSQL will not start, and asks before any restart.

These read your live database through a least-privilege, read-only role. Query text is redacted before it leaves your server.

ToolTypeWhat it does
get_slow_queriesreadThe heaviest queries from pg_stat_statements, sortable by total time, mean time, calls, or temp usage.
get_query_planreadThe EXPLAIN plan for one query.
get_running_statementsreadWhat is running right now, from pg_stat_activity: long-runners, idle-in-transaction, and lock waits.
ToolTypeWhat it does
get_index_healthreadMissing, unused, and duplicate indexes, plus Odoo relation fields with no index.
get_index_statusreadCheck one index by name: exists, valid, and whether it is safe to drop.
create_indexwriteBuild a btree index online with CREATE INDEX CONCURRENTLY. Runs in the background.
drop_indexwriteDrop an unused index online. Returns the SQL to recreate it, so it is reversible.

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.

Looking for raw HTTP endpoints? See the REST API reference.