Claude के लिए सबसे अच्छा Obsidian MCP सर्वर: सेटअप और विकल्प

MCP सर्वर उसे जोड़ने तक Claude आपके Obsidian नोट्स नहीं पढ़ सकता। mcpvault, cyanheads सर्वर और mcp-obsidian की तुलना करें, Claude Desktop और Claude Code के लिए सटीक सेटअप स्टेप्स फ़ॉलो करें, और वे एरर ठीक करें जो ज़्यादातर पहली कोशिशों को बिगाड़ देते हैं।

Claude के लिए सबसे अच्छा Obsidian MCP सर्वर: सेटअप और विकल्प
Cristian Da Conceicao
Picasso IA के संस्थापक

Claude बहुत होशियार है, लेकिन उसने आपके नोट्स कभी नहीं देखे। पिछली तिमाही की मीटिंग के नोट्स या आपके वॉल्ट में दबा हुआ अधूरा निबंध पूछें, तो वह बस अंदाज़ा ही लगा सकता है। एक Obsidian MCP सर्वर यह दूरी मिटाता है। वह आपकी markdown फ़ाइलों का एक नियंत्रित दरवाज़ा खोलता है, ताकि Claude नोट्स खोज, पढ़ और लिख सके, और आप तय करते रहें कि वह किन्हें छुए।

असली पेच चुनाव में है। एक दर्जन से ज़्यादा सर्वर मौजूद हैं, और 2026 में पैकेज नाम, प्लगइन और पोर्ट काफ़ी बदले हैं। यह लेख बताता है कि कौन सा सर्वर आपका समय लायक है, Claude Desktop और Claude Code के लिए सटीक सेटअप समझाता है, और उन गलतियों की ओर इशारा करता है जिनमें पूरी दोपहर बर्बाद हो जाती है। संक्षेप में: बिना प्लगइन के तेज़ शुरुआत के लिए mcpvault चुनें, और जब Obsidian खुद बीच में चाहिए तब cyanheads का obsidian-mcp-server जैसा REST आधारित सर्वर अपनाएँ।

💡 त्वरित निर्णय: कोई प्लगइन और चलता हुआ ऐप नहीं चाहिए? फ़ाइलसिस्टम सर्वर इस्तेमाल करें। सक्रिय नोट, कमांड और periodic notes चाहिए? Local REST API सर्वर इस्तेमाल करें।

Obsidian MCP सर्वर क्या करता है

MCP का मतलब है Model Context Protocol, वह ओपन स्टैंडर्ड जिसे Anthropic ने पेश किया ताकि AI ऐप्स सर्वर कहलाने वाले छोटे प्रोग्रामों के ज़रिए बाहरी टूल्स तक पहुँच सकें। Obsidian MCP सर्वर ऐसा ही एक प्रोग्राम है। वह Claude और आपके वॉल्ट के बीच बैठता है, यानी markdown फ़ाइलों का एक सादा फ़ोल्डर, और टूल्स की एक छोटी सूची दिखाता है: फ़ाइलें सूचीबद्ध करना, नोट पढ़ना, खोजना, टेक्स्ट जोड़ना, सेक्शन एडिट करना, और कुछ सर्वरों में नोट्स को मूव या डिलीट करना।

एक हाथ इंडेक्स कार्ड्स से भरे ओक के कार्ड कैटलॉग का दराज़ खींचता हुआ

Claude आपका वॉल्ट कैसे पढ़ता है

जब आप सवाल पूछते हैं, तो Claude तय करता है कि टूल कॉल मदद करेगी या नहीं। लिखें "pricing experiment से जुड़े मेरे नोट्स खोजो" और वह search टूल को कॉल करता है, फ़ाइल पाथ और snippets पाता है, फिर सबसे अच्छे मैच पर read टूल चलाता है। सर्वर आपकी अपनी मशीन पर चलता है, और Claude Desktop किसी टूल के इस्तेमाल से पहले आपकी मंज़ूरी माँगता है।

एक बात ध्यान में रखें: Claude जो भी नोट पढ़ता है वह बातचीत का हिस्सा बन जाता है, यानी वह टेक्स्ट प्रोसेसिंग के लिए Anthropic को भेजा जाता है। जो सामग्री सच में निजी है, उसे उस फ़ोल्डर से बाहर रखें जिसे आप खोल रहे हैं।

