Integration

mittwald integration

mittwald is a German web hosting provider; this is its mStudio API. Manage projects and servers, app installations (WordPress, Shopware and more) and their staging copies, backups and backup schedules, container stacks and services (logs, start, stop, restart), cronjobs, MySQL and Redis databases, domains, DNS zones and records, ingresses (hostnames and TLS), mail addresses, project members and invites, support conversations, contracts and invoices (read only) and page performance data. Left out on purpose: deleting projects, servers, databases, domains, mailboxes, ingresses, app installations or backups, restoring backups, anything that orders, terminates or changes a contract or payment, passwords, SSH and SFTP credentials, API tokens, app installation requests (they carry admin passwords), handing DNS records back to mittwald management (the route needs an empty JSON body the platform cannot send), file contents, marketplace, AI hosting keys and account settings. Authentication is an mStudio API token sent in the X-Access-Token header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in mittwald.Built from the 159 mittwald tools below, on the connection you add once.

What you can do with mittwald

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Cronjob, 4 operations

  • create_cronjobCreate cronjobPOSTAgents: ask firstCreates a cronjob that calls a URL, runs a script of an app installation or a command in a container on a crontab interval; returns its id. Active cronjobs start running on schedule.
  • delete_cronjobDelete cronjobDELETEAgents: ask firstDeletes a cronjob; it no longer runs.
  • get_cronjobGet cronjobGETAgents: ask firstReturns one cronjob: interval, target, time zone, timeout, whether active, next execution time and the latest execution.
  • list_cronjobsList cronjobsGETAgents: ask firstLists the cronjobs of a project: description, interval, target, whether active, timeout and the latest execution.

Project, 4 operations

  • create_projectCreate projectPOSTAgents: ask firstCreates a new project on a server the customer already has, and returns its id. The project then shows up in list_projects.
  • get_projectGet projectGETAgents: ask firstReturns one project: description, status (ready, disabled...), server and customer, cluster domain, resource spec, storage usage, supported features and primary IP addresses.
  • list_customer_projectsList customer projectsGETAgents: ask firstLists the projects of one customer (organisation), with description, status, server and storage usage.
  • list_projectsList projectsGETAgents: ask firstLists the projects the token's user can access, with description, status, server, customer, storage usage and features. Filter by customerId, serverId or searchTerm; page with limit, skip or page.

App installation, 3 operations

  • get_app_installationGet app installationGETAgents: ask firstReturns one app installation: app and version (current and desired), installation path, document root, system software, linked databases, update policy and last error. Admin inputs are not returned.
  • list_app_installationsList app installationsGETAgents: ask firstLists the app installations (WordPress, Shopware, Node.js...) the token's user can access: app, version, project, path, update policy and whether an update is available.
  • list_project_app_installationsList project app installationsGETAgents: ask firstLists the app installations of a project: app name and version, installation path, update policy, linked databases and whether an update is available.

Backup, 3 operations

  • create_project_backupCreate project backupPOSTAgents: ask firstStarts a manual backup of the whole project (files and databases); it runs in the background, check it with get_project_backup. Kept until expirationTime.
  • list_mail_address_backupsList mail address backupsGETAgents: ask firstLists the backups available for a mailbox, by name.
  • list_project_backupsList project backupsGETAgents: ask firstLists the backups of a project: status, description, creation and expiry dates, and any running export or restore.

Contract, 3 operations

  • get_contractGet contractGETAgents: ask firstReturns one contract: base item and additional items with prices, scheduled tariff changes and termination. Read only.
  • get_project_contractGet project contractGETAgents: ask firstReturns the contract a project belongs to, with its items, prices and termination. Read only.
  • list_contractsList contractsGETAgents: ask firstLists a customer's contracts with their base item, additional items, prices and any scheduled termination. Read only.

Dns zone, 3 operations

  • create_dns_zoneCreate dns zonePOSTAgents: ask firstCreates a DNS zone (root zone or subzone) for a hostname that has a verified ingress in the project; returns its id.
  • get_dns_zoneGet dns zoneGETAgents: ask firstReturns one DNS zone with all its record sets and their settings (TTL, managed or custom).
  • list_dns_zonesList dns zonesGETAgents: ask firstLists the DNS zones of a project with their record sets (A/AAAA, MX, TXT, SRV, CNAME, CAA) and whether each is managed by mittwald.

