Cookbook
Practical recipes for everyday Maguyva MCP work. Each recipe names the tools and the sequence — not a full parameter reference. For tool parameters, use the MCP API Reference. For first-time setup, use the Quickstart.
The JSON blocks are MCP tools/call inputs. Replace owner/repo, branch, and symbol names with values from your repository.
Pick the right tool
#Most questions start with one call. Escalate only when the first answer is too broad or too thin.
intelligent_search— start here for a natural-language codebase question. Defaultauto/balancedroutes confident definition questions tostructuralsearch, reference or impact questions tograph, and exact-match questions totext. Other questions usesemanticmeaning and indexedtext. Usemode=hybridorautowithquality=thoroughto request all four; an explicitmodetakes precedence overquality.find_symbol— you already know the function, class, or variable name.dependency_search— blast radius: callers, dependents, or impact before (and after) an edit.get_task_context— unfamiliar area; one bounded bundle of files, symbols, and dependencies for a task description.repository_context— list accessible repositories or inspect how arepositoryname resolves.ask_maguyvawithoperation="guidance"— local help on tool selection and Maguyva usage (no repo mutation).
Install and verify a client
#Get Maguyva into your MCP client and confirm the connection with a real repository list.
- Create an API key in app.maguyva.ai (keys start with
mgv_). - Connect and index at least one GitHub
repositoryyou already understand. - Wire your client using the Installation Guide (Claude Code plugin, or native remote config for Cursor, VS Code, Devin Desktop, Zed, and others).
- Ask your agent "What repositories do I have connected?" — that exercises authentication and
repository_contextend to end. - Ask one real question about that repo whose answer you can grade. You should see file paths and line numbers from the indexed tree.
{
"name": "repository_context",
"arguments": {
"action": "list"
}
}Stuck on keys, bridges, or missing repos? Troubleshooting.
Ask before you edit
#Map symbols and blast radius before changing shared code. Maguyva tools do not modify your repositories — they inform the edit your client applies locally.
- If you know the symbol name, call
find_symbolto land on definitions and uses. - If you only have a task description ("add SSO", "fix the billing webhook"), start with
get_task_contextorintelligent_search. - Before editing a shared symbol, call
dependency_searchwith dependents/impact analysis (or pass changed paths for PR-style impact) so you see the blast radius. - Open the cited files (local read for files on disk;
get_filefor remote/cross-repo paths) and confirm the plan against real code. - After the edit, re-check the same symbols with
dependency_searchusing verify_after_edit=true and targets or changed_paths. This reads the indexedgraph, not uncommitted local changes: check indexed_commit_sha and index freshness before treating it as evidence for the new revision, and run local tests.
{
"name": "dependency_search",
"arguments": {
"repository": "owner/repo",
"target": "getCurrentUser",
"exact_match": true,
"analysis_type": "impact",
"depth": "shallow",
"include_metrics": true,
"limit": 10
}
}Full parameters: MCP API Reference.
Search, then change
#A default agent loop: explore → pin symbols → edit with evidence.
- Start with
intelligent_searchand a plain-languagequery("how does session expiry work", "where is retry logic"). - Narrow with language or path filters when the first window is noisy. A
language_filteromitsgraphfromauto/hybrid; anautoqueryrouted only tographfalls back tosemanticandtext. Explicitgraphmodewith alanguage_filteris rejected. Inspectrouting_decision.modalities_usedto see the selected search plan;warningsis present only when the server raised one. - Promote promising hits to
find_symbolordependency_searchinstead of re-asking the same vague question. - Use
get_fileonly when you need a specific indexed path that is not on disk. - Edit in your normal client tools. Maguyva is for discovery and verification — not writes.
{
"name": "intelligent_search",
"arguments": {
"repository": "owner/repo",
"query": "How does session expiry work?",
"limit": 5
}
}Why this loop works: How It Works.
Empty or thin results
#When tools return nothing useful, fix resolution and indexing before rewriting the query forever.
- Confirm the
repositoryis connected and finished indexing in app.maguyva.ai. - Check the
repositorystring:"owner/repo"uses the defaultbranch;"owner/repo:branch"pins abranch. Matching is case-insensitive, not fuzzy — typos do notauto-correct. - Call
repository_contextwithaction="info"and inspect resolution metadata (for examplemetadata.resolution_reason). - Omit
repositoryonly when your MCP client supplies a request default or the key can access exactly onerepository; otherwise pass it explicitly. - Retry with a more specific
query, a known symbol name viafind_symbol, or a language/path filter. If the connection itself is broken, use Troubleshooting.
{
"name": "repository_context",
"arguments": {
"action": "info",
"repository": "owner/repo:main"
}
}Setup failures: Troubleshooting.
Work across multiple repositories
#Target the right indexed repo when a key can see more than one.
- Call
repository_contextwithaction="list"once to learn the exact slugs your key can search. - Pass
repositoryexplicitly on search and symbol tools when you need a non-default repo (for example"owner/other-repo"or"owner/other-repo:develop"). - Keep one question = one
repositoryunless you intentionally compare across repos in separate calls. - Use
get_filewhen the file lives in an indexed repo that is not your current working tree. - Remember: tools never write back to GitHub — multi-repo context is for reading and planning only.
Repository format details: MCP API Reference.
Setting up for the first time? Start with Quickstart, then use these recipes for everyday tasks.
Next steps
#- Quickstart — key, index, connect, first graded answer
- Installation Guide — per-client MCP config
- MCP API Reference — every tool, parameter by parameter
- Troubleshooting — API key, bridge, and repository failures