Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

run.zero

REMOTE · API.RUN-ZERO.DE

Deploy apps, APIs and Postgres from your AI agent. EU PaaS hosted in Germany, OAuth sign-in.

Available components

79 Trust /100

Last scanned (1 hour ago)

Scores higher than 79% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Cloud Infrastructure

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability74
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6408 tokens (~128/item across 50 items; 50 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety97
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 7 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "runzero_deploy_preview" implies "deploy" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 51 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +41
    • Transport: unverified → pass ▲ security
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Authorization: Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. security
    • MCP protocol: unverified → pass ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Schema quality: fail functional
    • First check of Destructive annotations: 88 functional
    • First check of Tool coverage: 100 functional
  • 4 Nov 26 38

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.run-zero.de/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.run-zero.de CN=YR1,O=Let's Encrypt,C=US 3 Nov 2026 1 Feb 2027 RSA 2048 SHA256-RSA 5e1fcd43279979fa17760c9c8650ffb5723
SANs: api.run-zero.de
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.run-zero.de. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
de. present 26755 8 Verified
run-zero.de. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://api.run-zero.de/.well-known/oauth-protected-resource/mcp"

Bearer resource_metadata="https://api.run-zero.de/.well-known/oauth-protected-resource/mcp"
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), payment=(), usb=()

Protected resource metadata

Document https://api.run-zero.de/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://api.run-zero.de/mcp
Authorisation server https://auth.itdone.cloud/realms/itdone

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.run-zero.de/mcp Verified 200
http (plaintext) http://api.run-zero.de/mcp HTTPS enforced 301 https://api.run-zero.de/mcp
MCP tools · 50 exposed · ~5,678 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
runzero_activate_version ~177

Put an earlier version back online — this CHANGES what visitors see. Only do this when the user explicitly asks to go back; never on your own initiative after a failed build (fix the code instead). While an older version is active, new builds are built but NOT published, until you call this again with image "latest". If the service has a database, the container goes back but the data does not — say so and pass acknowledge_data only after the user confirms.

NameTypeReqDescription
acknowledge_databoolean–Required when the service has an addon: confirms the database is not rolled back
appstringyesName of the app
imagestringyesImage from runzero_list_versions, or "latest" to follow new builds again
servicestring–Service name (default: the only service)

No output schema declared.

No examples provided.

runzero_add_service ~153

Add a new service to an app. Clones the repo, builds with buildpacks, and deploys. The web process must listen on $PORT.

NameTypeReqDescription
appstringyesName of the app
branchstring–Git branch (default: main)
git_tokenstring–GitHub PAT for private repos
namestringyesService name (3-30 chars, lowercase)
pathstring–Subdirectory inside the repo for monorepo builds
portinteger–Container port to expose (default: 8080)
replicasinteger–Replica count (default: 1)
repostringyesGit repository URL

No output schema declared.

No examples provided.

runzero_adopt_template ~133

Create a NEW app as a full copy of a template from runzero_list_templates: app + repo + running instance, owned by the caller. Use this INSTEAD of runzero_create_app when a template matches the request, then adapt the copy (texts, colors, images — placeholder assets keep their paths and get overwritten). The copy provisions asynchronously; follow with runzero_wait_for_build as usual.

NameTypeReqDescription
namestring–Name for the new app (short kebab-case, derived from the subject)
sourceSlugstringyesSlug of the template (from runzero_list_templates)

No output schema declared.

No examples provided.

runzero_backup_volume ~75

Start a backup of the persistent volume now, on top of the automatic daily one. The service keeps running. It runs in the background; runzero_volume_status lists it once it is finished.

NameTypeReqDescription
appstringyesName of the app
servicestring–Service name (default: the only service)

No output schema declared.

No examples provided.

runzero_create_app ~165

Create a new app. Optionally links to a Git repository — if no repo is given, you can attach one later.

