🎧 Listen to this article: हिंदी · English · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
Expense Tracking के लिए Remote MCP Server बनाना: एक डेवलपर के रियल-वर्ल्ड सबक
हर बार जब आपको कोई खर्च लॉग करने की आवश्यकता होती है, तो आप एक ऐप, स्प्रेडशीट और ब्राउज़र टैब के बीच स्विच करते हैं। यह थकाऊ है, और जिस काम में कुछ सेकंड लगने चाहिए उसमें मिनट लग जाते हैं। क्या हो अगर आप किसी AI असिस्टेंट को स्वाभाविक रूप से, जैसे आप किसी सहकर्मी से बात कर रहे हों, इसे रिकॉर्ड करने के लिए कह सकें—और यह वास्तव में आपके नियंत्रण वाली जगह पर स्टोर हो जाए?
16 जुलाई, 2026 को, डेवलपर Ali Raza ने साझा किया कि उन्होंने एक रिमोट MCP सर्वर बनाकर और इसे Claude Desktop से जोड़कर इस समस्या को कैसे हल किया। उनकी यात्रा से पता चलता है कि यह समाधान कितना सुरुचिपूर्ण हो सकता है और असली अड़चनें कहाँ छिपी होती हैं।
यह अभी क्यों मायने रखता है
2026 में, AI असिस्टेंट टूल्स के लिए आपके प्राथमिक इंटरफ़ेस बन रहे हैं। लेकिन अधिकांश गाइड यह मान लेते हैं कि आप खिलौना उदाहरण बना रहे हैं जो स्थानीय रूप से चलते हैं या केवल सार्वजनिक APIs के साथ इंटरैक्ट करते हैं। जिस पल आप किसी तीसरे पक्ष को नियंत्रण सौंपे बिना—अपने स्वयं के डेटा और अपनी सेवाओं को बातचीत में लाना चाहते हैं—आप समस्याओं के एक अलग सेट का सामना करते हैं। यह उन समस्याओं को एंड-टू-एंड हल करने की कहानी है।
MCP क्या है, और यह क्यों मायने रखता है?
MCP का अर्थ Model Context Protocol है। इसे Claude और आपके कोड के बीच बातचीत के रूप में सोचें। जब आप Claude Desktop में कुछ लिखते हैं, तो यह उन फ़ंक्शंस को कॉल कर सकता है जो आपके स्वामित्व वाले सर्वर पर रहते हैं। MCP परिभाषित करता है कि वह बातचीत कैसे काम करती है—अनुरोध क्या प्रारूप लेता है, प्रतिक्रिया कैसी दिखती है, त्रुटियों को कैसे संभाला जाता है। यह एक प्रोटोकॉल है, जादू नहीं, लेकिन यह एक रास्ता खोलता है।
MCP के बिना, Claude को अपने व्यक्तिगत खर्च ट्रैकर से जोड़ने का मतलब होगा एक API बनाना, फिर एक Claude प्लगइन बनाना, और फिर उम्मीद करना कि प्लगइन इकोसिस्टम वैसा ही काम करे जैसा आप उम्मीद करते हैं। MCP के साथ, आप कुछ फ़ंक्शंस उजागर ("add an expense," "show me what I spent last month") करते हैं और Claude जानता है कि उन्हें कैसे कॉल करना है। आपका डेटा आपका रहता है। आपका सर्वर आपके नियंत्रण में रहता है।
सेटअप: Raza ने क्या बनाया
समाधान के तीन मुख्य भाग हैं: एक टूल-परिभाषा लेयर, एक डेटाबेस, और Claude Desktop से एक कनेक्शन।
FastMCP के साथ टूल परिभाषा
FastMCP एक Python लाइब्रेरी है जो यह परिभाषित करना आसान बनाती है कि Claude किन फ़ंक्शंस को कॉल कर सकता है। Raza ने चार कोर टूल्स को उजागर करने के लिए इसका उपयोग किया:
add_expense— record a new transactionget_summary— retrieve expense statistics or trendslist_transactions— show recent or filtered expenses- Category management — organize expenses by type
जब आप Claude से पूछें "log $15 for coffee," FastMCP इसे एक फ़ंक्शन कॉल में अनुवादित करता है और इसे सर्वर पर भेजता है।
aiosqlite के साथ डेटाबेस एक्सेस
एक अनुभवहीन दृष्टिकोण मानक SQLite का उपयोग करेगा, जो डेटाबेस द्वारा प्रश्नों का उत्तर देने के दौरान ब्लॉक करता है। एक असिंक्रोनस सर्वर में (जो बिना प्रतीक्षा किए एक साथ कई अनुरोधों को संभालता है), ब्लॉकिंग जहर की तरह है—यह सब कुछ ठप्प कर देता है। Raza ने aiosqlite को अपनाया, जो अन्य कार्यों को फ्रीज किए बिना डेटाबेस अनुरोधों को चलने देता है।
डेटाबेस स्वयं Python के tempfile मॉड्यूल द्वारा प्रबंधित एक अस्थायी निर्देशिका में रहता है। यह सुनने में नाजुक लग सकता है, लेकिन यह वास्तव में अनुकूलनीय है: Raza का परिनियोजन वातावरण (Horizon) एक निश्चित लिखने योग्य पथ की गारंटी नहीं देता है, इसलिए डायनामिक स्टोरेज परिनियोजन अड़चनों को रोकता है।
Claude Desktop से कनेक्ट करना
एक बार सर्वर चालू हो जाने पर, आप इसे Claude Desktop के कॉन्फ़िगरेशन में कस्टम कनेक्टर के रूप में पंजीकृत करते हैं। तब से, जब आप Claude Desktop खोलते हैं और इसे खर्चों के साथ काम करने के लिए कहते हैं, तो यह आपके रिमोट सर्वर तक पहुँचता है।
सर्वर को तैनात करना
Raza ने क्लाउड प्लेटफ़ॉर्म Horizon पर संपूर्ण MCP सर्वर तैनात किया। सर्वर रिमोटली चलता है, आपके लैपटॉप पर नहीं। स्थानीय रूप से चल रहा Claude Desktop इसे इंटरनेट के माध्यम से कॉल करता है। यह अलगाव साफ-सुथरा है: आपके लैपटॉप को चालू रहने की आवश्यकता नहीं है, और आपके सर्वर को किसी भी ऐसे डिवाइस से एक्सेस किया जा सकता है जहां Claude Desktop चलता है।
दो सबक जो ट्यूटोरियल नहीं सिखाते
इसे एंड-टू-एंड बनाने से ऐसी समस्याएं सामने आईं जिन्हें त्वरित-शुरुआती गाइड अनदेखा कर देते हैं।
सबक 1: Windows MSIX सैंडबॉक्सिंग
Windows पर Claude Desktop MSIX पैकेज—Microsoft का आधुनिक ऐप फॉर्मेट—के रूप में आता है। ऑपरेटिंग सिस्टम फ़ाइल सिस्टम को वर्चुअलाइज़ करता है। जब आपको लगता है कि Claude Desktop सामान्य Windows कॉन्फिग फ़ोल्डर में लिख रहा है, तो यह वास्तव में एक सैंडबॉक्स्ड स्थान पर लिख रहा होता है जिसे OS ऐसे प्रस्तुत करता है मानो यह सामान्य हो।
Raza ने इसे कठिन तरीके से खोजा: कॉन्फ़िगरेशन फ़ाइल वहां मौजूद नहीं थी जहां मानक दस्तावेज़ों ने कहा था कि इसे होना चाहिए। इसे हल करने के लिए यह समझना आवश्यक था कि MSIX वर्चुअलाइजेशन कैसे काम करता है, न कि केवल एक रेसिपी का पालन करना।
सबक 2: बुनियादी बातों से परे OAuth
केवल-स्थानीय MCP सर्वर को कभी भी बाहरी सेवाओं के साथ प्रमाणित होने की आवश्यकता नहीं होती है। लेकिन जिस क्षण आपका सर्वर किसी वास्तविक API से बात करता है—मान लीजिए, किसी बैंक से डेटा प्राप्त करने के लिए, या किसी सेवा में खर्च लॉग करने के लिए—आपको OAuth की आवश्यकता होती है। और OAuth केवल "लॉगिन बटन पर क्लिक करें" से कहीं अधिक है।
आपको यह करने की आवश्यकता है:
- OAuth रीडायरेक्ट फ़्लो शुरू करें (उपयोगकर्ता को ऑथराइजेशन सर्वर पर भेजें)
- जब उपयोगकर्ता अनुमति दे तो ऑथराइजेशन कोड प्राप्त करें
- एक्सेस टोकन के लिए उस कोड का आदान-प्रदान करें
- टोकन को सुरक्षित रूप से स्टोर करें
- टोकन की समय सीमा समाप्त होने पर उसे रीफ़्रेश करें
अधिकांश शुरुआती ट्यूटोरियल यह सब छोड़ देते हैं। Raza को इसे सही तरीके से करने के लिए सीधे OAuth विनिर्देश को पढ़ना पड़ा।
परिणाम: सहज खर्च लॉगिंग
इन समस्याओं पर काम करने के बाद, Raza के पास एक कार्यशील प्रणाली तैयार हो गई। Claude Desktop में एक प्राकृतिक-भाषा निर्देश—"log 15 dollars for a coffee, category meals"—MCP के माध्यम से रिमोट सर्वर पर रूट किया जाता है, डेटाबेस में स्टोर किया जाता है, किसी अलग ऐप या वेब फ़ॉर्म की आवश्यकता नहीं होती है।
अधिक महत्वपूर्ण बात यह है कि वास्तविक दुनिया के बग ठीक हो गए हैं। जब Raza Horizon पर तैनात करता है और Windows पर Claude Desktop खोलता है, तो यह बस काम करता है। कोई पाथ आश्चर्य नहीं। फ़्लो को तोड़ने वाली कोई टोकन समाप्ति नहीं।
आगे क्या है
Raza इसे LangGraph का उपयोग करके एजेंटिक वर्कफ़्लो में विस्तारित कर रहे हैं, जो मल्टी-स्टेप AI एजेंट बनाने के लिए एक ढांचा है। लक्ष्य स्टेटफुल लॉजिक जोड़ना है: AI केवल एक बार में एक टूल कॉल निष्पादित नहीं करता है, यह एक योजना बनाता है, इसे कई चरणों में निष्पादित करता है, प्रगति की जाँच करता है, और महत्वपूर्ण कार्य करने से पहले मानव स्वीकृति माँगने के लिए रुक सकता है।
रिपॉजिटरी GitHub पर सार्वजनिक है github.com/AliRaza3485/test-remote-mcp-server, इसलिए यदि आप MCP या LangGraph के साथ निर्माण कर रहे हैं, तो आप इन पैटर्न को प्रत्यक्ष रूप से देख सकते हैं।
निष्कर्ष
एक रिमोट MCP सर्वर बनाना रूपरेखा में सीधा है—अपने टूल्स परिभाषित करें, उन्हें डेटाबेस से जोड़ें, सर्वर को Claude Desktop के साथ पंजीकृत करें—लेकिन विवरण मायने रखते हैं। Windows पैकेजिंग, असिंक्रोनस डेटाबेस एक्सेस, और OAuth लाइफसाइकिल मैनेजमेंट दुर्लभ एज़ केस नहीं हैं; वे किसी भी वास्तविक परिनियोजन का हिस्सा हैं। Raza की यात्रा से पता चलता है कि खिलौना उदाहरण और कार्यशील प्रणाली के बीच का अंतर दिखने से कम है, लेकिन आपको खुली आँखों से इस पर चलना होगा।
गुण
- डेटा स्वामित्व: आपका खर्च डेटा आपके अपने डेटाबेस में रहता है, न कि किसी विक्रेता के क्लाउड में।
- स्वाभाविक बातचीत: कोई अलग UI या ऐप नहीं; आप आसान अंग्रेजी में Claude Desktop से पूछते हैं।
- विस्तारणीयता: एक बार नींव बन जाने के बाद, नए टूल जोड़ना (बजट अलर्ट, बार-बार होने वाले खर्च, आदि) सीधा है।
- सीखने का संसाधन: सार्वजनिक रिपॉजिटरी OAuth, असिंक्रोनस डेटाबेस और परिनियोजन की बारीकियों के लिए वास्तविक दुनिया के पैटर्न दिखाती है।
- एकीकरण: Windows, Mac, और अन्य प्लेटफ़ॉर्म जहां यह चलता है, पर Claude Desktop के साथ सहजता से काम करता है।
दोष
- परिचालन जिम्मेदारी: सर्वर के मालिक आप हैं। आउटेज, सुरक्षा पैच, और डेटाबेस बैकअप आपकी ज़िम्मेदारी हैं।
- परिनियोजन जटिलता: Horizon या कोई अन्य प्लेटफ़ॉर्म एक परत जोड़ता है; यदि आप केवल-स्थानीय पसंद करते हैं, तो आपको एक अलग दृष्टिकोण की आवश्यकता होगी।
- OAuth लर्निंग कर्व: यदि आपके सर्वर को बाहरी प्रमाणीकरण की आवश्यकता है, तो आपको केवल ट्यूटोरियल स्निपेट कॉपी करने के बजाय पूरे OAuth फ़्लो को समझने की आवश्यकता होगी।
- Claude तक सीमित: MCP सर्वर Claude Desktop से बात करता है। यदि आप अन्य AI क्लाइंट में समान टूल चाहते हैं, तो आपको अलग एकीकरण की आवश्यकता होगी।
- Tempfile की नाजुकता: डेटाबेस स्टोरेज के लिए Python के tempfile का उपयोग अभी के लिए काम करता है लेकिन बाद में यदि आप होस्टिंग वातावरण बदलते हैं तो इस पर सावधानीपूर्वक विचार करने की आवश्यकता है।
सावधानी
यह लेख शैक्षणिक है और 16 जुलाई, 2026 को Ali Raza द्वारा DEV Community पर रिपोर्ट किए गए वास्तविक घटनाक्रमों का सार प्रस्तुत करता है। आपके द्वारा प्रयास किया जाने वाला कोई भी कार्यान्वयन Raza के सार्वजनिक रिपॉजिटरी और आधिकारिक MCP दस्तावेज़ों को पढ़ने से शुरू होना चाहिए। प्रोडक्शन कार्य के लिए इस लेख पर निर्भर रहने से पहले मूल स्रोत के विरुद्ध सभी दावों की पुष्टि करें। यहाँ वर्णित OAuth पैटर्न और परिनियोजन विवरण Raza के कार्यान्वयन के लिए विशिष्ट हैं; आपके वातावरण में अलग-अलग विकल्पों की आवश्यकता हो सकती है। प्रोडक्शन में जाने से पहले हमेशा नॉन-प्रोडक्शन सेटिंग में कॉन्फ़िगरेशन पथ, टोकन रीफ़्रेश लॉजिक, और डेटाबेस एक्सेस पैटर्न का परीक्षण करें। एक्सेस टोकन और किसी भी सीक्रेट का उचित सुरक्षा प्रथाओं के साथ इलाज करें—उन्हें कभी भी संस्करण नियंत्रण में प्रतिबद्ध न करें या उन्हें सादे पाठ में लॉग न करें।
अक्सर पूछे जाने वाले प्रश्न
Model Context Protocol (MCP) क्या है? — MCP एक मानक प्रोटोकॉल है जो Claude जैसे AI सहायकों को आपके द्वारा नियंत्रित सर्वर द्वारा उजागर किए गए फ़ंक्शंस को कॉल करने की अनुमति देता है, जिससे अलग प्लगइन बनाए बिना आपके स्वयं के टूल्स और डेटा का सहज एकीकरण संभव होता है।
क्या मैं Horizon के बजाय स्थानीय रूप से MCP सर्वर चला सकता हूँ? — हाँ, आप सर्वर को स्थानीय रूप से या इंटरनेट एक्सेस वाले किसी भी प्लेटफ़ॉर्म पर होस्ट कर सकते हैं। Raza ने Horizon को चुना, लेकिन FastMCP और aiosqlite कहीं भी काम करते हैं जहाँ Python चलता है।
क्या MCP सर्वर बनाने के लिए मुझे Python जानने की आवश्यकता है? — उदाहरण Python और FastMCP का उपयोग करता है, लेकिन MCP भाषा-अज्ञेयवादी है। आप Node.js, Go, Rust, या किसी अन्य भाषा में एक MCP सर्वर बना सकते हैं; आप बस एक अलग लाइब्रेरी का उपयोग करेंगे।
यदि मेरा खर्च डेटा रिमोट सर्वर पर है तो मैं उसे सुरक्षित कैसे रखूँ? — ट्रांज़िट में डेटा को एन्क्रिप्ट करने के लिए HTTPS का उपयोग करें, सर्वर को एक निजी नेटवर्क में या प्रमाणीकरण के पीछे चलाएं, और सुनिश्चित करें कि सर्वर स्वयं अप-टू-डेट रखा गया है। संवेदनशील क्रेडेंशियल्स (जैसे OAuth टोकन) को सादे फ़ाइलों में नहीं, बल्कि एक सुरक्षित तिजोरी में संग्रहीत करने पर विचार करें।
क्या होगा यदि रिमोट सर्वर डाउन हो जाए? क्या Claude Desktop काम करना बंद कर देता है? — हाँ, Claude Desktop किसी अनुपलब्ध सर्वर पर होस्ट किए गए टूल्स को कॉल नहीं कर पाएगा। यही कारण है कि प्रोडक्शन MCP सर्वर में आमतौर पर निगरानी, बैकअप और त्वरित पुनर्प्राप्ति की योजना होती है।
क्या मैं कई AI सहायकों को समान टूल्स से जोड़ने के लिए MCP सर्वर का उपयोग कर सकता हूँ? — MCP प्रोटोकॉल-आधारित है, इसलिए सिद्धांत रूप में हाँ। हालाँकि, Claude Desktop वर्तमान में पूर्ण MCP समर्थन वाला प्राथमिक क्लाइंट है। अन्य AI प्लेटफ़ॉर्म के साथ एकीकरण के लिए उन प्लेटफ़ॉर्मों को भी MCP का समर्थन करने की आवश्यकता होगी।
मुझे कितनी बार OAuth टोकन रीफ़्रेश करने की आवश्यकता है? — यह सेवा पर निर्भर करता है। अधिकांश सेवाएं एक घंटे से लेकर कई दिनों तक वैध टोकन जारी करती हैं। Raza का कार्यान्वयन इसे स्वचालित रूप से संभालता है; सर्वर टोकन स्टोर करता है और उनके समाप्त होने से पहले उन्हें रीफ़्रेश करता है।
क्या aiosqlite नियमित SQLite की तुलना में तेज़ है? — रॉ स्पीड में जरूरी नहीं कि तेज हो, लेकिन असिंक्रोनस contexts में अधिक सुरक्षित है। यह डेटाबेस द्वारा किसी प्रश्न का उत्तर देने के दौरान पूरे सर्वर को ठप्प होने से रोकता है, जो तब मायने रखता है जब आप एक साथ कई अनुरोधों को संभाल रहे हों।
Tags
#mcp #aiassistant #expensetracking #clouddeployment #pythondev #fastapi #oauth2 #remoteserver
Docker Security Checklist
Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.