फ़ाइलसिस्टम बनाम Local REST API

हर Obsidian सर्वर दो डिज़ाइनों में से एक में आता है, और यह चुनाव बाकी सब कुछ तय करता है:

  • फ़ाइलसिस्टम सर्वर सीधे .md फ़ाइलें पढ़ते और लिखते हैं। उन्हें सिर्फ़ वॉल्ट का पाथ चाहिए, वे Obsidian बंद होने पर भी चलते हैं, और एक लाइन में इंस्टॉल हो जाते हैं। वे Obsidian की लाइव स्थिति नहीं देख सकते, जैसे कि कौन सा नोट खुला है।
  • Local REST API सर्वर Obsidian से उसके community प्लगइन Local REST API के ज़रिए बात करते हैं। वे सक्रिय नोट तक पहुँच सकते हैं, Obsidian कमांड चला सकते हैं, और periodic notes इस्तेमाल कर सकते हैं, लेकिन Obsidian चालू होना चाहिए और आपको प्लगइन से एक टोकन देना होगा।

सबसे अच्छे सर्वरों की तुलना

डायरेक्टरी लिस्टिंग हर हफ़्ते बदलती हैं, इसलिए मैं स्टार की गिनती छोड़कर वह तुलना करता हूँ जो सच में आपके सेटअप को प्रभावित करती है। कोई कमांड कॉपी करने से पहले हर README जाँचें, क्योंकि इस साल कई प्रोजेक्टों ने पैकेज का नाम बदला या ब्रेकिंग रिलीज़ दिए।

एक नज़र में

सर्वरकिससे जुड़ता हैObsidian खुला होना चाहिएसबसे अच्छा किसके लिए
mcpvault (@bitbonsai/mcpvault)वॉल्ट फ़ोल्डरनहींतेज़, बिना प्लगइन का सेटअप
obsidian-mcp-server (cyanheads)Local REST API प्लगइनहाँरोज़ का भारी इस्तेमाल, समृद्ध टूल्स
mcp-obsidian (MarkusPfundstein)Local REST API प्लगइनहाँPython उपयोगकर्ता, uvx इंस्टॉल
obsidian-mcp (StevenStavrakis)वॉल्ट फ़ोल्डरनहींटैग मैनेजमेंट
Obsidian MCP Toolsप्लगइन और Local REST APIहाँसिमेंटिक सर्च, Templater
बिल्ट-इन endpoint (नई Local REST API रिलीज़ में)प्लगइन खुदहाँबीच में कोई प्रोग्राम नहीं

एक साफ़-सुथरी ओक की मेज़ का ऊपर से दिखता दृश्य, जिस पर लैपटॉप, कॉफ़ी और जुड़े हुए वृत्तों वाली एक नोटबुक रखी है

💡 नाम का जाल: npm पैकेज जिसे पहले mcp-obsidian कहा जाता था, 2026 की शुरुआत में @bitbonsai/mcpvault रखा गया। पुराने नाम वाले ट्यूटोरियल आपको गलत पैकेज पर ले जा सकते हैं, इसलिए नाम मौजूदा README से कॉपी करें।

आसान सेटअप के लिए mcpvault

mcpvault शून्य से काम करने वाले वॉल्ट कनेक्शन तक का सबसे छोटा रास्ता है। आप एक आर्गुमेंट देते हैं, यानी वॉल्ट का पाथ, और यह फ़ाइलें सीधे पढ़ता है। पाथ छोड़ देने पर यह मौजूदा working directory इस्तेमाल करता है, जो तब काम आती है जब आप Claude Code को वॉल्ट के भीतर से शुरू करते हैं। इसके टूल्स नोट्स पढ़ने और लिखने, patch शैली के एडिट, सर्च, frontmatter और टैग को संभालते हैं, हालाँकि मौजूदा सूची README में मिलेगी।

चूँकि यह Obsidian के अपने API को कभी नहीं छूता, ऐप बंद रह सकता है, और हज़ारों नोट्स वाले वॉल्ट पर भी यह तेज़ रहता है। इसकी कीमत यह है कि यह Obsidian कमांड नहीं चला सकता और न यह जान सकता है कि आप कौन सा नोट देख रहे हैं।

फ़र्श से छत तक की किताबों की अलमारियों का लो-एंगल दृश्य, गुनगुनी दोपहर की रोशनी में रोलिंग सीढ़ी के साथ