NameTypeReqDescription
branchstring–Git branch (default: main)
companionOfstring–Name/slug of an existing app this one is a companion of (e.g. a preview or staging environment, or an A/B variant). The new app reuses the parent's repo and joins a shared project so the two show up…
namestringyesApp name (3-30 chars, lowercase, letters/numbers/hyphens)
repostring–Git repository URL (https://github.com/org/repo)

No output schema declared.

No examples provided.

runzero_create_identity_provider ~209

Add an external login provider (Google, GitHub, Microsoft, generic OIDC/SAML) to the app's login realm, so end-users can sign in with it. You need an OAuth client id/secret from the provider first. IMPORTANT: the response contains a redirect URI that the user must register in the provider's OAuth app — surface it to them. For generic 'oidc' also pass authorization_url and token_url.

NameTypeReqDescription
aliasstringyesShort id, e.g. "google" (lowercase, digits, -)
appstringyesName of the app
authorization_urlstring–Generic OIDC only
client_idstringyesOAuth client id from the provider
client_secretstringyesOAuth client secret from the provider
display_namestring–Button label shown on the login page
provider_idstringyesProvider type
token_urlstring–Generic OIDC only

No output schema declared.

No examples provided.

runzero_create_user ~93

Create an end-user in the app's login realm. Returns the generated password ONCE if none is given — relay it to the user, it cannot be retrieved later.

NameTypeReqDescription
appstringyesName of the app
emailstring–Email address
passwordstring–Initial password (generated if omitted)
usernamestringyesUsername (letters, digits, . _ -)

No output schema declared.

No examples provided.

runzero_db_query ~158

Run one SQL statement against an app's PostgreSQL addon (owner/admin only). Read-only by default: the statement runs in a READ ONLY transaction that is rolled back. With allow_write=true it CAN WRITE: INSERT/UPDATE/DELETE and DDL (DROP, ALTER, TRUNCATE) are committed immediately and cannot be undone. Before setting allow_write, show the user the exact SQL and get their explicit confirmation. Results are capped at 1000 rows; statements time out after 15s.

NameTypeReqDescription
allow_writeboolean–Must be true for INSERT/UPDATE/DELETE/DDL; default false = read-only
appstringyesName of the app
sqlstringyesA single SQL statement

No output schema declared.

No examples provided.

runzero_delete_app ~64

Permanently delete an app with all its services, addons (including database data), secrets and domains. Irreversible: only on an explicit request, and name the app back to the user before calling.

NameTypeReqDescription
namestringyesName of the app to delete

No output schema declared.

No examples provided.

runzero_delete_secret ~67

Delete a single secret from an app or a service. Affected services are redeployed automatically.

NameTypeReqDescription
appstringyesName of the app
keystringyesSecret key to delete
servicestring–Service scope. Omit for app-wide secrets.

No output schema declared.

No examples provided.

runzero_delete_service ~89

Permanently delete one service of an app: its running containers, its public URL and its configuration. Irreversible, and it also deletes the persistent volume of the service with all its backups; to only stop it, scale it to 0 with runzero_scale_service.

NameTypeReqDescription
appstringyesName of the app
servicestringyesName of the service to delete

No output schema declared.

No examples provided.

runzero_delete_user ~76

Permanently delete an end-user (account, sessions, login data) from the app's login realm. Irreversible; to only block the login use runzero_set_user_enabled.

NameTypeReqDescription
appstringyesName of the app
user_idstringyesKeycloak user id (from runzero_list_users)

No output schema declared.

No examples provided.

runzero_deploy ~123

Deploy an app. Fetches the repo and checks for run-zero.yaml (or the older itdone.yaml). If found, syncs all services + addons + domains from config. If not, deploys the repo as a single service. Services missing from the config are scaled to 0; with prune=true they are DELETED. Run runzero_deploy_preview first to see the diff.

NameTypeReqDescription
appstringyesName of the app
pruneboolean–Delete services not present in config (default: false → scale to 0 instead)

No output schema declared.

No examples provided.

runzero_deploy_preview ~45

Preview what a deploy would change without making any changes. Use this before runzero_deploy to verify the diff.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_describe_addon ~65

Show exactly which environment variables an addon injects into an attached service, straight from the platform (the source of truth — use this instead of guessing env var names). Call it BEFORE writing code that reads addon credentials.

NameTypeReqDescription
typestringyesAddon type

No output schema declared.

No examples provided.

runzero_generate_image ~152

Generate an image with AI (FLUX) and commit it into the app's repo. Costs credits. Use for hero images, backgrounds, illustrations. The file is committed at the given path (e.g. assets/hero.jpg), replacing a file already there, and a rebuild is triggered; reference it in the code afterwards. The prompt is sent to Black Forest Labs (EU endpoint).

NameTypeReqDescription
appstringyesName of the app
aspect_ratiostring–Aspect ratio (default: 16:9)
pathstringyesTarget path in the repo, e.g. assets/hero.jpg (.png for PNG)
promptstringyesWhat the image should show

No output schema declared.

No examples provided.

runzero_get_app ~55

Get one app: slug, status, publish mode, services (URL, replicas, health, env var NAMES), addons, domains. Secret values are never returned.

NameTypeReqDescription
namestringyesName of the app

No output schema declared.

No examples provided.

runzero_get_build_logs ~104

Get the full log stream for a specific build (all kpack steps concatenated). Use runzero_list_builds first to find the build id.

NameTypeReqDescription
appstringyesName of the app
build_idstringyesBuild id from runzero_list_builds
tailinteger–Number of log lines from the END (default: 120). A failed build explains itself in its last lines; raise only if they do not.

No output schema declared.

No examples provided.

runzero_get_help ~91

Look up structured guidance on platform concepts and conventions. Topics: workflow, files, addons, procfile, domains. Call this whenever you need to understand addons, the Procfile/PORT convention, or the typical workflow for a new app. Returns markdown.

NameTypeReqDescription
topicstring–One of: workflow, files, addons, procfile, domains. Omit to get a list of available topics.

No output schema declared.

No examples provided.

runzero_get_legal_profile ~90

Get the user's saved legal profile (their Impressum details: name/company, address, contact, and for a company the representative, register and VAT id). Read this BEFORE asking the user for Impressum data, so you reuse what they already gave and only ask for what is missing. Returns the profile (or null) and imprintReady = whether it has the §5 DDG minimum.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

runzero_get_logs ~86

Get the runtime log output of one service (stdout/stderr of its running containers), last N lines.

NameTypeReqDescription
appstringyesName of the app
servicestringyesName of the service
tailinteger–Number of log lines (default: 60 — the error is in the last lines; raise only if they do not explain it)

No output schema declared.

No examples provided.

runzero_get_metrics ~93

CPU and memory usage of a service over a time window (default last hour). Returns per-pod current/min/max/avg — CPU in millicores, memory in MiB — not raw time series, to stay compact.

NameTypeReqDescription
appstringyesName of the app
rangestring–Time window (default: 1h)
servicestringyesName of the service

No output schema declared.

No examples provided.

runzero_list_apps ~54

List the apps the authenticated user has access to (own + collaborated), newest first — one compact row each (name, slug, url, kind, status, flags). Details of one app: runzero_get_app.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

runzero_list_builds ~67

List recent build records for an app. Returns kpack Build status (success/failed/running) per service. To WAIT for a build to finish, use runzero_wait_for_build instead of calling this in a loop.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_list_files ~58

List all files in the app's Git repository (platform-managed repos only). Optionally filter by path prefix.

NameTypeReqDescription
appstringyesName of the app
pathstring–Path prefix filter (e.g. src/)

No output schema declared.

No examples provided.

runzero_list_identity_providers ~48

List external login providers (Google, GitHub, …) configured on the app's login realm. Secrets are never returned.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_list_releases ~105

What the user has PUBLISHED, newest first, with the sentence they described each change with, and which one visitors see right now. This is the list to use when someone says "wie letzte Woche" or "vor der Umgestaltung" — not runzero_list_versions, which lists every build including the platform's own bookkeeping commits and is unreadable for a person. Also reports whether something is built and waiting.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_list_secrets ~44

List the secret keys for an app (values are never returned). Includes both app-wide and per-service secrets.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_list_services ~42

List the services (runtime processes) of an app with their build source, port, replicas and status.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_list_templates ~95

List the curated template library: finished, deployed page designs (landing pages, shops, portfolios …) that can be adopted as the starting point of a NEW app instead of building from scratch. Each entry has a live URL and a screenshot URL plus kind/industries/tags for matching. Adopting a matching template is far cheaper and better-looking than writing a page from zero — check here FIRST on any first build.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

runzero_list_users ~50

List the end-users of an app's login realm (requires the app's keycloak addon). Returns id, username, email and enabled state.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_list_versions ~135