Dns zone import, 3 operations

  • get_dns_zone_importGet dns zone importGETAgents: ask firstReturns one zone-file import job: status and the zones imported or skipped.
  • import_dns_zone_fileImport dns zone filePOSTAgents: ask firstImports an RFC 1035 zone file into a project, creating DNS zones and record sets and OVERWRITING existing zones; dryRun true only previews the plan and conflicts. All or nothing: any conflict rejects it (412).
  • list_dns_zone_importsList dns zone importsGETAgents: ask firstLists the zone-file import jobs of a project, newest first: status and the zones imported or skipped.

Ingress, 3 operations

  • create_ingressCreate ingressPOSTAgents: ask firstConnects a hostname to a project (an ingress) and routes its paths to app installations, containers, a redirect or the default page; returns its id and the ownership TXT record to verify.
  • get_ingressGet ingressGETAgents: ask firstReturns one ingress: hostname, paths and targets, TLS (ACME or certificate), ownership TXT record and verification, IPs and DNS validation errors.
  • list_ingressesList ingressesGETAgents: ask firstLists the ingresses (hostnames served by mittwald) with their paths and targets, TLS settings, ownership verification and DNS errors. Filter by project, hostname, app installation or certificate.

Invite, 3 operations

  • create_project_inviteCreate project invitePOSTAgents: ask firstInvites a person to a project by email: mittwald emails them an invitation that grants the given role once accepted.
  • list_customer_invitesList customer invitesGETAgents: ask firstLists the pending invitations to a customer: invited email, role and message.
  • list_project_invitesList project invitesGETAgents: ask firstLists the pending invitations to a project: invited email address, role, message and membership expiry.

Redis database, 3 operations

  • create_redis_databaseCreate redis databasePOSTAgents: ask firstCreates a Redis database in a project and returns its id; it is provisioned in the background.
  • get_redis_databaseGet redis databaseGETAgents: ask firstReturns one Redis database: version, hostname, port, configuration, status and storage usage.
  • list_redis_databasesList redis databasesGETAgents: ask firstLists the Redis databases of a project: name, version, hostname, port, configuration, status and storage usage.

Service, 3 operations

  • get_serviceGet serviceGETAgents: ask firstReturns one container service: status and message, deployed and pending image, command, ports, volumes and resources. Environment variable values are not returned.
  • list_project_servicesList project servicesGETAgents: ask firstLists the container services of a project; filter by stack, status (running, stopped, error...) or whether they need a recreate. Environment variable values are not returned.
  • list_servicesList servicesGETAgents: ask firstLists the container services the token's user can access: name, image, status, ports and resources. Environment variable values are not returned.

Version, 3 operations

  • get_app_versionGet app versionGETAgents: ask firstReturns one app version: dependencies, required user inputs, document root, default cronjobs and breaking-change notes.
  • get_system_software_versionGet system software versionGETAgents: ask firstReturns one system software version: version numbers, expiry date, fee and dependencies.
  • list_app_versionsList app versionsGETAgents: ask firstLists the versions of an app with their system software dependencies, required user inputs and whether each is recommended.

App, 2 operations

  • get_appGet appGETAgents: ask firstReturns one installable app: name, description, tags and what it supports.
  • list_appsList appsGETAgents: ask firstLists the apps mittwald can install (WordPress, Shopware, TYPO3, Node.js, PHP...), with description and tags.

Backup schedule, 2 operations

  • create_backup_scheduleCreate backup schedulePOSTAgents: ask firstCreates a recurring backup schedule for a project: backups then run automatically on that crontab schedule and are kept for ttl.
  • list_backup_schedulesList backup schedulesGETAgents: ask firstLists the backup schedules of a project (the system schedule and your own): crontab schedule, retention (ttl) and description.

Certificate, 2 operations

  • get_certificateGet certificateGETAgents: ask firstReturns one TLS certificate: the certificate and CA bundle (public PEM), common name, DNS names, issuer and validity. No private key.
  • list_certificatesList certificatesGETAgents: ask firstLists the TLS certificates of a project or an ingress: common name, DNS names, issuer, validity and whether expired (no private keys).

Certificate request, 2 operations

  • get_certificate_requestGet certificate requestGETAgents: ask firstReturns one certificate signing request: common name, contact, DNS names and whether completed.
  • list_certificate_requestsList certificate requestsGETAgents: ask firstLists the certificate signing requests of a project or an ingress, with common name, DNS names and whether completed.

Container template, 2 operations

  • get_container_templateGet container templateGETAgents: ask firstReturns one container template: description, inputs it asks for, license, repository and help.
  • list_container_templatesList container templatesGETAgents: ask firstLists mittwald's container templates (ready-made container apps in categories such as ai, database, monitoring and productivity), filterable by category or type.