भारी इस्तेमाल के लिए cyanheads

cyanheads का obsidian-mcp-server TypeScript में लिखा गया है और Local REST API प्लगइन से जुड़ता है। मैंने जिन डायरेक्टरी लिस्टिंग को देखा उनमें इसकी npm डाउनलोड सबसे ज़्यादा हफ़्तावार थीं, और एक हालिया रिलीज़ ने इसे प्लगइन के वर्ज़न 4 के अनुकूल बनाया। इसके README में global search, नोट के भीतर search and replace, और frontmatter व टैग मैनेजमेंट लिखे हैं।

इसे तब चुनें जब Claude आपका रोज़ का साथी हो, प्रयोग भर नहीं। इस गहराई की कीमत एक अतिरिक्त कड़ी है: प्लगइन, उसका टोकन, और खुली हुई Obsidian विंडो।

लाइव फ़ीचर्स के लिए REST सर्वर

MarkusPfundstein का mcp-obsidian Python विकल्प है। आप इसे uvx के साथ लॉन्च करते हैं, और यह HTTPS पोर्ट 27124 पर 127.0.0.1 पर प्लगइन से बात करता है। इसके टूल्स में search, किसी नोट में टेक्स्ट जोड़ना, और किसी खास heading के नीचे कंटेंट patch करना शामिल हैं। यह प्रोजेक्ट लंबे समय तक शांत रहा, फिर मई 2026 में इसके maintainer लौटे, इसलिए इस पर भरोसा करने से पहले हाल के commits देख लें।

दो और पर नज़र डालने लायक हैं। Obsidian MCP Tools Obsidian के भीतर से इंस्टॉल होता है और Smart Connections के ज़रिए सिमेंटिक सर्च के साथ Templater सपोर्ट जोड़ता है। और Local REST API की नई रिलीज़ें खुद एक built-in MCP endpoint भेजती हैं, जिसका मतलब है कि आप बीच में कोई Node या Python प्रोग्राम रखे बिना Claude को सीधे प्लगइन की ओर इशारा कर सकते हैं। सटीक पता प्लगइन के release notes में देखें।

स्थिति के हिसाब से मेरी पसंद:

  1. पाँच मिनट में चालू करना है: mcpvault।
  2. दिन भर Obsidian इस्तेमाल करते हैं और समृद्ध टूल्स चाहिए: cyanheads।
  3. पहले से Python टूलिंग में हैं: mcp-obsidian।
  4. सबसे कम प्रोग्राम इंस्टॉल करने हों: प्लगइन का built-in endpoint, अगर आपके वर्ज़न में है।

Claude Desktop के लिए सेटअप

कोई config छूने से पहले तीन चीज़ें जाँचें। अगर आप npx सर्वर इस्तेमाल करने वाले हैं तो Node.js (current LTS) इंस्टॉल हो, और अगर आप uvx इस्तेमाल करने वाले हैं तो uv इंस्टॉल हो। Claude Desktop इंस्टॉल और साइन-इन हो। और आपको अपने वॉल्ट का absolute path पता हो, जैसे /Users/you/Documents/MyVault या C:\Users\you\Documents\MyVault।

REST सर्वर के लिए आपको प्लगइन भी चाहिए। Obsidian में Settings, Community plugins, Browse खोलें, Local REST API खोजें, उसे इंस्टॉल और enable करें, फिर उसके settings पेज पर दिखने वाला टोकन कॉपी करें। प्लगइन self-signed certificate के साथ HTTPS पोर्ट 27124 पर सुनता है। एक HTTP पोर्ट, 27123, भी मौजूद है, लेकिन वह डिफ़ॉल्ट रूप से बंद रहता है।

Config फ़ाइल बदलें

Claude Desktop में Settings, फिर Developer, फिर Edit Config खोलें। इससे claude_desktop_config.json खुलती है, जो macOS पर ~/Library/Application Support/Claude/ में और Windows पर %APPDATA%\Claude\ में रहती है। mcpvault को इस तरह जोड़ें:

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": ["@bitbonsai/mcpvault@latest", "/Users/you/Documents/MyVault"]
    }
  }
}