Earlier versions of a service that can be put back online, newest first. Each entry has an `image` (pass it to runzero_activate_version or runzero_preview_version), when it was built, and `summary` — the commit message, i.e. what changed. `active: true` marks what is online now. Use this when the user refers to an earlier state ("wie gestern", "vor der Umgestaltung"). Omit `service` when the app has only one.

NameTypeReqDescription
appstringyesName of the app
servicestring–Service name (default: the only service)

No output schema declared.

No examples provided.

runzero_preview_version ~139

Show an earlier version under a SECOND address without touching the live site — use this whenever the user wants to look before deciding. Returns a url; the pod needs a few seconds, so a first request may fail — retry once. Pass `stop: true` (without `image`) to tear the preview down again; it costs nothing once stopped.

NameTypeReqDescription
appstringyesName of the app
imagestring–Image of the version to show, from runzero_list_versions
servicestring–Service name (default: the only service)
stopboolean–Remove the preview instead of creating one

No output schema declared.

No examples provided.

runzero_publish ~141

Put the waiting changes on the real site — this is what VISITORS see, so only ever on an explicit request ("mach das live", "veröffentliche das"), never on your own initiative after finishing a change. Write `description` in the user's own words and in their language ("Tag der offenen Tür angekündigt"), because that sentence is what they will read next month when they want to go back. Only for apps that publish on request; an app that publishes automatically has nothing to publish.