Conversation, 2 operations

  • create_support_conversationCreate support conversationPOSTAgents: ask firstOpens a support conversation with mittwald support (real people answer it) with a title, a category and a first message; returns its conversationId.
  • get_support_conversationGet support conversationGETAgents: ask firstReturns one support conversation: title, status, category, related resource, who it is shared with and the last message.

Customer, 2 operations

  • get_customerGet customerGETAgents: ask firstReturns one customer profile: name, customer number, owner contact, VAT ID, member and project counts, and whether it may place orders or is suspended. Personal data.
  • list_customersList customersGETAgents: ask firstLists the customer profiles (organisations) the token's user belongs to: name, customer number, owner, member and project counts, VAT ID and account flags. Contains personal data.

Delivery box, 2 operations

  • get_delivery_boxGet delivery boxGETAgents: ask firstReturns one delivery box: name, description, sending and authentication flags and when the password last changed. No password.
  • list_delivery_boxesList delivery boxesGETAgents: ask firstLists the delivery boxes of a project: name, description, whether sending and authentication are enabled, and when the password last changed. No passwords.

Domain, 2 operations

  • get_domainGet domainGETAgents: ask firstReturns one domain: name, project, nameservers, contact handles, owner e-mail verification, running processes and scheduled deletion. Transfer auth codes are not returned.
  • list_domainsList domainsGETAgents: ask firstLists the registered domains the token's user can access: domain name, project, nameservers, contact handles, running processes and scheduled deletion. Transfer auth codes are not returned.

Execution, 2 operations

  • get_cronjob_executionGet cronjob executionGETAgents: ask firstReturns one cronjob execution: status, start and end, duration, exit code, log path and who triggered or aborted it.
  • list_cronjob_executionsList cronjob executionsGETAgents: ask firstLists the executions of a cronjob: status, start and end, duration, exit code and who triggered it. Filter by time range or status.

Invoice, 2 operations

  • get_invoiceGet invoiceGETAgents: ask firstReturns one invoice with its line groups, recipient, payment settings, totals and status. Contains billing data.
  • list_invoicesList invoicesGETAgents: ask firstLists a customer's invoices: number, date, type, status, net and gross totals and amount paid. Contains billing data.

License, 2 operations

  • get_licenseGet licenseGETAgents: ask firstReturns one software license: kind, description, volume, expiry and what it is linked to. The license key is not returned.
  • list_licensesList licensesGETAgents: ask firstLists the software licenses of a project (for example for a commercial app): kind, description, volume and expiry. License keys are not returned.

Mail address, 2 operations

  • get_mail_addressGet mail addressGETAgents: ask firstReturns one mail address: mailbox quota and usage, forward addresses, autoresponder, spam protection, catch-all and archive settings. No password.
  • list_mail_addressesList mail addressesGETAgents: ask firstLists the mail addresses of a project: address, mailbox (quota, usage), forwards, autoresponder, catch-all and archive. Filter by search text or features.

Membership, 2 operations

  • list_customer_membershipsList customer membershipsGETAgents: ask firstLists the members of a customer with their role (owner, member, accountant), email, name and MFA status. Personal data.
  • list_project_membershipsList project membershipsGETAgents: ask firstLists the members of a project with their role (owner, emailadmin, external), email, name, expiry and whether they use MFA. Personal data.

Mysql database, 2 operations

  • get_mysql_databaseGet mysql databaseGETAgents: ask firstReturns one MySQL database and its status, hostname and main user. A connection also needs the user's status to be ready, not only the database's.
  • list_mysql_databasesList mysql databasesGETAgents: ask firstLists the MySQL databases of a project: name, version, hostname, character settings, status, storage usage and main user. No passwords.

Page insight, 2 operations

  • get_page_insightsGet page insightsGETAgents: ask firstReturns performance data (score, metrics, screenshot) measured for a domain and path, optionally on a given date.
  • list_project_page_insightsList project page insightsGETAgents: ask firstLists the websites (domain and paths) of a project for which performance data is available.

Project backup schedule, 2 operations

  • delete_backup_scheduleDelete backup scheduleDELETEAgents: ask firstDeletes a backup schedule; no further backups run from it (existing backups stay until they expire).
  • get_backup_scheduleGet backup scheduleGETAgents: ask firstReturns one backup schedule: crontab schedule, retention, description and whether it is the system schedule.