Windows पर पाथ में backslash दोगुने करें: "C:\\Users\\you\\Documents\\MyVault"। फ़ाइल सेव करें, फिर Claude Desktop को पूरी तरह बंद करें (मेन्यू बार या system tray से, सिर्फ़ विंडो बंद करके नहीं) और दोबारा खोलें। चैट बॉक्स का tools आइकन अब Obsidian टूल्स दिखाना चाहिए।

मंद रोशनी वाले होम ऑफ़िस में लैपटॉप पर टाइप करते हुए हाथ, जिन पर साइड से रोशनी पड़ रही है

💡 PATH टिप: Claude Desktop आपके shell का PATH विरासत में नहीं लेता। अगर सर्वर शुरू होने में विफल हो, तो npx को उस absolute path से बदलें जो macOS पर which npx या Windows पर where npx प्रिंट करता है।

REST सर्वर जोड़ें

REST सर्वर उसी फ़ाइल का इस्तेमाल करता है, बस एंट्री अलग होती है। mcp-obsidian का ढाँचा यह है:

{
  "mcpServers": {
    "obsidian": {
      "command": "uvx",
      "args": ["mcp-obsidian"],
      "env": {
        "OBSIDIAN_HOST": "127.0.0.1",
        "OBSIDIAN_PORT": "27124"
      }
    }
  }
}

उस env ब्लॉक में एक और एंट्री जोड़ें: आपका प्लगइन टोकन, सर्वर के README में लिखे ठीक वेरिएबल नाम के नीचे। प्रोजेक्टों में नाम अलग होते हैं, इसलिए मैं यहाँ कोई नाम अंदाज़े से नहीं लिखूँगा। चैट करते समय Obsidian खुला रखें, क्योंकि सर्वर वॉल्ट तक प्लगइन के ज़रिए पहुँचता है।

Claude Code के लिए सेटअप

Claude Code सर्वर टर्मिनल से जोड़ता है, JSON एडिट किए बिना।

एक कमांड से इंस्टॉल

mcpvault के लिए:

claude mcp add obsidian --scope user -- npx @bitbonsai/mcpvault@latest /path/to/vault

--scope user फ़्लैग सर्वर को हर प्रोजेक्ट में उपलब्ध कराता है। डिफ़ॉल्ट local scope उसे मौजूदा प्रोजेक्ट तक सीमित रखता है, और project scope एक .mcp.json फ़ाइल लिखता है जिसे आप git में commit कर सकते हैं। कभी भी किसी साझा .mcp.json में टोकन न डालें।

REST सर्वर के लिए, -e के साथ environment values दें:

claude mcp add obsidian --scope user -e OBSIDIAN_HOST=127.0.0.1 -e OBSIDIAN_PORT=27124 -- uvx mcp-obsidian

प्लगइन टोकन उसी तरह जोड़ें, README से वेरिएबल नाम लेकर।

जाँचें और टेस्ट प्रॉम्प्ट चलाएँ

यह देखने के लिए claude mcp list चलाएँ कि सर्वर connected दिख रहा है या नहीं, या किसी सेशन के भीतर /mcp टाइप करें। फिर ऐसे प्रॉम्प्ट आज़माएँ जो साबित करें कि हर टूल काम करता है:

  • "सबसे हाल में बदले दस नोट सूचीबद्ध करें और हर एक का एक लाइन में सार दें।"
  • "pricing experiment का ज़िक्र करने वाले नोट खोजो और उनसे एक status update का ड्राफ़्ट बनाओ।"
  • "आज के तीन फ़ैसले मेरे daily note में Decisions नाम के heading के नीचे जोड़ो।"
  • "ऐसे नोट खोजो जिनमें किसी व्यक्ति का नाम हो, पर उनके पेज का लिंक न हो।"

टीमें synced फ़ोल्डर के ज़रिए एक ही वॉल्ट साझा कर सकती हैं, और हर व्यक्ति अपनी मशीन पर सर्वर जोड़ता है। लिखने की अनुमति सिर्फ़ उन्हीं लोगों तक सीमित रखें जिन्हें उसकी ज़रूरत है।

पुनः इस्तेमाल की गई लकड़ी की मेज़ पर लैपटॉप और छपे हुए पन्ने की समीक्षा करते दो सहकर्मी

लिखने की अनुमति से पहले सुरक्षित आदतें