NameTypeReqDescription
appstringyesName of the app
descriptionstringyesWhat changed, in the user's words — shown in their version list

No output schema declared.

No examples provided.

runzero_push_files ~414

Push changes into the app's Git repository as ONE atomic commit (create, patch, and delete in a single push). CHANGING an existing file? Use `edits` — an exact-snippet replacement, like your editor's edit tool. Use `files` only to create a NEW file or to genuinely rewrite one end to end: it resends the whole document, so a twelve-line change costs you the entire file. Both may appear in the same push (different paths). If the app has no repository yet, a platform-managed repo is created automatically on the first push. Text files only (UTF-8) — for binary assets (icons, images, fonts) NEVER attempt to inline the bytes; models cannot generate valid binary data. Instead use runzero_upload_assets (the user uploads via the dashboard) or set sourceUrl on a file entry (the server downloads it from the web). IMPORTANT: after the FIRST push on a fresh app, run runzero_deploy once — it creates the service(s) from the repo (single service from the root, or several from a run-zero.yaml). Later pushes rebuild existing services automatically. See runzero_get_help topic 'files' for the full flow, code layout rules and the run-zero.yaml format. Only works with platform-managed repositories, not external repos. `deletions` and `files` overwrite or remove files in the repo; earlier content stays in the Git history.

NameTypeReqDescription
appstringyesName of the app
deletionsarray–File paths to delete from the repo
editsarray–Patches to existing files — the cheap way to change code. Applied in order; several edits may target the same file and are applied one after another.
filesarray–Files to create or rewrite completely. To change part of an existing file use edits instead.
messagestring–Commit message
trigger_buildboolean–Trigger a build after pushing (default: true)

No output schema declared.

No examples provided.

runzero_read_file ~138

Read a file from the app's Git repository (platform-managed repos only), UTF-8. Returns at most 250 lines per call (a note at the end says how to continue) — read the part you need with startLine/endLine instead of the whole file; every returned line is paid for on every later step.

