Claude Code plugin · open source
Ship, fix and roll back by asking your agent
The Zenavo skills teach Claude Code how to deploy your projects, find out why a deploy failed, go back to a working version and manage environment variables. It works through a key you scope, and asks before it changes anything.
This page is also available in 简体中文, 繁體中文, 日本語, Español and Bahasa Indonesia.
Why did the last deploy of api fail?
zenavo-debug
- get_project shop
- list_deployments api
- get_job
- list_env api
The image built, but api exits on start: it reads DATABASE_URL, and the service has no variable by that name. Add it in the service's Variable tab so the value stays out of this chat, and I'll deploy again.
Install in three steps
Once per computer. The key stays on your machine, never in Claude Code's settings.
Install zenavo-mcp
The skills talk to Zenavo through zenavo-mcp, an open-source MCP server. Download the binary for your system and check it (the README shows how), or build it with Go 1.26+:
go install github.com/Zenavo-App/zenavo-mcp/cmd/zenavo-mcp@latestSign in and scope the key
zenavo-mcp loginThe console opens and asks you to approve. Check that the code matches your terminal, choose Deploy or Read only, and limit the key to the projects the agent works on. To only let it look, sign in with
--scope read.Add the plugin to Claude Code
claude plugin marketplace add Zenavo-App/zenavo-skillsclaude plugin install zenavo@zenavoThe plugin brings the five skills below and starts zenavo-mcp itself.
Five skills
Each one is a short, readable playbook in the zenavo-skills repository. Claude picks the right one from what you ask.
-
zenavo-deployAsks you firstDeploy a project or one service, follow the job, and check it came up healthy.
Deploy the api service of shop
-
zenavo-debugFind out why a deploy failed or a service crashes, from status, job output and logs, and propose a fix.
Why does the worker keep restarting?
-
zenavo-rollbackAsks you firstGo back to an earlier working deployment of a service or a whole project.
Roll web back to the previous version
-
zenavo-envAsks you firstAdd, change or remove environment variables, keeping the values out of the conversation where possible.
Set LOG_LEVEL to debug on the worker
-
zenavo-setupInstall and sign in to zenavo-mcp when the tools are missing or not signed in.
The Zenavo tools are not working
Other agents
Any MCP client can use the same server, with the same key and the same limits. The skills are made for Claude Code; elsewhere the agent gets the tools.
Claude Code, server only
If you only want the tools, without the plugin:
claude mcp add zenavo -- zenavo-mcpClaude Desktop, Cursor and others
Add the server to the client's MCP configuration (claude_desktop_config.json, .cursor/mcp.json, …):
{
"mcpServers": {
"zenavo": { "command": "zenavo-mcp" }
}
}What the agent can call
The tools zenavo-mcp gives the agent. What a key can do is enforced by the Zenavo API, not by the agent: a Read only key cannot deploy.
Read
whoamiThe account, teams and roles the key acts with, and its permissionlist_projectsProjects and their servicesget_projectServices, ports, domains, live state, the active job and deploy blockersget_logsThe newest log lines of a service, optionally filteredlist_deploymentsRecent deployments of a service, marking the current oneget_jobA job's status, progress and log; can wait for it to finish
Deploy permission
list_envNames of a service's environment variables, never their valuesdeployDeploy a project or one servicerollbackRun an earlier successful deployment againrestart_serviceRestart a service without rebuildingset_env / unset_envSet or remove one environment variable; the value is never shown back
Built to be handed a key
An agent with the Deploy permission can still deploy code that does anything your services can. So the key is narrow, and you stay in the loop.
It asks first
Deploys, rollbacks, restarts and variable changes wait for your yes. Tools that change something are marked, so your agent asks you before running them.
Values stay hidden
The agent sees variable names, never values. Logs reach it with the project's variable values already replaced, and marked as untrusted data.
A key you scope
Deploy or Read only, limited to some projects, expiring after 90 days. It is saved on your computer, not in the agent's settings.
On the record
Every change appears in your audit log under the key's name. Delete the key under Account settings → API Keys to cut it off at once.
There are no tools to delete projects, open a shell, read files or database rows, download backups, change servers, or touch billing and team members. Those stay in the console.