Project invite, 2 operations

  • delete_project_inviteDelete project inviteDELETEAgents: ask firstWithdraws a pending project invitation; it can no longer be accepted.
  • get_project_inviteGet project inviteGETAgents: ask firstReturns one pending project invitation: invited email, role, message and expiry.

Project membership, 2 operations

  • delete_project_membershipDelete project membershipDELETEAgents: ask firstRemoves a member from a project; they lose access to it at once.
  • get_project_membershipGet project membershipGETAgents: ask firstReturns one project membership: the member's name, email, role, expiry and MFA status. Personal data.

Registry, 2 operations

  • get_registryGet registryGETAgents: ask firstReturns one container registry: URI, description and the stored username and whether the credentials are valid (never the password).
  • list_registriesList registriesGETAgents: ask firstLists the container image registries configured for a project: URI, description and the username (never the password) when credentials are stored.

Server, 2 operations

  • get_serverGet serverGETAgents: ask firstReturns one server: description, status, machine type (CPU, memory), storage, cluster and primary IP addresses.
  • list_serversList serversGETAgents: ask firstLists the servers the token's user can access, with description, status, machine type, storage and IP addresses.

Sftp user, 2 operations

  • get_sftp_userGet sftp userGETAgents: ask firstReturns one SFTP user: user name, access level, directories, expiry, active flag and public keys (no password).
  • list_sftp_usersList sftp usersGETAgents: ask firstLists the SFTP users of a project: user name, access level, directories, expiry, whether active, whether a password is set and their public keys (no passwords).

Ssh user, 2 operations

  • get_ssh_userGet ssh userGETAgents: ask firstReturns one SSH user: user name, expiry, active flag and public keys (no password).
  • list_ssh_usersList ssh usersGETAgents: ask firstLists the SSH users of a project: user name, expiry, whether active, whether a password is set and their public keys (no passwords).

Stack, 2 operations

  • get_stackGet stackGETAgents: ask firstReturns one container stack with its services and volumes. Environment variable values are not returned.
  • list_project_stacksList project stacksGETAgents: ask firstLists the container stacks of a project, with their services (image, ports, status) and volumes. Environment variable values are not returned.

Storage space statistic, 2 operations

  • get_project_storage_statisticsGet project storage statisticsGETAgents: ask firstReturns the storage usage of a project, broken down by category (web space, databases, mail, backups...), with the notification threshold.
  • get_server_storage_statisticsGet server storage statisticsGETAgents: ask firstReturns the storage usage of a server, broken down by project and category, with the notification threshold.

System software, 2 operations

  • get_system_softwareGet system softwareGETAgents: ask firstReturns one system software: name, tags and metadata.
  • list_app_installation_system_softwareList app installation system softwareGETAgents: ask firstLists the system software (such as php, composer or node) installed for an app installation, with versions.

Volume, 2 operations

  • get_volumeGet volumeGETAgents: ask firstReturns one container volume: name, linked services, storage usage and whether it is orphaned.
  • list_project_volumesList project volumesGETAgents: ask firstLists the container volumes of a project: name, stack, linked services, storage usage and whether they are orphaned.

Activity, 1 operation

  • list_project_activitiesList project activitiesGETAgents: ask firstLists the activity log of a project (who did what, when, on which resource, before and after values), newest first. Filter by aggregate, time range or full text. Contains user names; container environment variables are withheld.

Analysis, 1 operation

  • get_cronjob_execution_analysisGet cronjob execution analysisGETAgents: ask firstReturns an analysis (summary, message and recommendation) of a failed cronjob execution.

Contact schema, 1 operation

  • get_domain_tld_contact_schemasGet domain tld contact schemasGETAgents: ask firstReturns the JSON schemas of the owner and admin contact data a TLD requires to register or transfer a domain.

Copy, 1 operation

  • copy_app_installationCopy app installationPOSTAgents: ask firstRequests a copy of an app installation, in the same or another project; returns the new installation id. The copy is set up in the background.

Database dump, 1 operation

  • list_project_backup_database_dumpsList project backup database dumpsGETAgents: ask firstLists the databases contained in a backup.

Domain migration, 1 operation

  • list_domain_migrationsList domain migrationsGETAgents: ask firstLists the domain migrations (moves of domains from older mittwald accounts) of a project, with their domains and dates.

Domain registrable, 1 operation

  • check_domain_registrableCheck domain registrablePOSTAgents: ask firstChecks whether a domain name is free to register at mittwald (and whether it is premium). If not, it may be transferable instead. Registers nothing.

