Zed on Ownkube
Zed Industries · Editor
Zed is a fast editor with a built-in agent panel that calls MCP context servers. Add Ownkube through mcp-remote and Zed's agent can deploy, inspect, and operate your app while you edit.
Connect in four steps
- 1
Install Zed
Get Zed on your machine if you do not have it yet.
installDownload Zed from zed.dev, then open settings.json.
- 2
Add the Ownkube MCP server
This uses mcp-remote, a small bridge that connects a local (stdio) MCP client to the remote endpoint and runs the browser sign in for you. It needs Node and npx on your machine.
settings.json{ "context_servers": { "ownkube": { "source": "custom", "command": "npx", "args": ["-y", "mcp-remote", "https://app.ownkube.io/api/mcp"] } } } - 3
Authorize in your browser
Save the settings and open the agent panel. mcp-remote opens a browser tab for you to sign in and pick an organization, then Zed lists the ownkube tools.
- 4
Deploy your first app
Open your project and ask in plain language. The agent picks a region, deploys on Ownkube Compute, and hands you back a live URL.
promptDeploy this project to Ownkube Compute and give me the live URL.
Setup menus and config paths can shift as each tool updates. The endpoint and the browser sign in never change. When in doubt, open the Zed context servers docs.
One endpoint, one sign in
- Endpoint
https://app.ownkube.io/api/mcp- Auth
- OAuth 2.1 with a browser sign in and an organization picker. There is no API key to paste. You approve access once and can revoke it any time.
- Transport
- Streamable HTTP. The server reports itself as "ownkube".
Ask Zed to
- Deploy this repo to Ownkube Compute and give me the live URL.
- Add a managed Postgres database and wire the connection string into my app.
- Tail the logs for my api service and tell me why it keeps restarting.
- Set a CPU and memory limit on my web service, then show the projected monthly cost.
- Roll back my last deploy to the previous healthy revision.
- Spin up a Valkey cache and connect it to my app.
- Create an alert that fires when my worker restarts more than three times in ten minutes.
- Add a scheduled job that runs my cleanup script every night at 2am UTC.
- Check my wallet balance and top it up if it is under five dollars.
- Set up a staging environment that mirrors production.
What the agent can reach
The agent loads tools on demand. It does not need the whole catalog in context to start. It searches for the tool it needs and calls it.
create_deployment, list_deployments, get_deployment_status, restart_deployment, rollback_deployment get_deployment_logs, get_deployment_telemetry, get_deployment_observability, get_build_logs create_deployment (postgres or valkey), get_database_telemetry, get_cache_telemetry list_clusters, create_cluster, connect_aws_account, list_regions create_alert_rule, list_alert_rules, list_alert_firings link_custom_domain, verify_custom_domain, list_custom_domains get_wallet, top_up_wallet, get_current_usage, get_projected_month_cost Resetting a database password and point-in-time database recovery stay in the okctl command-line client by design, so the agent cannot run them.
Common workflows
Deploy a new app
- 01 Ask the agent to deploy the repo you are in.
- 02 It picks an Ownkube Compute region, so you need no cloud account.
- 03 It creates the deployment and returns the live URL.
- 04 Ask it to set environment variables and it applies them in place.
Add a Postgres database
- 01 Ask for a managed Postgres database next to your app.
- 02 The agent creates the database in the same region.
- 03 It reads back the host and port and sets the connection string as an env var.
- 04 Password resets and point-in-time recovery stay in okctl by design.
Debug a failing deploy
- 01 Ask why a service is unhealthy.
- 02 The agent pulls recent logs and the deploy status.
- 03 It explains the failure in plain language.
- 04 Ask it to roll back and it returns you to the last healthy revision.
Right-size and cap spend
- 01 Ask what the app is costing this month.
- 02 The agent reads current usage and the projected month cost.
- 03 It sets CPU and memory limits, or switches to a flat-price reserved box.
- 04 Ask it to top up the wallet so nothing pauses.
Tips for a smooth setup
- Sign in once in the browser. The access token is scoped to the organization you pick, and you can switch per request.
- Say "use Ownkube Compute" to deploy with no cloud account and no cluster to provision.
- Ask the agent to confirm its plan before it creates, scales, or destroys anything.
- Every read tool returns structured data, so the agent can chain results without guessing.
- Resetting a database password and point-in-time recovery stay in okctl, where the agent cannot reach them.
Questions
Something else? Email support@ownkube.io.
How do I give my agent access to Ownkube?
Add the Ownkube MCP server at https://app.ownkube.io/api/mcp, then sign in through your browser and pick an organization. There is no API key to paste. Your agent talks to the same platform the dashboard does.
Is it safe to let an agent operate my account?
Access uses OAuth 2.1 with PKCE and an org-scoped consent screen that you approve in the browser. You can revoke a connection at any time. Destructive database actions, like resetting a password or point-in-time recovery, are deliberately kept out of the agent surface.
Do I need a cluster or a cloud account first?
No. Ownkube Compute runs the compute for you, so the agent picks a region and deploys. You can connect your own AWS account later if you want to run the same app there.
What can the agent actually do?
Deploy web apps, workers, scheduled jobs, Postgres databases, and Valkey caches, read logs and metrics, manage custom domains and alerts, and check billing. It cannot reset a database password or run point-in-time database recovery.
Which organization does it act on?
The one you choose on the consent screen. If you belong to several, you can pass an organization explicitly per request, and the agent falls back to your consented org otherwise.
Troubleshooting
The agent cannot reach the server.
Confirm the URL is exactly https://app.ownkube.io/api/mcp with https and no trailing slash. The transport is Streamable HTTP.
The browser sign in never opened.
The first connection opens a browser tab to authorize. If nothing opened, trigger the connection again and allow the tab. Terminal clients use a local loopback callback, so let it bind a localhost port.
You see a "no organization" error.
Re-run the consent step and pick an organization, or pass the organization id explicitly in your request. Consent binds the connection to one org until you change it.
Calls started failing after a while.
The access token expired. Reconnect and the client re-runs the browser sign in to mint a fresh token.