# Recept

Canonical source: https://maguyva.ai/sv/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).

Praktiska recept för det dagliga MCP-arbetet med Maguyva. Varje recept anger verktygen och ordningsföljden, men är ingen fullständig parameterreferens. Verktygsparametrarna finns i [MCP API-referens](https://maguyva.ai/docs/mcp-api). Börja med [Snabbstart](https://maguyva.ai/docs/quickstart) vid första installationen.

### Välj rätt verktyg

De flesta frågor börjar med ett anrop. Gå vidare först om svaret är för brett eller för knapphändigt.

- `intelligent_search` — börja här för en fråga om kodbasen på naturligt språk. Standardläget auto/balanced skickar frågor som med hög säkerhet identifieras som definitionsfrågor till struktursökning, frågor om referenser eller påverkan till grafen och frågor om exakta träffar till textsökning. Övriga frågor använder semantisk betydelse och indexerad text. Använd mode=hybrid eller auto med quality=thorough för att begära alla fyra sökmodaliteter; ett uttryckligen valt läge har företräde framför quality.
- `find_symbol` — du känner redan till funktionen, klassen eller variabelnamnet.
- `dependency_search` — påverkansradie: anropande kod, beroende komponenter eller påverkan före (och efter) en ändring.
- `get_task_context` — okänt område; ett avgränsat paket med filer, symboler och beroenden för en uppgiftsbeskrivning.
- `repository_context` — lista tillgängliga repor eller kontrollera vilket repo ett namn identifierar.
- `ask_maguyva` med `operation="guidance"` — lokal hjälp med verktygsval och användning av Maguyva (utan att ändra kodarkivet).

JSON-blocken är indata till MCP tools/call. Ersätt owner/repo, gren och symbolnamn med värden från ditt repository.

### Installera och verifiera en klient

Anslut Maguyva till din MCP-klient och bekräfta anslutningen genom att hämta en riktig lista över repor.

1. Skapa en API-nyckel i [app.maguyva.ai](https://app.maguyva.ai) (nycklar börjar med `mgv_`).
2. Anslut och indexera minst ett GitHub-repo du redan känner till.
3. Koppla din klient med [Installationsguide](https://maguyva.ai/docs/installation) (Claude Code-plugin, eller inbyggd fjärrkonfiguration för Cursor, VS Code, Devin Desktop, Zed och andra).
4. Fråga din agent "Vilka repor har jag anslutna?" — det testar autentiseringen och `repository_context` hela vägen.
5. Ställ en riktig fråga om repot vars svar du kan bedöma. Du bör få filsökvägar och radnummer från det indexerade trädet.

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

Problem med API-nycklar, bryggor eller saknade repor? [Felsökning](https://maguyva.ai/docs/troubleshooting).

### Fråga innan du redigerar

Kartlägg symboler och påverkansradie innan du ändrar delad kod. Maguyvas verktyg ändrar inte dina repor — de ger underlag för ändringen som klienten gör lokalt.

1. Om du känner till symbolnamnet, anropa `find_symbol` för att hitta definitioner och användningsställen.
2. Om du bara har en uppgiftsbeskrivning ("lägg till SSO", "fixa faktureringswebbhook"), börja med `get_task_context` eller `intelligent_search`.
3. Innan du ändrar en delad symbol, anropa `dependency_search` med analys av beroende komponenter eller påverkan (eller skicka ändrade sökvägar för PR-liknande påverkansanalys) så att du ser påverkansradien.
4. Öppna de citerade filerna (lokal läsning för filer på disk; `get_file` för fjärr-/kors-repo-sökvägar) och bekräfta planen mot riktig kod.
5. Kontrollera samma symboler igen efter ändringen med `dependency_search`, verify_after_edit=true och targets eller changed_paths. Detta läser den indexerade grafen, inte lokala ändringar utan commit: kontrollera indexed_commit_sha och indexets aktualitet innan du använder det som underlag för den nya revisionen, och kör lokala tester.

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

Fullständiga parametrar: [MCP API-referens](https://maguyva.ai/docs/mcp-api).

### Sök och ändra sedan

En standardloop för agenten: utforska → identifiera symboler → ändra med underlag.

1. Börja med `intelligent_search` och en fråga på vanligt språk ('hur hanteras utgångna sessioner', 'var finns logiken för återförsök').
2. Avgränsa med språk- eller sökvägsfilter om det första resultatfönstret innehåller mycket brus. Ett language_filter utesluter graf från auto/hybrid; en auto-fråga som enbart dirigerats till graf faller tillbaka på semantisk sökning och textsökning. Ett uttryckligt grafläge med language_filter avvisas. Kontrollera routing_decision.modalities_used för att se den valda sökplanen; warnings finns bara med när servern har gett en varning.
3. Undersök lovande träffar vidare med `find_symbol` eller `dependency_search` i stället för att ställa samma vaga fråga igen.
4. Använd `get_file` endast när du behöver en specifik indexerad sökväg som inte finns på disken.
5. Redigera i dina vanliga klientverktyg. Maguyva är till för upptäckt och verifiering — inte skrivningar.

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

Varför denna loop fungerar: [Hur det fungerar](https://maguyva.ai/docs/how-it-works).

### Tomma eller tunna resultat

När verktygen inte ger något användbart bör du kontrollera att rätt repo identifieras och indexeras, innan du fortsätter skriva om frågan i all oändlighet.

1. Bekräfta att repot är anslutet och färdigindexerat i [app.maguyva.ai](https://app.maguyva.ai).
2. Kontrollera reposträngen: `"owner/repo"` använder standardgrenen; `"owner/repo:branch"` väljer en bestämd gren. Matchningen ignorerar skiftläge men är inte fuzzy — stavfel rättas inte automatiskt.
3. Anropa `repository_context` med `action="info"` och kontrollera metadata om hur repot identifierades (till exempel `metadata.resolution_reason`).
4. Utelämna `repository` endast när MCP-klienten anger ett anropsspecifikt standardrepo eller nyckeln har åtkomst till exakt ett repo; ange parametern uttryckligen annars.
5. Försök igen med en mer specifik fråga, ett känt symbolnamn via `find_symbol` eller ett språk/sökvägsfilter. Om själva anslutningen är bruten, använd [Felsökning](https://maguyva.ai/docs/troubleshooting).

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

Installationsfel: [Felsökning](https://maguyva.ai/docs/troubleshooting).

### Arbeta över flera arkiv

Välj rätt indexerat repo när en nyckel har åtkomst till flera.

1. Anropa `repository_context` med `action="list"` en gång för att få de exakta repoidentifierare som din nyckel kan söka i.
2. Skicka `repository` uttryckligen på sök- och symbolverktyg när du behöver en icke-standardrepo (till exempel `"owner/other-repo"` eller `"owner/other-repo:develop"`).
3. Håll dig till en fråga = ett repo, om du inte avsiktligt jämför repor i separata anrop.
4. Använd `get_file` när filen finns i ett indexerat repo utanför ditt aktuella arbetsträd.
5. Kom ihåg: verktyg skriver aldrig tillbaka till GitHub – multi-repo-sammanhang är endast för läsning och planering.

Detaljer om repoformat: [MCP API-referens](https://maguyva.ai/docs/mcp-api).

Första gången du konfigurerar? Börja med [Snabbstart](https://maguyva.ai/docs/quickstart) och använd sedan dessa recept för vardagliga uppgifter.
