KI-unterstützte Entwicklung
Du kannst mittwalds KI-Modelle verwenden, um dich in deinem Entwicklungsprozess zu unterstützen. Die Modelle sind DSGVO-konform und werden in Deutschland gehostet, ohne Nutzerdaten zu speichern oder für das Training zu verwenden.
Verfügbare Modelle
Der Service bietet verschiedene KI-Modelle, die für unterschiedliche Entwicklungsaufgaben optimiert sind. Eine vollständige Liste der verfügbaren Modelle und ihrer Spezifikationen findest du in der KI-Modelle-Dokumentation.
IDE-Integration
Übersicht
| IDE/Tool | Integrationen |
|---|---|
| Jetbrains IDEs (IntelliJ, PHPStorm, ...) | Continue, Jetbrains AI |
| Visual Studio Code | Continue, Cline, Kilo Code |
| Cursor | Cline |
| Windsurf | Cline |
| Zed | Zed |
| CLI | OpenCode |
Jetbrains AI (für Jetbrains IDEs, wie IntelliJ, PHPStorm, WebStorm, ...)
Der JetBrains AI Assistant unterstützt OpenAI-kompatible Endpunkte per Bring Your Own Key (BYOK). Konfiguriere ihn direkt in der IDE:
- Öffne
Settings | Tools | AI Assistant | Models & API keys. - Unter „Third-party AI providers“ OpenAI-compatible auswählen.
- API-Key und Endpunkt-URL
https://llm.aihosting.mittwald.de/v1eintragen und Verbindung testen. - (Optional) „Tool calling“ aktivieren, wenn das Modell MCP-Tools nutzen soll.
Hinweis: Einige AI-Assistant-Funktionen können trotz Drittanbieter-Setup eine JetBrains-AI-Subscription erfordern.
Continue (für Visual Studio Code oder Jetbrains IDEs)
Continue funktioniert sowohl mit Jetbrains IDEs als auch mit Visual Studio Code.
Installiere zuerst das Plugin für deine IDE:
Modelle werden normalerweise in der config.yaml-Datei konfiguriert (normalerweise im ~/.continue/-Verzeichnis in deinem Home-Verzeichnis zu finden). Du kannst die mittwald-Modelle (Devstral-Small-2-24B-Instruct-2512 funktioniert gut für Code-Generierung) mit der folgenden Konfiguration einrichten:
name: mittwald
version: 1.0.0
schema: v1
models:
- name: Devstral-Small-2-24B-Instruct-2512
provider: openai
model: Devstral-Small-2-24B-Instruct-2512
apiBase: https://llm.aihosting.mittwald.de/v1
apiKey: <API-SCHLÜSSEL-EINFÜGEN>
roles:
- chat
- edit
- apply
capabilities:
- tool_use
context:
- provider: code
- provider: docs
- provider: diff
- provider: terminal
- provider: problems
- provider: folder
- provider: codebase
Cline (für Visual Studio Code, Cursor oder Windsurf)
Cline funktioniert mit Visual Studio Code, Cursor und Windsurf. Installiere zuerst das entsprechende IDE-Plugin.
Bei der Konfiguration von Cline über die Benutzeroberfläche wähle die folgenden Optionen:
- API Provider: Wähle "OpenAI Compatible"
- Base URL: Gib
https://llm.aihosting.mittwald.de/v1ein - OpenAI Compatible API Key: Gib deinen LLM-API-Schlüssel aus dem mStudio ein
- Model ID: Gib
Devstral-Small-2-24B-Instruct-2512ein
Zed
Zed unterstützt OpenAI-kompatible Endpunkte im integrierten Agent Panel.
- Öffne die Agent-Panel-Einstellungen (
agent: open settings). - Unter „LLM Providers“ auf „Add Provider“ klicken und „OpenAI API Compatible“ wählen.
- Provider-Name
mittwald, API-URLhttps://llm.aihosting.mittwald.de/v1, ModellDevstral-Small-2-24B-Instruct-2512.
Du kannst das auch in settings.json konfigurieren:
{
"language_models": {
"openai_compatible": {
"mittwald": {
"api_url": "https://llm.aihosting.mittwald.de/v1",
"available_models": [
{
"name": "Devstral-Small-2-24B-Instruct-2512",
"display_name": "Devstral-Small-2-24B-Instruct-2512",
"max_tokens": 262144
}
]
}
}
}
}
Zed speichert API-Keys nicht in settings.json. Setze MITTWALD_API_KEY in
deiner Umgebung.
Kilo Code
Kilo Code ist als Visual-Studio-Code-Extension verfügbar und unterstützt OpenAI-kompatible Anbieter. Konfiguriere Devstral wie folgt:
-
Installiere die Extension aus dem VS Code Marketplace.
-
Provider: OpenAI Compatible
-
Base URL:
https://llm.aihosting.mittwald.de/v1 -
API Key: dein LLM-API-Schlüssel aus dem mStudio
-
Modell:
Devstral-Small-2-24B-Instruct-2512
Beispiel-Umgebung:
export OPENAI_API_KEY=sk-...
export OPENAI_BASE_URL=https://llm.aihosting.mittwald.de/v1
Wähle anschließend Devstral in Kilo Codes Modell-Auswahl für Agent-Aufgaben.
CLI-Coding-Agenten
OpenCode
OpenCode unterstützt OpenAI-kompatible Anbieter. Diese
werden entweder global in der Datei ~/config/opencode/opencode.json oder
pro Projekt in einer opencode.json Datei im Projekt-Wurzelverzeichnis konfiguriert.
Unabhängig vom Speicherort könnte die jeweilige Provider-Konfiguration wie folgt aussehen:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"mittwald": {
"npm": "@ai-sdk/openai-compatible",
"name": "mittwald AI",
"options": {
"baseURL": "https://llm.aihosting.mittwald.de/v1",
"apiKey": "sk-..."
},
"models": {
"Devstral-Small-2-24B-Instruct-2512": {
"name": "Devstral-Small-2-24B-Instruct-2512"
}
}
}
}
}
Verwendung:
opencode run "migriere Datenbankschema für User-Rollen-Tabelle"
opencode run "optimiere die Datenbankabfragen in user_service.py"
Für MCP-Server-Konfiguration siehe den OpenCode-MCP-Abschnitt weiter unten.
MCP und Tool-Verwendung
In diesem Abschnitt stellen wir Konfigurationsbeispiele und Tipps zur Verwendung von Model Context Protocol-Servern und Web-Fetching mit gängigen Coding-Agenten bereit.
Häufig verwendete MCP-Server
- Context7 MCP: Stellt aktuelle Dokumentation für beliebte Bibliotheken und Frameworks bereit und stellt sicher, dass das Modell Zugriff auf die neuesten API-Änderungen und Best Practices hat.
- Brave Search MCP: Ermöglicht Web-Suchfunktionen mit starkem Datenschutz, nützlich für das Finden aktueller Lösungen, Dokumentationen oder zur Überprüfung aktueller Informationen.
- PostgreSQL MCP: Ermöglicht sichere Datenbank-Inspektion und Abfragen und hilft bei Schema-Design, Abfrage-Optimierung und Datenanalyse.
- Directus MCP: Bietet KI-Assistenten kontrollierten Zugriff auf dein Directus CMS und ermöglicht Content-Erstellung, Updates, Abfragen von Collections und Asset-Management durch natürliche Sprache. Ideal für Content-Editoren und Datenanalysten.
- OpenSearch MCP: Ermöglicht KI-Assistenten die Interaktion mit OpenSearch-Clustern, um Operationen wie das Durchsuchen von Indizes, Abrufen von Mappings, Analysieren der Cluster-Gesundheit und Verwalten von Shards über das Model Context Protocol durchzuführen.
- Apache Solr MCP: Ermöglicht der KI, leistungsstarke hybride Suchabfragen gegen Solr-Indizes durchzuführen, die sowohl Keyword- als auch Vektorsuche für Enterprise-Suchanwendungen kombinieren.
- TYPO3 MCP: Bietet KI-Assistenten kontrollierten Zugriff auf deine TYPO3-CMS-Installation und ermöglicht Content-Management, Seitenoperationen und Backend-Automatisierung durch natürliche Sprache. Verwendet den Befehl
mw app execder mittwald CLI für die Verbindung via STDIO-Transport. Ersetzea-XXXXXdurch deine TYPO3-App-Installations-ID (finden viamw app list). Benötigt das Composer-Paket hn/typo3-mcp-server, das in deiner TYPO3-Instanz installiert sein muss. Hinweis: Umgeht derzeit die TYPO3-Backend-Zugriffskontrollen und funktioniert nur mit lokalen MCP-Clients aufgrund von Plattformbeschränkungen bei der.well-known/OAuth-Discovery.
Für eine umfassende Liste weiterer MCP-Server siehe die MCP-Server-Registry.
Continue
Continue kann über das Model Context Protocol (MCP) kontrollierten Zugriff auf externe Tools und Services erhalten.
MCP-Server in ~/.continue/config.yaml hinzufügen:
mcpServers:
# Context7: Aktuelle Bibliotheksdokumentation
context7:
name: Context7
command: npx
args: ["-y", "@context7/mcp-server", "--stdio"]
env: { CONTEXT7_API_KEY: "dein-context7-api-key" }
# Brave Search: Web-Suche mit Datenschutz-Fokus
brave-search:
name: Brave
command: npx
args: ["-y", "@modelcontextprotocol/server-brave-search", "--stdio"]
env: { BRAVE_API_KEY: "dein-brave-api-key" }
# PostgreSQL: Datenbankabfragen und Schema-Inspektion
postgres:
name: PostgreSQL
command: npx
args: ["-y", "@modelcontextprotocol/server-postgres", "--stdio"]
env:
POSTGRES_CONNECTION_STRING: "postgresql://user:pass@localhost:5432/dbname"
# Directus: Headless CMS Datenverwaltung
directus:
name: Directus
command: npx
args: ["-y", "@directus/content-mcp", "--stdio"]
env:
DIRECTUS_URL: "https://deine-directus-instanz.com"
DIRECTUS_TOKEN: "dein-directus-token"
# OpenSearch: Such- und Analyse-Engine
opensearch:
name: OpenSearch
command: npx
args: ["-y", "@opensearch-project/mcp-server", "--stdio"]
env:
OPENSEARCH_URL: "https://localhost:9200"
OPENSEARCH_USERNAME: "admin"
OPENSEARCH_PASSWORD: "admin"
# Apache Solr: Enterprise-Suchplattform
solr:
name: Solr
command: uvx
args: ["solr-mcp"]
env:
SOLR_URL: "http://localhost:8983/solr"
# TYPO3: CMS-Content und Backend-Verwaltung (benötigt mittwald CLI)
typo3:
name: TYPO3
command: mw
args:
[
"app",
"exec",
"--quiet",
"--installation-id=a-XXXXX",
"vendor/bin/typo3 mcp:server",
]
Bitte den Assistenten explizit, ein Tool zu nutzen (z. B. „nutze Brave Search, um aktuelle Informationen über ... zu finden" oder „durchsuche unseren Solr-Index nach Dokumenten über ..."). Beschränke den Zugriff stets eng und überprüfe Datenzugriffe oder Änderungen.
Kilo Code
Kilo Code kann ebenfalls MCP-Server verwenden. Füge sie über die Einstellungen (Tools → Add MCP Server) oder in der Konfigurationsdatei hinzu.
Konfigurationsbeispiel:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server", "--stdio"],
"env": { "CONTEXT7_API_KEY": "dein-schlüssel" }
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search", "--stdio"],
"env": { "BRAVE_API_KEY": "dein-schlüssel" }
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "--stdio"],
"env": { "POSTGRES_CONNECTION_STRING": "postgresql://..." }
},
"directus": {
"command": "npx",
"args": ["-y", "@directus/content-mcp", "--stdio"],
"env": {
"DIRECTUS_URL": "https://deine-directus-instanz.com",
"DIRECTUS_TOKEN": "dein-directus-token"
}
},
"opensearch": {
"command": "npx",
"args": ["-y", "@opensearch-project/mcp-server", "--stdio"],
"env": {
"OPENSEARCH_URL": "https://localhost:9200",
"OPENSEARCH_USERNAME": "admin",
"OPENSEARCH_PASSWORD": "admin"
}
},
"solr": {
"command": "uvx",
"args": ["solr-mcp"],
"env": {
"SOLR_URL": "http://localhost:8983/solr"
}
},
"typo3": {
"command": "mw",
"args": [
"app",
"exec",
"--quiet",
"--installation-id=a-XXXXX",
"vendor/bin/typo3 mcp:server"
]
}
}
}
Kilo Code kann (falls in deinem Setup aktiviert) ein Web-Fetch-/Browsing-Tool verwenden, um externe Seiten abzurufen und zusammenzufassen.
- Aktiviere das Web-/Browsing-Tool in den Kilo-Code-Einstellungen bzw. in der Tool-Liste.
- Bevorzuge öffentliche URLs (ohne Auth) und gib die exakten Ziel-Links in deinem Prompt an.
- Halte den Netzwerkscope klein: eine einzelne Seite oder geringe Tiefe; bitte den Agenten, Quellen zu zitieren.
Prompt-Muster
- „Rufe https://example.com/spec ab und fasse die wichtigsten Endpunkte in 10 Stichpunkten zusammen. Mit kanonischen Links."
- „Öffne https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512 und extrahiere Kontextlänge, Modalitäten und Lizenz. Als JSON zurückgeben."
OpenCode
OpenCode unterstützt MCP-Server über die globale Konfigurationsdatei unter ~/.config/opencode/opencode.json oder projektspezifisch in einer opencode.json-Datei im Projekt-Wurzelverzeichnis.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server", "--stdio"],
"env": { "CONTEXT7_API_KEY": "dein-schlüssel" }
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "--stdio"],
"env": { "POSTGRES_CONNECTION_STRING": "postgresql://..." }
},
"directus": {
"command": "npx",
"args": ["-y", "@directus/content-mcp", "--stdio"],
"env": {
"DIRECTUS_URL": "https://deine-directus-instanz.com",
"DIRECTUS_TOKEN": "dein-directus-token"
}
},
"opensearch": {
"command": "npx",
"args": ["-y", "@opensearch-project/mcp-server", "--stdio"],
"env": {
"OPENSEARCH_URL": "https://localhost:9200",
"OPENSEARCH_USERNAME": "admin",
"OPENSEARCH_PASSWORD": "admin"
}
},
"solr": {
"command": "uvx",
"args": ["solr-mcp"],
"env": {
"SOLR_URL": "http://localhost:8983/solr"
}
},
"typo3": {
"command": "mw",
"args": [
"app",
"exec",
"--quiet",
"--installation-id=a-XXXXX",
"vendor/bin/typo3 mcp:server"
]
}
}
}
Claude Code
In Claude Code werden MCP-Server entweder global (in der Datei ~/.claude.json in deinem Home-Verzeichnis) oder pro Projekt (in einer .mcp.json-Datei im Projektstamm) konfiguriert.
In beiden Konfigurationsdateien definiert der Abschnitt mcpServers die verfügbaren MCP-Server:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server", "--stdio"],
"env": {
"CONTEXT7_API_KEY": "dein-context7-api-key"
}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search", "--stdio"],
"env": {
"BRAVE_API_KEY": "dein-brave-api-key"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "--stdio"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/dbname"
}
},
"directus": {
"command": "npx",
"args": ["-y", "@directus/content-mcp", "--stdio"],
"env": {
"DIRECTUS_URL": "https://deine-directus-instanz.com",
"DIRECTUS_TOKEN": "dein-directus-token"
}
},
"opensearch": {
"command": "npx",
"args": ["-y", "@opensearch-project/mcp-server", "--stdio"],
"env": {
"OPENSEARCH_URL": "https://localhost:9200",
"OPENSEARCH_USERNAME": "admin",
"OPENSEARCH_PASSWORD": "admin"
}
},
"solr": {
"command": "uvx",
"args": ["solr-mcp"],
"env": {
"SOLR_URL": "http://localhost:8983/solr"
}
},
"typo3": {
"command": "mw",
"args": [
"app",
"exec",
"--quiet",
"--installation-id=a-XXXXX",
"vendor/bin/typo3 mcp:server"
]
}
}
}
WebFetch-Konfiguration
Claude Code unterstützt integrierte Web-Fetching-Funktionen. Konfiguration in settings.json:
{
"webFetch": {
"enabled": true,
"allowedDomains": [
"github.com",
"stackoverflow.com",
"docs.python.org",
"developer.mozilla.org"
],
"blockedDomains": [],
"maxDepth": 2,
"followRedirects": true,
"timeout": 10000,
"userAgent": "ClaudeCode/1.0",
"maxContentLength": 1048576
}
}
WebFetch-Verwendungsbeispiele
# API-Dokumentation abrufen und analysieren
claude-code "rufe https://api.github.com/docs ab und fasse die Authentifizierungsmethoden zusammen"
# Implementierungen vergleichen
claude-code "rufe https://github.com/user/repo/blob/main/auth.py ab und vergleiche mit unserer aktuellen auth.py-Implementierung"
# Best Practices recherchieren
claude-code "rufe https://docs.python.org/3/library/asyncio.html ab und hilf mir, unseren Code für async/await umzuschreiben"
WebFetch-Verhalten feinabstimmen
{
"webFetch": {
"enabled": true,
"allowedDomains": ["*.github.com", "docs.*", "*.readthedocs.io"],
"maxDepth": 1,
"extractionRules": {
"removeSelectors": [".sidebar", ".footer", "nav"],
"focusSelectors": ["article", "main", ".documentation"]
},
"caching": {
"enabled": true,
"ttl": 3600
}
}
}
Modellauswahl
- Ministral-3-14B-Instruct-2512: Chat + Vision, allgemeine Assistenten, multimodale UX.
- Devstral-Small-2-24B-Instruct-2512: Agentisches Coding, Tool-Use, Multi-File-Edits; unterstützt Vision.
Long-Context-Tipps (256k)
- Sende nicht das gesamte Repository; nur relevante Dateien/Funktionsinhalte.
- Fasse vorherige Schritte zusammen und nutze IDs/Anker zur Kontextrekonstruktion.
- Nutze Streaming;
max_tokensnur erhöhen, wenn nötig. - Für Tools und Edits deterministisch samplen:
temperature <= 0.2. - Repo-Scope begrenzen; spezifische Dateien/Funktionen anfordern für effizienten Kontext.
- JSON/Tool-Outputs bevorzugen beim Orchestrieren von Multi-Step-Änderungen.
Haftungsausschluss
Drittanbieter‑Tools, MCP‑Server und externe Links werden ohne Gewähr und ohne Empfehlung bereitgestellt. Nutzung auf eigenes Risiko; prüfe Lizenzen und Datenschutzhinweise und setze Zugriffe restriktiv (Least Privilege). Sende keine sensiblen Daten an externe Dienste, sofern nicht erforderlich und zulässig.
Nutzungslimits
Nutzungslimits werden durch den jeweils gebuchten Tarif festgelegt.