Munin i Cursor.
Supporttråden som meldte feilen og fila som inneholder den, har aldri vært i samme vindu. Én `mcp.json`-oppføring, og det er de — med Cursors verktøygodkjenning akkurat der Munins allerede står.

Hver eneste utvikler har danset denne dansen. En feilmelding kommer inn i supportverktøyet. Du leser den der, oversetter den til dine egne ord, går til editoren, fikser den, og går så tilbake og oversetter fiksen til noe en kunde kan lese. To systemer, to vokabularer, og et menneske i midten som har som jobb å skrive om igjen. Fiksen tar ti minutter. Rundturen tar en time.
Hva gir Munin i Cursor deg egentlig?
Kundeplattformen din som verktøy inne i editoren. Munin serverer mer enn 200 MCP-verktøy på ett endepunkt, så Cursors agent kan lese supporttråden som meldte en feil, slå opp hvem som meldte den, søke i kunnskapsbasen din etter det eksisterende svaret, og skrive svaret — i det samme vinduet der den leser stack tracen.
Det nyttige er ikke bekvemmeligheten. Det er at agenten har kundens nøyaktige ord og kildetreet ditt i én kontekst samtidig.
Hvordan legger du Munin til i Cursor?
Én oppføring i mcp.json. Cursor leser .cursor/mcp.json i et prosjekt for prosjektavgrensede servere, eller ~/.cursor/mcp.json i hjemmekatalogen din for servere du vil ha overalt. Lag en admin-nøkkel under Innstillinger → API-nøkler først; den vises én gang.
{
"mcpServers": {
"munin": {
"url": "https://mcp.getmunin.com",
"headers": {
"Authorization": "Bearer ${env:MUNIN_API_KEY}"
}
}
}
}Den ${env:MUNIN_API_KEY} er ikke pynt. Cursor løser opp variabler i command, args, env, url og headers, så du kan holde legitimasjonen i skallprofilen din i stedet for å sjekke den inn. Gjør det — .cursor/mcp.json er en fil i repoet ditt, og en innlimt admin-nøkkel er en innlimt admin-nøkkel.
Selvdrifter du i stedet? Pek den mot http://localhost:3001/mcp. Munin støtter også avgrenset OAuth, og Cursor støtter OAuth for servere som krever det, som er det bedre valget for alt et menneske styrer.
Når den ikke kobler til, ligger loggene i Output-panelet (Cmd+Shift+U, eller Ctrl+Shift+U på Windows og Linux) under MCP Logs — de viser initialisering, verktøykall og autentiseringsfeil. Og du kan slå av serveren uten å slette den i Cursors MCP-innstillinger (Customize → MCP), som er verdt å vite når 200-og-noe verktøy er mer enn du vil ha i en økt.
Hvordan ser sløyfen ut i praksis?
Ett søk, ett oppslag, én fiks, ett svar — alt inne i editoren. Agenten finner supportsamtalen ut fra ordene kunden faktisk brukte, finner ut hvem som meldte den og hvem andre som traff det samme, fikser koden med klagen og kildetreet i én kontekst, og svarer så i kundens egen tråd og arkiverer forklaringen som et utkast i kunnskapsbasen.
Fire steg som før var fire faner:
- 01Les meldingen i editoren.
conv_search_messagesfinner tråden ut fra formuleringen kunden brukte — ikke den du ville brukt. Den forskjellen er som regel der feilen gjemmer seg. - 02Finn ut hvem som er berørt.
crm_lookup_contactfinner den som meldte,conv_list_conversationsfinner alle andre som beskrev samme oppførsel. To personer er en feilmelding; elleve er en prioritering. - 03Fiks den med konteksten intakt. Agenten har kundens formulering, de berørte kontoene og kildetreet ditt i én kontekst. Ingen oversettelsessteg.
- 04Lukk sløyfen.
conv_send_messagesvarer i kundens egen tråd, ogkb_propose_curation_candidatearkiverer forklaringen som et utkast i kunnskapsbasen, så den neste som spør får et svar i stedet for en sak.
Finner dette faktisk feil, eller flytter det bare saker rundt?
Det finner dem, fordi signalet ligger i formuleringen og formuleringen ligger i trådene. En triage-runde du kan skrive som en ferdighet, klynger samtaler etter språk om ødelagt oppførsel, skiller reelle defekter fra forvirring, og legger interne notater på representative tråder — der det nyttige resultatet er skillet mellom «dette er ødelagt» og «dette er forvirrende», som er ulike saker for ulike team.
Kjør den før du planlegger en sprint, ikke under en. Ferdigheter er markdown du kan lese og redigere, og du bør lese denne før du stoler på dømmekraften dens om hva som teller som en defekt. Det som gjør den lesingen billig, er at oppskriften er en fil framfor en leverandørs svarte boks: endre klyngeregelen, stram inn stoppbetingelsen, lagre den, kjør den på nytt på den samme uka med tråder. Triage-logikk begravd i noens dashbord er ikke noe du kan åpne, redigere eller krangle med.
Hva hindrer agenten i å svare en kunde ved et uhell?
To lag, og de står pent på linje. Cursor ber om godkjenning før den bruker MCP-verktøy som standard, og viser deg argumentene før den kjører — så et conv_send_message-kall er noe du ser og bekrefter, ikke noe du oppdager i etterkant.
Under det gjelder Munins egen asymmetri uansett klient. Billige, reversible handlinger som å merke eller gi en tråd tittel skriver direkte; ugjenkallelige — å løfte en agentskrevet kunnskapsartikkel, å slå sammen to kontakter — kan bare foreslås inn i en gjennomgangskø. Det destruktive verbet ligger ikke i agentens hender til å begynne med, og det er den delen som overlever at noen slår av bekreftelser.
Forhåndsgodkjenner du verktøy for automatisk kjøring i Cursors innstillinger, forhåndsgodkjenn bare de som bare leser, og la skrivingene spørre. Dømmekraften er produktet; klikkingen var det aldri.
En supporttråd er ikke-tiltrodd inndata
Alt en kunde skriver kan ende i agentens kontekst, og det gjør en sak til en plausibel vektor for prompt-injeksjon. Behandle den slik.
Mottiltaket er avgrensning, ikke årvåkenhet: bruk en legitimasjon begrenset til modulene oppgaven trenger, hold skriveverktøy bak godkjenning, og husk at Munins admin-nøkkel er full tilgang til organisasjonen. Ikke legg en slik i en repo-fil.
Hvem passer dette oppsettet ikke for?
Team der support og utvikling er ulike folk med ulikt verktøy. Verdien her er spesifikt for utviklere som også svarer kunder — små team, selskaper som lager utviklerverktøy, alle der den som leser saken også kan fikse koden. En dedikert supportleder vil ha en kø med SLA-klokker og CSAT-scorer, og Zendesk og Intercom har brukt godt over et tiår på å bygge nettopp det; er det den avdelingen du bemanner, kjøp en av dem. Sammenlikningen av supportløsninger med åpen kildekode dekker hvor de selvdriftede alternativene står på det samme spørsmålet.
Det er heller ingen erstatning for å lese ting selv. En agent som oppsummerer elleve tråder vil glatte over den ene merkelig formulerte meldingen som forklarer hele feilen — som er nettopp derfor triage-runden legger interne notater på representative tråder framfor å gi deg et sammendrag, og derfor conv_search_messages returnerer kundens egen setning i stedet for en omskrivning av den.
For teamet dette faktisk passer for, er regnestykket uvanlig. Supporttråden, kontakten som åpnet den, kunnskapsartikkelen som burde ha svart på den, og kildefila som forårsaket den, ligger ett Postgres-skjema og én verktøykatalog fra hverandre — så rundturen som før kostet en time, koster omtrent like lang tid som fiksen. Det er avstanden dette kollapser, og det er den riktige å kollapse når den som holder begge ender er den samme personen.
Ofte stilte spørsmål
Hvordan legger jeg til en ekstern MCP-server i Cursor?
Legg den i .cursor/mcp.json for ett prosjekt eller ~/.cursor/mcp.json globalt, med en url og et headers-objekt for autentisering. Cursor løser opp ${env:NAME} i begge felt, så hold tokens i miljøet ditt framfor i fila.
Hvor ligger Cursors MCP-logger?
Åpne Output-panelet med Cmd+Shift+U (Ctrl+Shift+U på Windows og Linux) og velg MCP Logs fra nedtrekksmenyen. Den viser serverinitialisering, verktøykall og autentiseringsfeil — og det er der de fleste «den vil ikke koble til»-problemene løser seg.
Kommer agenten til å sende meldinger til virkelige kunder? Bare med godkjenning. Cursor spør før MCP-verktøykall som standard og viser argumentene først. Separat lar Munin bare agenter foreslå ugjenkallelige handlinger som å løfte agentskrevne kunnskapsartikler eller slå sammen kontakter — de lander i en gjennomgangskø uansett hvilken klient som er koblet til.
Kan jeg begrense hvilke Munin-verktøy Cursor ser? Ja. Avgrens API-nøkkelen til modulene du trenger, siden Munin styrer verktøysynlighet etter publikum i verktøylaget. Du kan også slå av hele serveren midlertidig i Cursors MCP-innstillinger (Customize → MCP).
Virker dette med Claude Code eller ChatGPT også? Ja. Munin serverer standard MCP uten klientspesifikk oppførsel, så Claude Code, Claude Desktop, ChatGPT, Codex, Gemini og egne kjørere kobler alle til det samme endepunktet. Det finnes en egen gjennomgang for Claude Code, og en for å kjøre det fra ChatGPT uten terminal.
Trenger jeg Munin Cloud?
Nei. Selvdrift er docker compose up og serverer MCP på /mcp på backend-porten din, gratis for alltid under MIT. Cloud driftes i EU med et gratisnivå og den samme verktøyflaten.
Kortversjonen
- Én
mcp.json-oppføring medurlogheaderslegger 200+ Munin-verktøy inn i Cursor. Bruk${env:MUNIN_API_KEY}— den fila bor i repoet ditt. .cursor/mcp.jsonfor ett prosjekt,~/.cursor/mcp.jsonfor overalt. Logger under Output-panelet → MCP Logs.- Sløyfen: finn tråden ut fra kundens formulering, se hvem andre som traff den, fiks den med begge kontekster i ett vindu, svar og arkiver svaret som et KB-utkast.
- Cursor ber om godkjenning før verktøykall; Munin lar bare agenter foreslå kunnskapsløft og sammenslåinger. To lag som er enige med hverandre.
- Dette er bygd for utviklere som også svarer kunder — små team og selskaper som lager utviklerverktøy, der den som leser saken er den som kan fikse den.
Legg til serveren, og spør så Cursor hvilke samtaler fra forrige uke som beskriver at noe er ødelagt. MCP-verktøyreferansen lister hvert eneste av dem, og Munin Cloud er gratis å starte på.
Feilmeldingen og feilen var alltid det samme objektet. Bare verktøyene dine var uenige.