# Slik velger du en MCP-server for kodeintelligens

Canonical source: https://maguyva.ai/nb/guides/choosing-a-code-intelligence-mcp-server

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Velg serveren som svarer på agentens virkelige spørsmål om din egen kode: hvor et symbol er definert, hvem som kaller det, hva som går i stykker hvis det endres, og hvor et konsept ligger som ingen lenger husker navnet på.

Det krever flere typer søk, ekte parsing av språkene du leverer, en indeks som holder tritt med commitene dine, og et oppsett klienten din fullfører på noen minutter. Kjør 15-minutterstesten nedenfor på et repository du kjenner: den sier mer enn enhver funksjonsliste, denne inkludert.

## Hva du bør sammenligne

Still hver kandidat de samme spørsmålene, og sjekk svarene på din egen kode. En funksjonsliste er en påstand; et riktig svar på ditt repository er bevis.

| Kriterium | Hva du bør spørre om | Slik sjekker du det |
|---|---|---|
| **Søkemoduser** | Kombinerer den semantisk, strukturelt (AST), graf- og eksakt tekstsøk, og sender den hvert spørsmål til riktig modus? Én modus alene etterlater hele klasser av spørsmål ubesvart. | Still ett spørsmål av hver type: et konsept, en kodeform, en liste over kallere og en eksakt feilmelding. |
| **Dybde per språk** | Blir koden i hvert språk du leverer parset til et AST med symboler og relasjoner, eller bare indeksert som tekst? En lang språkliste kan skjule overfladisk støtte. | Finn de publiserte kapabilitetsflaggene for språkene dine, og slå deretter opp ett symbol i hvert av dem. |
| **Størrelse på repository** | Takler den ditt største repository og flere repositories samtidig? Forblir resultatene rangert og avgrenset, eller drukner én stor fil svaret? | Indekser ditt største ekte repository, ikke et demoprosjekt, og ta tiden til første nyttige svar. |
| **Aktualitet og synkronisering** | Hvordan får indeksen vite om nye commits, og hvor lang tid tar det før en endring er søkbar? En utdatert indeks svarer selvsikkert om kode som ikke finnes lenger. | Commit en omdøping, og søk deretter etter både det nye og det gamle navnet. |
| **Sikkerhet og databehandling** | Hvor lagres kildekoden din, hva sendes til tredjeparter, brukes den til trening, og hva slettes når du kobler fra? | Les siden om databehandling. Se etter navngitte leverandører og konkrete sletteregler, ikke merker. |
| **Oppsett per klient** | Finnes det en dokumentert konfigurasjon for hver klient teamet ditt bruker, og betjener ett enkelt endepunkt alle? | Koble til to klienter teamet ditt allerede bruker, og ta tiden på begge. |
| **Prismodell** | Er prisen offentlig? Betaler du per plass, per agent eller per arbeidsområde, og er gratisnivået stort nok til en ekte prøve? | Regn på ditt faktiske oppsett: agentene, repositoriene og de indekserte linjene du faktisk ville kjørt. |
| **Bevis på din kode** | Kan du teste den på ditt eget repository i dag, uten salgssamtale? | Hvis en prøve krever et møte først, er det også et svar. |

### Hvor indeksen ligger

Hvor indeksen ligger, betyr mindre enn hva den kan svare på. Agenten din trenger riktig fil, symbol og liste over kallere i det øyeblikket den planlegger en endring, så vurder hver kandidat ut fra spørsmålene ovenfor, stilt på din egen kode.

## Test på ditt repo på 15 minutter

Bruk et repository du kjenner godt, slik at du kan vurdere hvert svar med en gang. Tell svarene du måtte rette.