NameTypeReqDescription
appstringyesName of the app
endLineinteger–Last line to return (default: startLine + 249)
pathstringyesFile path within the repo
startLineinteger–First line to return (1-based, default 1)

No output schema declared.

No examples provided.

runzero_rebuild_service ~78

Rebuild a service from the latest commit of its repo branch; on success the new version rolls out to the live URL. Use after an external repo changed; pushes via runzero_push_files rebuild on their own.

NameTypeReqDescription
appstringyesName of the app
servicestringyesName of the service to rebuild

No output schema declared.

No examples provided.

runzero_reset_user_password ~80

Replace an end-user's password in the app's login realm; the old one stops working at once. Returns the new password ONCE (generated if none given).

NameTypeReqDescription
appstringyesName of the app
passwordstring–New password (generated if omitted)
user_idstringyesKeycloak user id

No output schema declared.

No examples provided.

runzero_restore_release ~123

Put an earlier published state back on the real site. Use the id from runzero_list_releases. This CHANGES what visitors see. It does not touch the code: anything changed since is still there and still waiting, so this undoes what is published, not the work. If the user wants an announcement removed rather than the whole site rolled back, edit the page instead — going back also removes every other change made since.

NameTypeReqDescription
appstringyesName of the app
releaseintegeryesRelease id from runzero_list_releases

No output schema declared.

No examples provided.

runzero_restore_volume ~121

Replace the data on the persistent volume with a backup. The service stops, the current data is backed up first, the backup is unpacked, and the service starts again. Takes minutes; follow it with runzero_volume_status (`restore.phase` ends at `done`, with `error` if it failed and the data stayed unchanged).

NameTypeReqDescription
appstringyesName of the app
backupIdstringyesId of the backup, from runzero_volume_status
servicestring–Service name (default: the only service)

No output schema declared.

No examples provided.

runzero_scale_service ~104

Set the replica count of a service (0-10). Scaling to 0 takes the service offline (its URL stops answering) without deleting it; scale up again to bring it back. A service with a persistent volume runs 0 or 1 replicas and keeps its data at 0.

NameTypeReqDescription
appstringyesName of the app
replicasintegeryesReplica count (0-10)
servicestringyesName of the service

No output schema declared.

No examples provided.

runzero_screenshot ~238

SEE the deployed page with your own eyes: renders the live URL in a real browser and returns fresh screenshots as images — desktop (1280×800) and/or mobile (390×844). Use it after runzero_wait_for_build to review the visual result like a designer would (spacing, contrast, overlaps, broken mobile layout) and fix what you SEE, not what you assume. Never cached; but the rollout of a fresh build lands ~30-90s after build success, so a screenshot taken too early shows the previous version — if it looks unchanged, wait briefly and call again.

NameTypeReqDescription
appstringyesName of the app
fullPageboolean–Render the whole page height (capped at 3200px) instead of the first screen, so sections further down are in the picture too (default: false)
pathstring–Page path to render, e.g. '/impressum' (default: '/')
servicestring–Service name (optional if the app has exactly one)
viewportstring–Which widths to render (default: both)

No output schema declared.

No examples provided.

runzero_set_legal_profile ~216

Save or update the user's legal profile so it is reused across their apps and the legal pages can be regenerated. Send only what the user actually provided; omitted fields are cleared. NEVER invent legal data.

NameTypeReqDescription
citystring–City
countrystring–ISO country code, default DE
emailstring–Contact e-mail
entityTypestring–'person' or 'company'
legalNamestring–Name or company incl. legal form
phonestring–Contact phone (optional)
postalCodestring–Postal code
registerCourtstring–Register court (company)
registerNumberstring–Register number (company)
representedstring–Represented by / Geschäftsführer (company)
streetstring–Street + house number
supervisoryAuthoritystring–Chamber / supervisory authority (regulated trades)
vatIdstring–VAT id / USt-IdNr., if any

No output schema declared.

No examples provided.

runzero_set_publish_mode ~111