पढ़ने की अनुमति कम जोखिम वाली है। लिखने की अनुमति वैसी नहीं है, क्योंकि एक गलत समझे गए निर्देश से कोई नोट overwrite हो सकता है या फ़ाइल डिलीट हो सकती है। कुछ आदतें ज़्यादातर खतरा खत्म कर देती हैं।

पहले बैकअप लें

Obsidian Git प्लगइन से वॉल्ट को git repository बनाएँ, या पक्का करें कि Obsidian Sync version history चालू है, या कम से कम फ़ोल्डर को दूसरी ड्राइव पर कॉपी करें। फिर एक बार restore का टेस्ट करें। जिस बैकअप को कभी restore नहीं किया गया, वह बैकअप नहीं, बस एक उम्मीद है।

जब तक आप व्यवहार पर भरोसा न करें, लिखने और डिलीट करने वाले टूल्स को एक-एक कॉल करके मंज़ूरी दें। Allow दबाने से पहले प्रस्तावित बदलाव पढ़ें।

Claude कहाँ तक पहुँचे, यह सीमित करें

फ़ाइलसिस्टम सर्वर किसी भी फ़ोल्डर पाथ को स्वीकार करते हैं, इसलिए पूरे वॉल्ट की जगह उन्हें एक समर्पित सबफ़ोल्डर की ओर इशारा करें। journals और निजी drafts उसके बाहर रखें। टोकन सिर्फ़ अपने local config में रखें, कभी repository में नहीं।

जोखिमसमाधान
गलती से overwriteGit history या version history, जिसे एक बार टेस्ट किया गया हो
डिलीट हुआ नोटDelete कॉल्स को हाथ से मंज़ूरी दें, या ऐसा सर्वर लें जिसमें delete टूल न हो
निजी टेक्स्ट बाहर भेजा गयाएक सबफ़ोल्डर खोलें, संवेदनशील नोट उसके बाहर रखें
लीक हुआ टोकनसिर्फ़ local config में, कभी commit की गई .mcp.json में नहीं

एक पुराने लकड़ी के संदूक पर लगे पीतल के ताले का मैक्रो शॉट

आम सेटअप विफलताएँ ठीक करना

ज़्यादातर पहली कोशिशें साधारण वजहों से विफल होती हैं। इन्हें क्रम से जाँचें।

सर्वर Failed दिखा रहा है

  • Node या uv गायब है। टर्मिनल में node --version या uv --version चलाएँ।
  • गलत PATH। config में npx या uvx का absolute path इस्तेमाल करें।
  • पुराना पैकेज नाम। npm पर mcp-obsidian की जगह @bitbonsai/mcpvault रखें।
  • टूटा हुआ JSON। trailing comma, छूटा हुआ quote, या Windows पाथ में सिंगल backslash देखें।
  • पुराना ऐप। Claude Desktop को पूरी तरह बंद करके दोबारा खोलें।

अगर कुछ मदद न करे, तो MCP log फ़ाइलें खोलें। macOS पर वे ~/Library/Logs/Claude/ में रहती हैं, और Windows पर %APPDATA%\Claude\logs में। आख़िरी कुछ लाइनें आमतौर पर सटीक समस्या बता देती हैं।

पोर्ट और certificate एरर

REST सर्वर अपनी अलग विफलताएँ जोड़ते हैं। Obsidian चालू होना चाहिए और प्लगइन enabled होना चाहिए। 401 या 403 response का मतलब है कि टोकन मेल नहीं खाता, इसलिए उसे दोबारा कॉपी करें, अंत में कोई space न छोड़ें। पोर्ट 27124 पर certificate error प्लगइन के self-signed certificate से आता है: उस पर भरोसा करने के लिए सर्वर README का पालन करें, या प्लगइन settings में HTTP पोर्ट 27123 चालू करके उसे सिर्फ़ localhost पर इस्तेमाल करें। अगर कोई दूसरा प्रोग्राम पोर्ट पकड़े हुए है, तो उसे प्लगइन में और अपने env ब्लॉक में एक साथ बदलें।

बारिश वाली कैफ़े की खिड़की के पास कैपुचीनो के साथ लैपटॉप पर काम करता आदमी

PicassoIA पर Claude के साथ नोट्स ड्राफ़्ट करें

