# Cursor technische tutorial: configuratie en automatisering | llmnet Apps

[← Apps-overzicht](/)

# Cursor: technische tutorial

Cursor: [Review](/cursor-review)[Installeren & instellen](/cursor-installatie)[Nieuws](/cursor-nieuws)[Technische tutorial](/cursor-tutorial)

Stand september 2026, samengesteld uit onze eigen notities en nieuwsarchief; tekst machinaal opgesteld en redactioneel gecontroleerd. Controleer versies en commando's in de officiële documentatie.

Deze tutorial is voor developers die meer uit Cursor willen halen dan de chat: regels met glob-scoping, MCP-servers met variabelen en OAuth, de command-line-agent in scripts en CI, en grip op kosten en privacy. Alle bestandsnamen en sleutels zijn gecontroleerd tegen de officiële documentatie (stand september 2026).

## Regels: vier soorten

Cursor kent vier soorten instructies:

- Projectregels in .cursor/rules/, als .mdc-bestanden. Ze gaan mee in versiebeheer en gelden voor deze codebase.

- AGENTS.md in je project: een eenvoudig alternatief in gewoon markdown, dat ook andere coding agents lezen.

- Gebruikersregels in je instellingen: gelden voor al je projecten.

- Teamregels, beheerd via het dashboard (Team- en Enterprise-plannen).

Wil je dat Claude Code, Codex en Cursor dezelfde instructies volgen, zet de gedeelde regels dan in AGENTS.md en houd de Cursor-specifieke verfijning in .cursor/rules/.

### Het .mdc-formaat

Een projectregel is markdown met frontmatter. Gewone .md-bestanden in .cursor/rules/ worden genegeerd.

---
description: "API-handlers: validatie en foutafhandeling"
globs: src/api/**/*.ts
alwaysApply: false
---
- Valideer elke request-body met zod voordat je hem gebruikt.
- Geef fouten terug in het formaat `{ error: { code, message } }`.
- Log nooit volledige request-bodies; ze kunnen persoonsgegevens bevatten.
De drie velden bepalen samen wanneer een regel meedoet:

- Always Apply (alwaysApply: true): in elke sessie. Houd dit kort, want het kost bij elke vraag context.

- Apply Intelligently (alleen een description): de agent beslist aan de hand van de beschrijving. Schrijf de beschrijving dus als een criterium, niet als een titel.

- Apply to Specific Files (globs): zodra bestanden meedoen die op het patroon passen.

- Apply Manually: alleen als je de regel in de chat met @ noemt.

Praktisch patroon: één korte regel met alwaysApply: true voor de basis (stack, test- en buildcommando's), en verder regels met globs per deel van de codebase.

## MCP-servers

MCP-servers configureer je in JSON: per project in .cursor/mcp.json, of globaal in ~/.cursor/mcp.json.

Een lokale server (stdio):

{
 "mcpServers": {
 "database": {
 "command": "npx",
 "args": ["-y", "mijn-db-mcp"],
 "env": { "DATABASE_URL": "${env:DATABASE_URL}" }
 }
 }
}
Een externe server (Streamable HTTP of SSE):

{
 "mcpServers": {
 "docs": {
 "url": "https://docs.example.com/mcp",
 "headers": { "Authorization": "Bearer ${env:DOCS_TOKEN}" }
 }
 }
}
In waarden kun je variabelen gebruiken, zodat geen enkele sleutel in je repository belandt:

- ${env:NAAM}: een omgevingsvariabele.

- ${userHome}: je thuismap.

- ${workspaceFolder}: de root van het project.

- ${workspaceFolderBasename}: de naam van het project.

- ${pathSeparator}: het padscheidingsteken van het besturingssysteem.

Voor servers met vaste OAuth-gegevens voeg je een auth-object toe:

{
 "mcpServers": {
 "crm": {
 "url": "https://api.example.com/mcp",
 "auth": {
 "CLIENT_ID": "${env:MCP_CLIENT_ID}",
 "CLIENT_SECRET": "${env:MCP_CLIENT_SECRET}",
 "scopes": ["read"]
 }
 }
 }
}
Registreer bij de provider als redirect-URL http://localhost:8787/callback voor de desktop-app, en https://www.cursor.com/agents/mcp/oauth/callback voor de webversie en cloud agents.

## De command-line-agent in scripts en CI

Installeer met curl https://cursor.com/install -fsS | bash; het programma heet agent. Met -p (of --print) draait het zonder interactie.

export CURSOR_API_KEY="..." # uit je Cursor-dashboard, als secret in CI

# alleen analyseren
agent -p "Wat doet deze codebase?"

# wijzigingen doorvoeren zonder bevestiging
agent -p --force "Zet deze module om naar moderne ES-syntax"

# gestructureerde uitvoer voor verdere verwerking
agent -p --output-format json "Geef een lijst van ongebruikte exports"

- --output-format kent text, json en stream-json. Die laatste geeft voortgang in real time, handig voor lange taken in CI-logs.

- --force (ook --yolo) laat de agent bestanden wijzigen zonder te vragen. Gebruik het alleen in een schone checkout of container, en laat een mens de diff reviewen.

- --model kiest het model. Zonder die vlag gebruikt de agent je standaardinstelling.

Een simpele CI-stap die een review als artefact bewaart:

agent -p --output-format json \
 "Beoordeel de wijzigingen ten opzichte van main op bugs en beveiligingsrisico's" \
 > review.json

## Kosten beheren

Cursor werkt per september 2026 met twee maandelijkse tegoeden:

- Cursor-modellen: Cursors eigen Composer 2.5 en de Grok-modellen, met ruim inbegrepen gebruik.

- Andere modellen: Claude, GPT, Gemini en dergelijke, afgerekend tegen API-tarieven. In Auto-modus komt daar $0,25 per miljoen tokens bij.

Wat helpt:

- Gebruik voor routinewerk Composer of Auto in de stand Cost. Kies pas een duur model voor lastige taken.

- Houd alwaysApply-regels kort: ze gaan bij elke vraag mee.

- Ga je over je tegoed heen, dan kun je extra gebruik tegen API-tarieven bijkopen of een groter plan nemen. Cursor verlaagt nooit ongemerkt de kwaliteit.

## Privacy en teams

- Privacy Mode zorgt dat je code niet voor training wordt gebruikt en geldt met zero data retention. Uitzonderingen zijn eigen API-sleutels en modellen waarvoor de provider zelf data moet bewaren. Op Teams en Enterprise staat Privacy Mode standaard aan en kan een beheerder hem afdwingen.

- Houd gevoelige mappen (secrets, klantdata) buiten bereik met een .cursorignore in de root van je project; dat werkt met dezelfde syntax als .gitignore. Een regel in .cursor/rules/ is alleen een verzoek aan het model, geen afgedwongen blokkade.

## Problemen oplossen

- Een regel wordt niet toegepast: het bestand heeft de extensie .md in plaats van .mdc, of de globs passen niet op de bestanden in je context. Noem de regel met @ om te testen.

- MCP-server start niet: controleer of de variabele achter ${env:...} bestaat in de omgeving waarin Cursor draait. Apps die vanuit het Dock of het startmenu starten, zien niet altijd de variabelen uit je shellprofiel.

- OAuth-fout bij een externe server: de redirect-URL bij de provider klopt niet met de omgeving (desktop of web).

- CLI-agent vraagt om login in CI: CURSOR_API_KEY is niet gezet of niet als secret doorgegeven aan de job.

Documentatie: [cursor.com/docs](https://cursor.com/docs).