1. Koble til repositoriet og noter hvor lang tid det tar før det første søket gir resultater.
2. Still et konseptspørsmål som ikke deler noen nøkkelord med koden, for eksempel «hvor håndterer vi utløpte økter?». Åpne hver sitert fil og linje.
3. Slå opp ett symbol etter navn, og spør deretter etter kallerne. Sammenlign listen med det du vet.
4. Velg en funksjon du har tenkt å endre, og spør hva som avhenger av den. Den listen er påvirkningsradiusen: sjekk den mot testene som ville fanget et brudd.
5. Spør etter en kodeform i stedet for et navn, for eksempel hver rutehåndterer eller hver klasse som implementerer et bestemt grensesnitt.
6. Søk etter en eksakt streng, for eksempel en feilmelding, og bekreft at hvert treff er ekte.
7. Commit en liten omdøping, vent til indeksen har tatt igjen, og søk etter begge navnene.
8. Tell rettelsene. Serveren som trengte færrest, vinner, uansett hva funksjonslisten sier.

## Begrepene forklart

- **MCP-server for kodeintelligens**: En MCP-server som indekserer kildekode og gjør den tilgjengelig for AI-agenter som verktøy. I stedet for å lime inn hele filer i prompten stiller agenten et spørsmål og får rangerte resultater med filstier og linjenumre.
- **Kodegraf**: Et kart over hvordan symboler, filer og moduler henger sammen: definisjoner, referanser, kall, importer og arv. Den svarer på «hvem bruker dette?» uten å lese hver fil.
- **Påvirkningsradius**: Koden som kan bli berørt når et symbol endres: kallerne, det som avhenger av det, og testene som dekker dem. Å kjenne den før en endring er nettopp det grafsøk er til for.
- **AST-søk**: Søk i det abstrakte syntakstreet, kodens parsede struktur. Det finner kode etter form, for eksempel hver funksjon med en bestemt dekoratør, noe vanlig tekstsøk ikke klarer pålitelig.
- **Semantisk søk**: Søk etter betydning ved hjelp av embeddinger. Det finner kode som passer en beskrivelse, selv når koden og spørsmålet ikke har et eneste ord felles.
- **Eksakt tekstsøk**: Treff på literal eller regulært uttrykk. Riktig verktøy for feilmeldinger, konfigurasjonsnøkler og identifikatorer du allerede kjenner.

## Hvor Maguyva passer inn

Maguyva er en hostet MCP-server for kodeintelligens. Den indekserer GitHub-repositoriene du kobler til, og gir agenten din 11 MCP-verktøy, der hvert resultat oppgis med filsti.

- **Søk**: Semantisk, strukturelt, graf- og eksakt tekstsøk, pluss symboloppslag og et ruterverktøy som velger riktig modus for hvert spørsmål. (`intelligent_search`, `semantic_search`, `structural_search`, `text_pattern_search`, `find_symbol`, `dependency_search`, `analyze_dependencies`)
- **Språk**: 285 språk og tekstformater indeksert: 247 med AST-basert strukturelt søk, 282 med symboluttrekk og 151 med grafrelasjoner. Dybden varierer mellom språk, så sjekk dine.
- **Aktualitet**: Indeksene oppdateres via GitHub-synkjobber etter hvert som koden endres.
- **Oppsett**: Ett eksternt MCP-endepunkt, med trinnvise konfigurasjoner for 23 dokumenterte klienter.
- **Priser**: Offentlige, og per arbeidsområde i stedet for per plass. Free-planen dekker 3 repositories og 50 000 indekserte linjer, nok til 15-minutterstesten.
- **Databehandling**: Sikkerhetssiden oppgir hva som lagres hvor, hva som sendes for embeddinger, og hva som slettes når du kobler fra.

Repositories kobles i dag til fra GitHub. Hvis koden din ligger et annet sted, sjekk kompatibilitetssiden før du begynner.

- [Start hurtigstarten](https://maguyva.ai/nb/docs/quickstart)
- [Se priser](https://maguyva.ai/nb/pricing)
- [Sjekk språkstøtten](https://maguyva.ai/nb/docs/compatibility)
- [Les detaljene om databehandling](https://maguyva.ai/nb/security)