MCP Claude Desktop और Claude Code के भीतर रहता है, इसलिए कोई ब्राउज़र टूल उसकी जगह नहीं ले सकता। PicassoIA काम के दूसरे हिस्से को जोड़ता है: वॉल्ट तक पहुँचने से पहले टेक्स्ट ड्राफ़्ट करना और साफ़ करना, और इसके लिए कुछ इंस्टॉल नहीं करना पड़ता। Claude Sonnet 5 इसके लिए अच्छा विकल्प है, और Claude Opus 4.7 व Claude 4.5 Haiku भारी और हल्के कामों को संभालते हैं।

PicassoIA पर Claude Sonnet 5 कैसे इस्तेमाल करें:

  1. Claude Sonnet 5 पेज खोलें।
  2. अपनी कच्ची सामग्री Prompt में चिपकाएँ: एक मोटा ट्रांसक्रिप्ट, ढीले बुलेट पॉइंट्स, या बिखरा हुआ रिसर्च डंप। फिर वह नोट फ़ॉर्मेट लिखें जो आप चाहते हैं।
  3. System Prompt में एक बार अपने वॉल्ट के नियम भरें, जैसे YAML frontmatter, लोगों के लिए wikilinks, और आपकी heading शैली।
  4. एक Effort स्तर चुनें, फिर चलाएँ।
  5. नतीजा Obsidian में कॉपी करें, या अपने MCP से जुड़े Claude को दें ताकि वह सही फ़ोल्डर में फ़ाइल कर दे।
फ़ील्डक्या करता हैसुझाई गई सेटिंग
Promptआपका कच्चा टेक्स्ट और निर्देशमोटी सामग्री, फिर नोट फ़ॉर्मेट
System Promptसेशन के लिए स्थायी नियमFrontmatter, wikilinks, heading शैली
Effortसोचने की गहराई, low से max तकसफ़ाई के लिए low, लंबी पुनर्संरचना के लिए high
Max Tokensआउटपुट की लंबाई की सीमाडिफ़ॉल्ट 8192 ज़्यादातर नोट्स के लिए ठीक है
Imageवैकल्पिक स्क्रीनशॉट या फ़ोटोव्हाइटबोर्ड की फ़ोटो या diagram

जुड़े हुए इंडेक्स कार्ड्स से ढकी काँच की दीवार पर नोट लगाता शोधकर्ता

💡 Image फ़ील्ड रिसर्च के लिए उपयोगी है: व्हाइटबोर्ड की फ़ोटो लें, Claude से उसे एक संरचित नोट में बदलवाएँ, और अपने वॉल्ट में फ़ाइल कर दें।

Picasso IA पर अपनी इमेज बनाएँ

टेक्स्ट से भरे वॉल्ट को स्कैन करना आसान हो जाता है जब नोट्स के साथ कोई विज़ुअल हो। किसी प्रोजेक्ट नोट के लिए header फ़ोटो, किसी डिज़ाइन ब्रीफ़ के लिए mood board, किसी कहानी के ड्राफ़्ट के लिए फ़ोटोरियलिस्टिक दृश्य: हर एक के लिए एक छोटा प्रॉम्प्ट और Picasso IA पर कुछ ही सेकंड लगते हैं।

विस्तृत, परिष्कृत दृश्यों के लिए Seedream 4.5 आज़माएँ, जब प्रॉम्प्ट लंबा और साफ़-साफ़ बताया गया हो तो GPT Image 2, तीखी यथार्थवादी फ़ोटोग्राफ़ी के लिए FLUX 2 Pro, या जब जल्दी नतीजे चाहिए तो P-Image। सब्जेक्ट, रोशनी और लेंस बताएँ, और शब्दों को किसी फ़ोटोग्राफ़र की शॉट लिस्ट जितना ठोस रखें।

इस हफ़्ते अपना Obsidian MCP सर्वर सेट करें, फिर Picasso IA खोलकर अपने वॉल्ट के लिए पहली इमेज बनाएँ। कुछ प्रॉम्प्ट आज़माएँ, जो आपके नोट्स में फ़िट बैठें उन्हें रखें, और लिखी हुई आदत के साथ एक विज़ुअल आदत भी बनाएँ।

फ़ोटोग्राफ़र की मेज़, जिस पर लैपटॉप और कैमरा लेंस के बगल में छपी तस्वीरें पंखे की तरह फैली हैं

यह लेख शेयर करें

अपनी भाषा चुनें

संबंधित लेख