Domain tld, 1 operation

  • list_domain_tldsList domain tldsGETAgents: ask firstLists the top-level domains mittwald can register, with transfer rules (auth code required, redemption period).

Domain transferable, 1 operation

  • check_domain_transferableCheck domain transferablePOSTAgents: ask firstChecks whether a domain can be transferred to mittwald, with the reasons when not. For some TLDs (such as .de) it cannot be evaluated and transferable is true. Transfers nothing.

Error analysis, 1 operation

  • get_app_installation_error_analysisGet app installation error analysisGETAgents: ask firstReturns an analysis (summary and recommendation) of the last error of an app installation. Only available while it has an error; otherwise mittwald answers with a failed precondition.

Filesystem disk usage, 1 operation

  • get_project_disk_usageGet project disk usageGETAgents: ask firstReturns the disk usage of a project directory: total and used bytes.

Log, 1 operation

  • get_service_logsGet service logsGETAgents: ask firstReturns the logs of a container service as text, in the text field. tail limits the answer to the last lines.

Log analysis, 1 operation

  • get_service_log_analysisGet service log analysisGETAgents: ask firstReturns an analysis (summary and recommendation) of the logs of a container service.

Mail settings, 1 operation

  • get_project_mail_settingsGet project mail settingsGETAgents: ask firstReturns a project's mail blacklist and whitelist (sender addresses or domains always rejected or always accepted).

Missing dependency, 1 operation

  • get_app_installation_missing_dependenciesGet app installation missing dependenciesGETAgents: ask firstLists what an app installation lacks to move to a target app version: missing system software and missing user inputs.

Mysql charset, 1 operation

  • list_mysql_charsetsList mysql charsetsGETAgents: ask firstLists the MySQL character sets and their collations, optionally for one MySQL version.

Mysql user, 1 operation

  • get_mysql_userGet mysql userGETAgents: ask firstReturns one MySQL user: name, access level, external access and IP mask, status and when the password last changed (never the password).

Mysql version, 1 operation

  • list_mysql_versionsList mysql versionsGETAgents: ask firstLists the MySQL versions available (optionally for one project).

Path, 1 operation

  • list_project_backup_pathsList project backup pathsGETAgents: ask firstLists the files and directories stored in a backup at a given directory (name, size, type), to see what a backup contains.

Project backup, 1 operation

  • get_project_backupGet project backupGETAgents: ask firstReturns one backup: status, description, creation and expiry dates, and the state of any export or restore.

Redis version, 1 operation

  • list_redis_versionsList redis versionsGETAgents: ask firstLists the Redis versions available (optionally for one project).

Self, 1 operation

  • get_own_project_membershipGet own project membershipGETAgents: ask firstReturns the token's own membership in a project: role, expiry and whether it is inherited from the customer.

Staging, 1 operation

  • create_app_installation_stagingCreate app installation stagingPOSTAgents: ask firstCreates a staging copy of an app installation reachable under a domain; returns the staging installation id. The copy is set up in the background.

Status, 1 operation

  • get_app_installation_statusGet app installation statusGETAgents: ask firstReturns the runtime status of an app installation that runs a process (Node.js, Python...): state, uptime, last exit code and log file location.

Strace, 1 operation

  • get_straceGet straceGETAgents: ask firstReturns the result of a strace measurement: when it ran and the system-call profile of the request, with the files it read and the full text of each database query (which can contain personal data).

Update candidate, 1 operation

  • list_app_version_update_candidatesList app version update candidatesGETAgents: ask firstLists the app versions an installation on a given version can update to.

User, 1 operation

  • list_mysql_usersList mysql usersGETAgents: ask firstLists the MySQL users of a database: name, access level, external access, IP mask, status and when the password last changed (never the password).

Zone file, 1 operation

  • get_dns_zone_fileGet dns zone fileGETAgents: ask firstReturns the DNS zone as a BIND zone file (RFC 1035) in the text field, including its subzones. A subzone ID is refused.

Showing the first 120 of 159 endpoints. The rest are in the product, searchable from the workflow builder and from chat.

Use mittwald from Claude Code, Cursor or Codex

Connect mittwald in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its mittwald operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect mittwald

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect mittwald once

    Add your mittwald connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

mittwald integration FAQ

What can you do with the mittwald integration?

LiveContext exposes 159 operations on mittwald, covering cronjob, project, app installation and backup.

Popular integrations

Browse the whole catalog