# व्यावहारिक गाइड

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

रोज़मर्रा के Maguyva MCP काम के लिए व्यावहारिक उदाहरण। हर उदाहरण में टूल और उन्हें चलाने का क्रम बताया गया है, सभी पैरामीटर का पूरा विवरण नहीं। टूल पैरामीटर के लिए [MCP API संदर्भ](https://maguyva.ai/docs/mcp-api) देखें। पहली बार सेटअप करने के लिए [त्वरित शुरुआत](https://maguyva.ai/docs/quickstart) देखें।

### सही उपकरण चुनें

ज़्यादातर सवालों के लिए पहले एक कॉल करें। आगे तभी जाएँ जब पहला जवाब बहुत व्यापक हो या उसमें पर्याप्त जानकारी न हो।

- `intelligent_search` — कोडबेस के बारे में स्वाभाविक भाषा में प्रश्न पूछने के लिए यहाँ से शुरू करें। डिफ़ॉल्ट auto/balanced जिन प्रश्नों को उच्च विश्वास के साथ परिभाषा खोज के रूप में पहचानता है, उन्हें संरचनात्मक खोज पर, संदर्भ या प्रभाव से जुड़े प्रश्नों को ग्राफ़ पर और सटीक मिलान वाले प्रश्नों को टेक्स्ट खोज पर भेजता है। अन्य प्रश्न अर्थ-आधारित खोज और इंडेक्स किए गए टेक्स्ट का उपयोग करते हैं। खोज की चारों विधियाँ माँगने के लिए mode=hybrid या quality=thorough के साथ auto का उपयोग करें। स्पष्ट रूप से चुने गए mode को quality पर प्राथमिकता मिलती है।
- `find_symbol` - आप पहले से ही फ़ंक्शन, क्लास या वेरिएबल नाम जानते हैं।
- `dependency_search` — ब्लास्ट रेडियस: कॉल करने वाले और निर्भर कोड के हिस्से, या एडिट से पहले (और बाद में) उसका प्रभाव।
- `get_task_context` — अपरिचित हिस्से में काम के लिए; कार्य के विवरण से संबंधित फ़ाइलों, सिंबल और डिपेंडेंसी का सीमित समूह।
- `repository_context` - सुलभ रिपॉज़िटरी को सूचीबद्ध करें या निरीक्षण करें कि रिपॉज़िटरी नाम कैसे हल होता है।
- `operation="guidance"` के साथ `ask_maguyva` - टूल चयन और Maguyva उपयोग पर स्थानीय सहायता (कोई रिपो म्यूटेशन नहीं)।

JSON ब्लॉक, MCP tools/call के इनपुट हैं। owner/repo, ब्रांच और सिंबल के नामों को अपनी रिपॉज़िटरी के मानों से बदलें।

### क्लाइंट स्थापित करें और सत्यापित करें

अपने MCP क्लाइंट में Maguyva प्राप्त करें और वास्तविक रिपॉज़िटरी सूची के साथ कनेक्शन की पुष्टि करें।

1. [app.maguyva.ai](https://app.maguyva.ai) में एक API कुंजी बनाएं (कुंजियाँ `mgv_` से शुरू होती हैं)।
2. कम से कम एक GitHub रिपॉज़िटरी को कनेक्ट और इंडेक्स करें जिसे आप पहले से ही समझते हैं।
3. [इंस्टालेशन गाइड](https://maguyva.ai/docs/installation) (Claude Code प्लगइन, या Cursor, VS Code, Devin Desktop, Zed, और अन्य के लिए मूल रिमोट कॉन्फ़िगरेशन) का उपयोग करके अपने क्लाइंट को वायर करें।
4. अपने एजेंट से "मैंने कौन-सी रिपॉज़िटरी कनेक्ट की हैं?" पूछें — इससे ऑथेंटिकेशन और `repository_context` की शुरू से अंत तक जाँच होती है।
5. उस रिपो के बारे में एक वास्तविक प्रश्न पूछें जिसका उत्तर आप ग्रेड कर सकते हैं। आपको अनुक्रमित ट्री से फ़ाइल पथ और पंक्ति संख्याएँ देखनी चाहिए।

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

API कुंजी, ब्रिज या गायब रिपॉज़िटरी की समस्या है? [समस्या निवारण](https://maguyva.ai/docs/troubleshooting)।

### संपादित करने से पहले पूछें

साझा कोड बदलने से पहले सिंबल और ब्लास्ट रेडियस का नक़्शा बनाएँ। Maguyva टूल आपकी रिपॉज़िटरी नहीं बदलते — वे उस एडिट के लिए जानकारी देते हैं जिसे आपका क्लाइंट लोकल रूप से लागू करता है।

1. अगर सिंबल का नाम पता है, तो उसकी डेफिनिशन और इस्तेमाल की जगहें ढूँढने के लिए `find_symbol` कॉल करें।
2. यदि आपके पास केवल कार्य विवरण है ("SSO जोड़ें", "बिलिंग वेबहुक ठीक करें"), तो `get_task_context` या `intelligent_search` से प्रारंभ करें।
3. साझा सिंबल एडिट करने से पहले `dependency_search` को dependents/impact विश्लेषण के साथ कॉल करें (या PR जैसे प्रभाव-विश्लेषण के लिए बदले हुए पाथ दें), ताकि ब्लास्ट रेडियस दिखे।
4. उद्धृत फ़ाइलें खोलें (डिस्क पर फ़ाइलों के लिए स्थानीय रीड; रिमोट/क्रॉस-रिपो पथों के लिए `get_file`) और वास्तविक कोड के विरुद्ध योजना की पुष्टि करें।
5. बदलाव के बाद उन्हीं सिंबलों को `dependency_search` से दोबारा जाँचें, verify_after_edit=true और targets या changed_paths के साथ। यह इंडेक्स किया गया ग्राफ़ पढ़ता है, स्थानीय बदलाव नहीं जिनका अभी कमिट नहीं हुआ है: इसे नए रिविज़न के प्रमाण के रूप में मानने से पहले indexed_commit_sha और इंडेक्स कितना अद्यतन है, यह जाँचें, और स्थानीय टेस्ट चलाएँ।

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

पूर्ण पैरामीटर: [MCP API संदर्भ](https://maguyva.ai/docs/mcp-api).

### खोजें, फिर बदलें

एजेंट का सामान्य लूप: खोजबीन → सिंबल तय करना → प्रमाण के आधार पर एडिट।

1. `intelligent_search` और एक सामान्य भाषा की क्वेरी ("सत्र समाप्ति कैसे काम करती है", "पुनः प्रयास करने का तर्क कहां है") से प्रारंभ करें।
2. पहले परिणाम समूह में बहुत से असंबंधित परिणाम हों तो भाषा या पाथ फ़िल्टर से दायरा सीमित करें। language_filter, auto/hybrid से ग्राफ़ को हटा देता है; केवल ग्राफ़ पर भेजी गई auto क्वेरी तब अर्थ-आधारित और टेक्स्ट खोज पर लौट आती है। language_filter के साथ स्पष्ट graph mode अस्वीकार कर दिया जाता है। चुनी गई खोज योजना देखने के लिए routing_decision.modalities_used देखें; warnings तभी मौजूद होता है जब सर्वर ने कोई चेतावनी दी हो।
3. वही अस्पष्ट सवाल फिर पूछने के बजाय उपयोगी लग रहे नतीजों की आगे जाँच `find_symbol` या `dependency_search` से करें।
4. `get_file` का उपयोग केवल तभी करें जब आपको एक विशिष्ट अनुक्रमित पथ की आवश्यकता हो जो डिस्क पर न हो।
5. अपने सामान्य क्लाइंट टूल में संपादित करें. Maguyva खोज और सत्यापन के लिए है - लिखने के लिए नहीं।

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

यह लूप क्यों काम करता है: [यह काम किस प्रकार करता है](https://maguyva.ai/docs/how-it-works).

### खाली या अधूरे नतीजे

जब टूल कुछ उपयोगी न लौटाएँ, तो क्वेरी बार-बार बदलने से पहले रिपॉज़िटरी की पहचान और इंडेक्सिंग ठीक करें।

1. पुष्टि करें कि रिपॉज़िटरी कनेक्ट है और [app.maguyva.ai](https://app.maguyva.ai) में अनुक्रमण समाप्त हो गया है।
2. रिपॉज़िटरी स्ट्रिंग जाँचें: `"owner/repo"` डिफ़ॉल्ट ब्रांच चुनता है; `"owner/repo:branch"` किसी खास ब्रांच को चुनता है। मिलान में बड़े-छोटे अक्षरों का फ़र्क नहीं पड़ता, लेकिन मिलता-जुलता नाम स्वीकार नहीं होता — टाइपो अपने आप ठीक नहीं होते।
3. `action="info"` के साथ `repository_context` पर कॉल करें और रिज़ॉल्यूशन मेटाडेटा का निरीक्षण करें (उदाहरण के लिए `metadata.resolution_reason`)।
4. `repository` को केवल तभी हटाएं जब आपका MCP क्लाइंट अनुरोध डिफ़ॉल्ट प्रदान करता है या कुंजी बिल्कुल एक रिपॉज़िटरी तक पहुंच सकती है; अन्यथा इसे स्पष्ट रूप से पारित करें।
5. अधिक विशिष्ट क्वेरी, `find_symbol` के माध्यम से ज्ञात symbol नाम, या भाषा/पथ फ़िल्टर के साथ पुनः प्रयास करें। यदि कनेक्शन स्वयं टूट गया है, तो [समस्या निवारण](https://maguyva.ai/docs/troubleshooting) का उपयोग करें।

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

सेटअप विफलताएँ: [समस्या निवारण](https://maguyva.ai/docs/troubleshooting).

### एकाधिक रिपॉज़िटरी में कार्य करें

जब कुंजी से एक से ज़्यादा रिपॉज़िटरी एक्सेस हो सकती हों, तो सही इंडेक्स की गई रिपॉज़िटरी चुनें।

1. आपकी कुंजी द्वारा खोजे जा सकने वाले सटीक स्लग जानने के लिए एक बार `action="list"` के साथ `repository_context` पर कॉल करें।
2. जब आपको गैर-डिफ़ॉल्ट रिपो (उदाहरण के लिए `"owner/other-repo"` या `"owner/other-repo:develop"`) की आवश्यकता हो तो खोज और symbol टूल पर स्पष्ट रूप से `repository` पास करें।
3. जब तक आप जानबूझकर अलग-अलग कॉल में रिपोज़ की तुलना नहीं करते, तब तक एक प्रश्न = एक रिपॉज़िटरी रखें।
4. जब फ़ाइल ऐसी इंडेक्स की गई रिपॉज़िटरी में हो जो आपका मौजूदा वर्किंग ट्री नहीं है, तो `get_file` इस्तेमाल करें।
5. याद रखें: उपकरण कभी भी GitHub पर वापस नहीं लिखते - कई रीपो का संदर्भ केवल पढ़ने और योजना बनाने के लिए है।

रिपॉज़िटरी प्रारूप विवरण: [MCP API संदर्भ](https://maguyva.ai/docs/mcp-api)।

पहली बार सेटअप कर रहे हैं? [त्वरित शुरुआत](https://maguyva.ai/docs/quickstart) से शुरू करें, फिर रोज़मर्रा के कामों के लिए ये तरीके अपनाएँ।
