Inleiding: Waarom AI-Assistenten de Juiste Basis Nodig Hebben
AI-assistenten zijn niet langer futuristische toevoegingen — ze worden de ruggengraat van ontwikkelaarsworkflows, klantenservice en contentautomatisering. Maar om ze betrouwbaar, veilig en consistent te maken, heb je de juiste omgevingsconfiguratie nodig.
Voor Laravel-ontwikkelaars betekent dit het configureren van de MCP (Model Context Protocol) server en machtigingen voor Codex CLI. Dit zorgt ervoor dat de assistent veilig kan lezen, schrijven en testen binnen je codebase — zonder geheimen of destructieve bestanden aan te raken.
Deze gids leidt je door:
- Wat MCP-servers zijn en waarom ze belangrijk zijn
- Hoe je
mcp.jsonconfigureert voor Laravel - Best practices voor machtigingen en veiligheid
- Hoe Codex CLI integreert met Laravel-workflows
- Beperkingen en veelvoorkomende valkuilen
Aan het einde heb je een productieklare Codex CLI-setup voor Laravel-projecten.
Stap 1: MCP Begrijpen in Eenvoudige Taal
MCP (Model Context Protocol) is de "brug" tussen je AI-assistent en je lokale project.
- Servers: Definiëren tools die de assistent kan gebruiken (bestandssysteem, shell, git, HTTP).
- Machtigingen: Beheren wat de assistent kan lezen/schrijven/uitvoeren.
- Veiligheid: Zorgen dat
.env,vendor/enstorage/niet worden aangeraakt.
Zie MCP als een firewall voor je AI-assistent: het laat Codex CLI je helpen met coderen maar blokkeert alles wat onveilig is.
Stap 2: Een Project-niveau mcp.json Aanmaken
Plaats je MCP-configuratie altijd in de projectroot, zodat teamgenoten dezelfde setup delen.
Voorbeeld Laravel-veilige mcp.json:
{
"version": "1",
"servers": {
"fs": {
"command": "filesystem",
"permissions": {
"read": ["."],
"write": [
"app/",
"config/",
"database/",
"resources/",
"routes/",
"tests/",
".github/",
"composer.json",
"composer.lock",
"package.json",
"vite.config.*",
".env.example"
],
"deny": [".env", "storage/", "vendor/", "node_modules/"]
}
},
"shell": {
"command": "shell",
"allow": [
"php",
"php artisan",
"composer",
"npm",
"git",
"pint",
"pest"
],
"deny": ["rm", "sudo", "shutdown", "reboot"],
"workingDirectory": "."
},
"git": {
"command": "git",
"allow": ["status", "add", "commit", "diff", "restore", "log"],
"autoStageOnWrite": true
}
}
}
✔ Veilige standaardinstellingen ✔ Staat codering & testen toe ✔ Blokkeert geheimen en destructieve commando's
Stap 3: Hoe Codex CLI Machtigingen Gebruikt
Codex CLI voert niet automatisch commando's uit of overschrijft bestanden. Het:
- Stelt diffs voor → jij keurt ze goed.
- Suggereert shell-commando's → jij keurt ze goed of af.
- Logt alles, zodat jij de controle houdt.
Deze workflow zorgt voor snelheid met vangrails.
Stap 4: MCP Integreren met Laravel Workflow
Zo past Codex CLI in je dagelijkse Laravel-ontwikkelcyclus:
- Feature tests genereren (Pest/PhpUnit)
- Controllers refactoren naar Actions
- CI/CD pipelines opzetten (GitHub Actions, GitLab CI)
- Pint & Pest automatisch uitvoeren bij commits
Omdat MCP .env en gevoelige mappen blokkeert, kan Codex geen geheimen blootstellen of opslag corrumperen.
Stap 5: Best Practices voor Machtigingen
-
Sta schrijven alleen toe waar nodig
app/,tests/,routes/→ ✅.env,storage/,vendor/→ ❌
-
Beperk shell-commando's
- Veilig:
php artisan make:model - Onveilig:
php artisan migrate --forcein productie
- Veilig:
-
Gebruik voorbeeld-envs
- Commit
.env.examplevoor AI-taken - Stel nooit echte
.envbloot
- Commit
-
Commit vaak
- Kleine commits verminderen merge-conflicten
- Makkelijker om AI-gegenereerde wijzigingen terug te draaien
Stap 6: Beperkingen van Codex CLI
Zelfs met MCP geconfigureerd, onthoud:
- Contextvenster: Codex kan niet je hele repo tegelijk "zien". Het kent alleen wat het opent.
- Geen internettoegang: Tenzij je een HTTP-server configureert, kan Codex geen externe data ophalen.
- Goedkeuring vereist: Niets wordt uitgevoerd zonder jouw bevestiging.
- Snelheidslimieten: Langdurige intensieve sessies kunnen throttling activeren (bij Plus-abonnementen is gebruik fair-use met enkele limieten).
Stap 7: Codex CLI Combineren met Claude Code CLI
Ja — je kunt beide tools in dezelfde Laravel-repo gebruiken. Ze respecteren beide dezelfde mcp.json.
Regels om conflicten te vermijden:
- Gebruik één gedeelde configuratie (
mcp.jsonin de root). - Werk op aparte branches voor elke assistent.
- Commit voordat je van tool wisselt.
- Voeg tool-statusmappen (
.junie/,.claude/) toe aan.gitignore.
Op deze manier overschrijven Codex en Claude elkaars context niet.
Praktijkvoorbeeld: Menu Drag-and-Drop in Laravel
Stel je voor dat je een genest menu drag-and-drop functie repareert:
-
Vraag Codex CLI: "Schrijf een Pest feature test voor
MenuController@updateOrdermet geldige/ongeldige payloads." -
Keur gegenereerde tests goed → voer
pestuit. -
Vraag Codex CLI: "Fix de update-logica in
MenuControlleren refactor naarApp/Actions/Menu/UpdateOrder.php." -
Keur wijzigingen goed → tests slagen → commit.
Resultaat: Een functie voltooid in de helft van de tijd, met tests en refactor inbegrepen.
Snelle Kernpunten
- MCP = firewall + toolkit voor AI-assistenten
- Gebruik altijd project-niveau
mcp.json - Blokkeer
.env,vendor/en destructieve commando's - Codex CLI past naadloos in een Laravel test-driven workflow
- Veilig om naast Claude Code CLI te gebruiken met één configuratie
Oproep tot Actie
Wil je een Laravel-klare AI-codeerassistent?
Configureer vandaag je MCP-server, commit een veilige mcp.json, en laat Codex CLI repetitieve ontwikkeltaken afhandelen terwijl jij je op architectuur richt.
Veelgestelde Vragen
V: Kan Codex CLI per ongeluk .env blootstellen?
Nee — niet als je .env weigert in je mcp.json (aanbevolen).
V: Is MCP vereist om Codex CLI te draaien? Ja — MCP definieert welke tools de assistent kan gebruiken.
V: Kan Codex database-migraties uitvoeren?
Alleen als je het goedkeurt en php artisan migrate op de whitelist zet. Beperk dit voor veiligheid tot testomgevingen.
V: Kan ik Claude en Codex samen gebruiken?
Ja — zolang je één mcp.json deelt en wijzigingen in aparte commits/branches houdt.