Switch between publishing every change immediately (auto) and collecting changes on a preview until the user releases them (manual). Explain the consequence before switching to manual: from then on nothing reaches their visitors until they say so, which is the point but also a way to wonder for days why a change never appeared. Switching back to auto publishes whatever was waiting, immediately.

NameTypeReqDescription
appstringyesName of the app
modestringyesauto = live at once, manual = release first

No output schema declared.

No examples provided.

runzero_set_secrets ~100

Set one or more environment variables for an app or a specific service. Existing keys are overwritten; other keys are preserved. Affected services are redeployed automatically.

NameTypeReqDescription
appstringyesName of the app
secretsobjectyesKey/value pairs. Keys must start with a letter and contain only letters, numbers, and underscores.
servicestring–Scope secrets to a single service. Omit for app-wide secrets.

No output schema declared.

No examples provided.

runzero_set_user_enabled ~75

Enable or disable (block) an end-user in the app's login realm. A disabled user cannot log in but is not deleted.

NameTypeReqDescription
appstringyesName of the app
enabledbooleanyestrue = enable, false = block
user_idstringyesKeycloak user id

No output schema declared.

No examples provided.

runzero_upload_assets ~91

Get the dashboard upload link for an app so the USER can upload binary assets (icons, images, fonts) via drag & drop — real bytes, nothing travels through the model. Give the returned URL to the user, wait until they confirm the upload, then call runzero_list_files with path 'assets/' and reference the files in the code.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

runzero_volume_status ~90

Show the persistent volume of a service: mount path, size, last backup, the backups that can be restored, and the state of a running or last restore. Volumes are declared under `volumes:` in run-zero.yaml (runzero_get_help topic files).

NameTypeReqDescription
appstringyesName of the app
servicestring–Service name (default: the only service)

No output schema declared.

No examples provided.

runzero_wait_for_build ~242

Wait server-side until the newest build of an app is finished AND the new version is serving traffic — use this INSTEAD of polling runzero_list_builds, sleeping, or re-checking the site in a loop. Blocks up to 45 seconds per call and returns {status: "success" | "failed" | "running", phase, rollout, builds}. "running" with phase "building" or "rolling-out" means: call it again. A rollout follows every successful build by 30-90 s, and until it lands the live URL, curl and screenshots still show the OLD version — do not push a fix for what you see in that window. "success" with phase "live" means every pod serves the new build; phase "done" means built but not live for a reason named in `hint` (the app publishes on request, an older version is pinned, not deployed yet). On "failed", read runzero_get_build_logs with the failed build id.

NameTypeReqDescription
appstringyesName of the app
servicestring–Only wait for this service (default: all services)

No output schema declared.

No examples provided.

runzero_work_url ~116

The URL where this app's UNPUBLISHED changes can be looked at, and a link that opens it (the plain hostname refuses without one). Call this after EVERY change to an app that publishes on request, and give the user the link with a plain sentence: their change is on the preview, their real site is untouched, and it goes live when they say so. Without that sentence they look at their own website, see nothing, and conclude the change was lost.

NameTypeReqDescription
appstringyesName of the app

No output schema declared.

No examples provided.

Install

How do I install the run.zero MCP server?

run.zero is a hosted endpoint at https://api.run-zero.de/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.run-zero.de

# add to Claude Code
claude mcp add --transport http de-run-zero-mcp 'https://api.run-zero.de/mcp'
Common questions

What is the run.zero MCP server?

run.zero is an MCP server listed in the public MCP registry as de.run-zero/mcp. Deploy apps, APIs and Postgres from your AI agent. EU PaaS hosted in Germany, OAuth sign-in. This page covers its hosted endpoint (https://api.run-zero.de/mcp).

Is the run.zero MCP server safe to use?

run.zero scores 79 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the run.zero MCP server expose?

run.zero exposes 50 tools: runzero_get_help, runzero_list_apps, runzero_get_app, runzero_create_app, runzero_list_templates, and 45 more. Their descriptions and schemas cost roughly 5,678 tokens of context every time the server is loaded.

Does the run.zero MCP server require authentication?

Yes. run.zero asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the run.zero MCP server still maintained?

run.zero is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.