$ curl -i https://mittwald.ai HTTP/2 200 content-type: text/html; charset=utf-8 x-audience: agents;q=1.0, humans;q=0.9 x-hosted-in: DE — DSGVO-konform, ohne Sternchen link: </llms.txt>; rel="llms"
mittwald.ai ist das Onboarding für AI-Agents auf deutscher Infrastruktur: API, CLI und MCP-Server, dokumentiert so, dass Claude Code, Cursor & Co. ohne Menschen im Loop von git push bis Live-URL kommen. Gebaut von mittwald — dem Hoster, dem Agenturen seit 25 Jahren ihre Kundenprojekte anvertrauen.
## quickstart
Der Pfad, den ein Agent autonom durchlaufen kann. Ein API-Token ist das einzige, was ein Mensch einmalig bereitstellen muss.
Einmalig im mStudio unter Profil → API-Tokens erzeugen — oder per API, falls bereits ein Token existiert. Danach läuft alles headless.
# CLI und API lesen den Token aus derselben Variable export MITTWALD_API_TOKEN=<token> # neue Tokens programmatisch anlegen (mit bestehendem Token) curl -X POST https://api.mittwald.de/v2/users/self/api-tokens/ \ -H "Authorization: Bearer $MITTWALD_API_TOKEN"
Die mw-CLI kapselt die komplette mStudio-API — ideal für Agents, weil jeder Befehl auch non-interaktiv funktioniert.
npm install -g @mittwald/cli
# oder via Homebrew:
brew tap mittwald/cli && brew install mw
Node.js-Apps bekommen ein Zielverzeichnis und ein Startkommando. Anlegen per CLI, MCP oder mStudio — der Agent nimmt den Weg, den er kennt.
mw project list
mw app create node # Flags: mw app create node --help
Build lokal (oder in CI), Artefakte per rsync ins App-Verzeichnis, Startkommando setzen. Wichtig für Agents: Apps starten nach dem Deploy nicht automatisch neu — der Neustart ist ein eigener Schritt.
vite build # → .output/ rsync -az .output/ <ssh-user>@<ssh-host>:<app-dir>/ # Startkommando der App: node .output/server/index.mjs # danach: App neu starten (mStudio, CLI oder MCP)
## mcp
Der mStudio-MCP-Server übersetzt natürliche Sprache in Infrastruktur: „Erstelle einen Container mit n8n, verbinde eine PostgreSQL und richte tägliche Backups ein." Remote gehostet — nichts zu installieren.
claude mcp add --transport http mittwald https://mcp.mittwald.de/mcp
{
"mcpServers": {
"mittwald": { "type": "http", "url": "https://mcp.mittwald.de/mcp" }
}
}
Auth interaktiv per OAuth 2.1 mit PKCE (Browser-Login, granulare Berechtigungen, widerrufbare Tokens) — in CI und headless-Umgebungen stattdessen per API-Token.
## frameworks
Alles, was einen Node-Server ausgibt, läuft ohne Sonderbehandlung. Drei Kommandos pro Framework — mehr Kontext braucht ein Agent nicht.
vite build node .output/server/index.mjs
Läuft out of the box — Nitro baut standardmäßig einen portablen Node-Server.
next build node .next/standalone/server.js
In next.config: output: "standalone". Statics aus .next/static und public/ mit deployen.
astro build node ./dist/server/entry.mjs
Statisches Astro braucht nicht mal Node — einfach dist/ ausliefern.
## api
Kein Storytelling, nur die Parameter — dieselben stehen maschinenlesbar in /llms.txt.
| Base URL | https://api.mittwald.de/v2/ |
|---|---|
| Auth | Authorization: Bearer <token> oder X-Access-Token: <token> |
| Token anlegen | POST /v2/users/self/api-tokens/ — oder im mStudio unter Profil → API-Tokens |
| CLI headless | MITTWALD_API_TOKEN als Umgebungsvariable |
| MCP | https://mcp.mittwald.de/mcp — OAuth 2.1 + PKCE, headless per API-Token |
| SDKs | PHP · JavaScript/Node.js · Go — außerdem Terraform-Provider und GitHub Action |
| Referenz | developer.mittwald.de |
## für menschen
Die Argumente, die kein US-Hyperscaler mitbringt — und die im Agentur-Alltag entscheiden.
Deutsche Rechenzentren, deutsches Unternehmen, AV-Vertrag inklusive. Für Behörden- und Enterprise-Kunden oft Vergabekriterium, kein Nice-to-have.
Wenn der Agent nicht weiterweiß, weiß es ein Mensch. Support, der ans Telefon geht — seit 25 Jahren das mittwald-Versprechen an Agenturen.
Die Vibe-Coding-App neben dem WordPress des Bestandskunden, im selben mStudio, auf derselben Rechnung. Kein zweiter Anbieter nötig.