# Oppskrifter

Canonical source: https://maguyva.ai/nb/docs/cookbook

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).

Praktiske oppskrifter for hverdagslig Maguyva MCP-arbeid. Hver oppskrift navngir verktøyene og sekvensen – ikke en fullstendig parameterreferanse. For verktøyparametere, bruk [MCP API-referanse](https://maguyva.ai/docs/mcp-api). For førstegangsoppsett, bruk [Hurtigstart](https://maguyva.ai/docs/quickstart).

### Velg riktig verktøy

De fleste spørsmål starter med ett verktøykall. Eskaler bare når det første svaret er for bredt eller for lite konkret.

- `intelligent_search` — start her for spørsmål om kodebasen på naturlig språk. Standardvalget auto/balanced sender spørsmål som sikkert identifiseres som definisjonssøk, til struktursøk, spørsmål om referanser eller påvirkning til grafen og spørsmål om eksakte treff til tekstsøk. Andre spørsmål bruker semantisk mening og indeksert tekst. Bruk mode=hybrid eller auto med quality=thorough for å be om alle fire søkemodaliteter; en eksplisitt angitt modus har forrang over quality.
- `find_symbol` — du kjenner allerede funksjonen, klassen eller variabelnavnet.
- `dependency_search` — påvirkningsradius: kallende kode, kode som er avhengig av den, eller konsekvenser før (og etter) en redigering.
- `get_task_context` — ukjent område; én avgrenset pakke med filer, symboler og avhengigheter for en oppgavebeskrivelse.
- `repository_context` — list tilgjengelige repoer eller undersøk hvordan et reponavn identifiseres.
- `ask_maguyva` med `operation="guidance"` — lokal hjelp om verktøyvalg og Maguyva-bruk (ingen endring av repoet).

JSON-blokkene er inndata til MCP tools/call. Erstatt owner/repo, gren og symbolnavn med verdier fra repositoriet ditt.

### Installer og verifiser en klient

Koble Maguyva til MCP-klienten din og bekreft tilkoblingen med en liste over faktiske repoer.

1. Opprett en API-nøkkel i [app.maguyva.ai](https://app.maguyva.ai) (nøkler starter med `mgv_`).
2. Koble til og indekser minst ett GitHub-repo du allerede kjenner.
3. Koble klienten din ved å bruke [Installasjonsveiledning](https://maguyva.ai/docs/installation) (Claude Code-plugin, eller innebygd fjernkonfigurasjon for Cursor, VS Code, Devin Desktop, Zed og andre).
4. Spør agenten din "Hvilke repoer har jeg koblet til?" — det tester autentisering og `repository_context` fra ende til ende.
5. Still ett ekte spørsmål om repoet der du kan vurdere svaret. Du bør få filstier og linjenumre fra det indekserte treet.

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "list"
  }
}
```

Problemer med nøkler, broer eller repoer som mangler? Se [Feilsøking](https://maguyva.ai/docs/troubleshooting).

### Spør før du redigerer

Kartlegg symboler og påvirkningsradius før du endrer delt kode. Maguyva-verktøy endrer ikke repoene dine — de gir grunnlaget for endringene klienten utfører lokalt.

1. Hvis du kjenner symbolnavnet, kall `find_symbol` for å finne definisjoner og bruksområder.
2. Hvis du bare har en oppgavebeskrivelse ("legg til SSO", "fiks faktureringswebkroken"), start med `get_task_context` eller `intelligent_search`.
3. Før du redigerer et delt symbol, kall `dependency_search` med analyse av dependents eller impact (eller send changed_paths for PR-lignende påvirkning), slik at du ser påvirkningsradiusen.
4. Åpne de siterte filene (lokal lesing for filer på disk; `get_file` for eksterne/kryss-repo-baner) og bekreft planen mot ekte kode.
5. Kontroller de samme symbolene på nytt etter endringen med `dependency_search`, verify_after_edit=true og targets eller changed_paths. Dette leser den indekserte grafen, ikke lokale endringer uten commit: kontroller indexed_commit_sha og hvor oppdatert indeksen er før du bruker dette som underlag for den nye revisjonen, og kjør lokale tester.

```json
{
  "name": "dependency_search",
  "arguments": {
    "repository": "owner/repo",
    "target": "getCurrentUser",
    "exact_match": true,
    "analysis_type": "impact",
    "depth": "shallow",
    "include_metrics": true,
    "limit": 10
  }
}
```

Fullstendige parametere: [MCP API-referanse](https://maguyva.ai/docs/mcp-api).

### Søk og endre

En standard agentsløyfe: utforsk → identifiser symboler → rediger med grunnlag i kode.

1. Start med `intelligent_search` og en vanlig spørring ("hvordan fungerer utløp av økten", "hvor er logikk for forsøk på nytt").
2. Avgrens med språk- eller stifiltre hvis det første resultatvinduet inneholder mye støy. Med language_filter utelates graf fra auto/hybrid; en auto-spørring som bare ble rutet til graf, faller tilbake til semantisk søk og tekstsøk. Eksplisitt grafmodus med language_filter avvises. Se routing_decision.modalities_used for å finne den valgte søkeplanen; warnings finnes bare når serveren har gitt en advarsel.
3. Undersøk lovende treff videre med `find_symbol` eller `dependency_search` i stedet for å stille det samme vage spørsmålet igjen.
4. Bruk `get_file` bare når du trenger en spesifikk indeksert bane som ikke er på disken.
5. Rediger i dine vanlige klientverktøy. Maguyva er for oppdagelse og verifisering, ikke for å skrive eller endre kode.

```json
{
  "name": "intelligent_search",
  "arguments": {
    "repository": "owner/repo",
    "query": "How does session expiry work?",
    "limit": 5
  }
}
```

Hvorfor denne sløyfen fungerer: [Hvordan det fungerer](https://maguyva.ai/docs/how-it-works).

### Tomme eller ufullstendige resultater

Når verktøyene ikke returnerer noe nyttig, kontroller repoidentifisering og indeksering før du skriver om søket om og om igjen.

1. Bekreft at repoet er tilkoblet og ferdig indeksert i [app.maguyva.ai](https://app.maguyva.ai).
2. Sjekk repostrengen: `"owner/repo"` bruker standardgrenen; `"owner/repo:branch"` velger en bestemt gren. Oppslaget skiller ikke mellom store og små bokstaver, men støtter ikke tilnærmede treff — skrivefeil korrigeres ikke automatisk.
3. Kall `repository_context` med `action="info"` og undersøk metadataene for repoidentifisering (for eksempel `metadata.resolution_reason`).
4. Utelat `repository` bare når MCP-klienten oppgir en standard for den aktuelle forespørselen, eller når nøkkelen har tilgang til nøyaktig ett repo; ellers oppgir du parameteren eksplisitt.
5. Prøv på nytt med en mer spesifikk spørring, et kjent symbolnavn via `find_symbol`, eller et språk/banefilter. Hvis selve forbindelsen er brutt, bruk [Feilsøking](https://maguyva.ai/docs/troubleshooting).

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "info",
    "repository": "owner/repo:main"
  }
}
```

Konfigurasjonsfeil: [Feilsøking](https://maguyva.ai/docs/troubleshooting).

### Arbeid på tvers av flere repoer

Velg riktig indeksert repo når en nøkkel har tilgang til flere.

1. Kall `repository_context` med `action="list"` én gang for å lære de nøyaktige repoidentifikatorene nøkkelen din kan søke etter.
2. Send `repository` eksplisitt på søke- og symbolverktøy når du trenger et annet repo enn standardrepoet (for eksempel `"owner/other-repo"` eller `"owner/other-repo:develop"`).
3. Behold ett spørsmål = ett depot med mindre du med vilje sammenligner på tvers av repoer i separate kall.
4. Bruk `get_file` når filen bor i et indeksert repo som ikke er ditt nåværende arbeidstre.
5. Husk: verktøy skriver aldri tilbake til GitHub – multi-repo-kontekst er kun for lesing og planlegging.

Depotformatdetaljer: [MCP API-referanse](https://maguyva.ai/docs/mcp-api).

Setter du opp for første gang? Start med [Hurtigstart](https://maguyva.ai/docs/quickstart), og bruk deretter disse oppskriftene til daglige oppgaver.
