Firebase एमसीपी सर्वर

Firebase MCP सर्वर का इस्तेमाल करके, एआई (AI) के साथ काम करने वाले डेवलपमेंट टूल को अपने Firebase प्रोजेक्ट के साथ काम करने की अनुमति दी जा सकती है. Firebase एमसीपी सर्वर, एमसीपी क्लाइंट के तौर पर काम करने वाले किसी भी टूल के साथ काम करता है. जैसे, Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor वगैरह.

Firebase MCP सर्वर का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया एडिटर, एआई की सुविधाओं का इस्तेमाल करके इन कामों में आपकी मदद कर सकता है:

  • Firebase प्रोजेक्ट बनाना और उन्हें मैनेज करना
  • Firebase Authentication के उपयोगकर्ताओं को मैनेज करना
  • Cloud Firestore और Firebase Data Connect में डेटा का इस्तेमाल करना
  • Firebase Data Connect के स्कीमा वापस लाना
  • Firestore और Firebase के लिए Cloud Storage के सुरक्षा नियमों को समझना
  • Firebase Cloud Messaging की मदद से मैसेज भेजना

यह सिर्फ़ एक सूची है. आपके एडिटर के लिए उपलब्ध टूल की पूरी सूची देखने के लिए, सर्वर की सुविधाएं सेक्शन देखें.

शुरू करने से पहले

  1. पक्का करें कि आपके कंप्यूटर पर Node.js और npm सही तरीके से इंस्टॉल हो.

  2. नीचे दिया गया कमांड चलाकर, Firebase CLI की पुष्टि करें:

    npx -y firebase-tools@latest login --reauth

    Firebase MCP सर्वर, आपके Firebase प्रोजेक्ट के साथ पुष्टि करने के लिए, CLI का इस्तेमाल करता है. MCP सर्वर का इस्तेमाल करने से पहले, आपको सीएलआई से पुष्टि करनी होगी. अगर साइन इन किए बिना सर्वर का इस्तेमाल किया जाता है या पुष्टि करने वाले टोकन की समयसीमा खत्म हो जाती है, तो सर्वर गड़बड़ी का मैसेज प्रिंट करेगा. इसमें, आपको फिर से पुष्टि करने के लिए कहा जाएगा.

एमसीपी क्लाइंट सेट अप करना

Firebase एमसीपी सर्वर, ऐसे किसी भी एमसीपी क्लाइंट के साथ काम कर सकता है जो ट्रांसपोर्ट मीडियम के तौर पर स्टैंडर्ड I/O (stdio) के साथ काम करता है. यहां कुछ लोकप्रिय टूल के लिए खास निर्देश दिए गए हैं:

बुनियादी कॉन्फ़िगरेशन

Claude Desktop

Firebase MCP सर्वर का इस्तेमाल करने के लिए, Claude Desktop को कॉन्फ़िगर करने के लिए, claude_desktop_config.json फ़ाइल में बदलाव करें. इस फ़ाइल को खोलने या बनाने के लिए, Claude > सेटिंग मेन्यू पर जाएं. डेवलपर टैब चुनें. इसके बाद, कॉन्फ़िगरेशन में बदलाव करें पर क्लिक करें.

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
    }
  }
}

क्लाइन

Firebase MCP सर्वर का इस्तेमाल करने के लिए Cline को कॉन्फ़िगर करने के लिए, cline_mcp_settings.json फ़ाइल में बदलाव करें. इस फ़ाइल को खोलने या बनाने के लिए, क्लाइन पैनल में सबसे ऊपर मौजूद एमसीपी सर्वर आइकॉन पर क्लिक करें. इसके बाद, एमसीपी सर्वर कॉन्फ़िगर करें बटन पर क्लिक करें.

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"],
      "disabled": false
    }
  }
}

कर्सर

Cursor को Firebase MCP सर्वर का इस्तेमाल करने के लिए कॉन्फ़िगर करने के लिए, फ़ाइल .cursor/mcp.json (सिर्फ़ किसी खास प्रोजेक्ट को कॉन्फ़िगर करने के लिए) या फ़ाइल ~/.cursor/mcp.json (सभी प्रोजेक्ट में MCP सर्वर उपलब्ध कराने के लिए) में बदलाव करें:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
   }
}

Visual Studio Code Copilot

किसी एक प्रोजेक्ट को कॉन्फ़िगर करने के लिए, अपने वर्कस्पेस में .vscode/mcp.json फ़ाइल में बदलाव करें:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
  }
}

हर प्रोजेक्ट में सर्वर को उपलब्ध कराने के लिए, अपनी उपयोगकर्ता सेटिंग में बदलाव करें:

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
    }
  }
}

Windsurf Editor

Windsurf Editor को कॉन्फ़िगर करने के लिए, फ़ाइल में बदलाव करें ~/.codeium/windsurf/mcp_config.json:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
  }
}

वैकल्पिक कॉन्फ़िगरेशन

ऊपर दिखाए गए हर क्लाइंट के बुनियादी कॉन्फ़िगरेशन के अलावा, दो वैकल्पिक पैरामीटर भी तय किए जा सकते हैं:

  • --dir ABSOLUTE_DIR_PATH: firebase.json वाली डायरेक्ट्री का ऐब्सलूट पाथ, ताकि एमसीपी सर्वर के लिए प्रोजेक्ट का कॉन्टेक्स्ट सेट किया जा सके. अगर कोई डायरेक्ट्री नहीं चुनी जाती है, तो get_project_directory और set_project_directory टूल उपलब्ध हो जाएंगे. साथ ही, डिफ़ॉल्ट डायरेक्ट्री वह काम करने वाली डायरेक्ट्री होगी जहां एमसीपी सर्वर शुरू किया गया था.

  • --only FEATURE_1,FEATURE_2: चालू करने के लिए, सुविधाओं के ग्रुप की सूची, जिसमें कॉमा लगा हो. इसका इस्तेमाल करके, सिर्फ़ उन सुविधाओं के लिए टूल दिखाए जा सकते हैं जिनका इस्तेमाल किया जा रहा है. ध्यान दें कि मुख्य टूल हमेशा उपलब्ध होते हैं

उदाहरण के लिए:

"firebase": {
  "command": "npx",
  "args": [
    "-y",
    "firebase-tools@latest", "experimental:mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

एमसीपी सर्वर की सुविधाएं

टूल का नाम फ़ीचर ग्रुप ब्यौरा
firebase_get_project कोर फ़िलहाल चालू Firebase प्रोजेक्ट के बारे में जानकारी दिखाता है.
firebase_list_apps कोर मौजूदा Firebase प्रोजेक्ट में रजिस्टर किए गए ऐप्लिकेशन को वापस लाता है.
firebase_get_admin_sdk_config कोर मौजूदा प्रोजेक्ट के लिए, Admin SDK कॉन्फ़िगरेशन पाता है.
firebase_get_sdk_config कोर यह किसी प्लैटफ़ॉर्म के लिए, Firebase SDK टूल के कॉन्फ़िगरेशन की जानकारी दिखाता है. आपको प्लैटफ़ॉर्म या app_id में से किसी एक की वैल्यू देनी होगी.
firebase_create_project कोर नया Firebase प्रोजेक्ट बनाता है.
firebase_create_app कोर यह वेब, iOS या Android के लिए, आपके Firebase प्रोजेक्ट में एक नया ऐप्लिकेशन बनाता है.
firebase_create_android_sha कोर किसी मौजूदा Android ऐप्लिकेशन में SHA सर्टिफ़िकेट हैश जोड़ता है.
firebase_get_environment कोर मौजूदा Firebase एनवायरमेंट के बारे में जानकारी दिखाता है. इसमें, पुष्टि किए गए मौजूदा उपयोगकर्ता, प्रोजेक्ट डायरेक्ट्री, चालू प्रोजेक्ट वगैरह की जानकारी शामिल है.
firebase_update_environment कोर Firebase एनवायरमेंट कॉन्फ़िगरेशन को अपडेट करता है. जैसे, प्रोजेक्ट डायरेक्ट्री, चालू प्रोजेक्ट, चालू उपयोगकर्ता खाता वगैरह. फ़िलहाल कॉन्फ़िगर किया गया एनवायरमेंट देखने के लिए, firebase_get_environment का इस्तेमाल करें.
firebase_init कोर Workspace में चुनी गई Firebase सुविधाओं को शुरू करता है. सभी सुविधाएं ज़रूरी नहीं हैं. सिर्फ़ वे प्रॉडक्ट दें जिन्हें सेट अप करना है. किसी मौजूदा प्रोजेक्ट डायरेक्ट्री में नई सुविधाओं को शुरू किया जा सकता है. हालांकि, किसी मौजूदा सुविधा को फिर से शुरू करने से कॉन्फ़िगरेशन ओवरराइट हो सकता है.
firestore_delete_document firestore मौजूदा प्रोजेक्ट के डेटाबेस से, Firestore दस्तावेज़ों को मिटाता है. इसके लिए, दस्तावेज़ के पूरे पाथ का इस्तेमाल किया जाता है. अगर आपको किसी दस्तावेज़ का सटीक पाथ पता है, तो इसका इस्तेमाल करें.
firestore_get_documents firestore मौजूदा प्रोजेक्ट के डेटाबेस से, दस्तावेज़ के पूरे पाथ के हिसाब से एक या उससे ज़्यादा Firestore दस्तावेज़ों को वापस लाता है. अगर आपको किसी दस्तावेज़ का सटीक पाथ पता है, तो इसका इस्तेमाल करें.
firestore_list_collections firestore मौजूदा प्रोजेक्ट में, Firestore डेटाबेस से कलेक्शन की सूची वापस लाता है.
firestore_query_collection firestore यह फ़ंक्शन, मौजूदा प्रोजेक्ट के किसी कलेक्शन से एक या उससे ज़्यादा Firestore दस्तावेज़ों को वापस लाता है. यह कलेक्शन, दस्तावेज़ के पूरे पाथ के साथ मौजूद होता है. अगर आपको किसी कलेक्शन का सटीक पाथ और दस्तावेज़ के लिए फ़िल्टर करने का क्लॉज़ पता है, तो इसका इस्तेमाल करें.
firestore_get_rules firestore मौजूदा प्रोजेक्ट के लिए, Firestore के चालू सुरक्षा नियमों को वापस लाता है.
firestore_validate_rules firestore दिए गए Firestore नियमों के सोर्स में सिंटैक्स और पुष्टि से जुड़ी गड़बड़ियों की जांच करता है. पुष्टि करने के लिए, सोर्स कोड या सोर्स फ़ाइल का पाथ दें.
auth_get_user auth ईमेल पते, फ़ोन नंबर या यूआईडी के आधार पर उपयोगकर्ता को वापस लाता है.
auth_disable_user auth यह यूआईडी के आधार पर, किसी उपयोगकर्ता को बंद या चालू करता है.
auth_list_users auth तय सीमा तक, प्रोजेक्ट में मौजूद सभी उपयोगकर्ताओं की जानकारी दिखाता है.
auth_set_claim auth किसी खास उपयोगकर्ता के खाते पर कस्टम दावा सेट करता है. किसी उपयोगकर्ता से जुड़ी भरोसेमंद वैल्यू बनाने के लिए इसका इस्तेमाल करें. उदाहरण के लिए, उसे एडमिन के तौर पर मार्क करना. दावों का साइज़ सीमित होना चाहिए. साथ ही, नाम और वैल्यू कम से कम होनी चाहिए. value या json_value पैरामीटर में से सिर्फ़ एक का इस्तेमाल करें.
auth_set_sms_region_policy auth Firebase Auth के लिए, एसएमएस क्षेत्र की नीति सेट करता है. इससे उन इलाकों पर पाबंदी लगाई जा सकती है जहां देश कोड की अनुमति या अस्वीकार सूची के आधार पर, टेक्स्ट मैसेज मिल सकते हैं. सेट होने पर, यह नीति किसी भी मौजूदा नीति को बदल देगी.
dataconnect_list_services dataconnect मौजूदा प्रोजेक्ट में उपलब्ध Firebase Data Connect सेवाओं की सूची बनाएं.
dataconnect_get_schema dataconnect प्रोजेक्ट में Firebase Data Connect स्कीमा के बारे में जानकारी पाएं. इसमें Cloud SQL डेटा सोर्स और डेटा मॉडल के बारे में बताने वाला GraphQL स्कीमा शामिल है.
dataconnect_get_connectors dataconnect प्रोजेक्ट में Firebase Data Connect कनेक्टर पाएं. इनमें पहले से तय की गई GraphQL क्वेरी शामिल होती हैं, जिन्हें क्लाइंट SDK टूल ऐक्सेस कर सकते हैं.
dataconnect_execute_graphql dataconnect Data Connect सेवा या उसके एमुलेटर के लिए, मनमुताबिक GraphQL को लागू करता है.
dataconnect_execute_graphql_read dataconnect Data Connect सेवा या उसके एमुलेटर के लिए, कोई भी GraphQL क्वेरी चलाता है. डेटा नहीं लिखा जा सकता.
dataconnect_execute_mutation dataconnect किसी सेवा या उसके एमुलेटर के लिए, डिप्लॉय किया गया Data Connect म्यूटेशन लागू करता है. डेटा पढ़ने और उसमें बदलाव करने की अनुमति है.
dataconnect_execute_query dataconnect किसी सेवा या उसके एमुलेटर के लिए, डिप्लॉय की गई Data Connect क्वेरी को लागू करता है. कोई डेटा नहीं लिखा जा सकता.
storage_get_rules मेमोरी मौजूदा प्रोजेक्ट के लिए, Storage की सुरक्षा से जुड़े चालू नियमों को वापस लाता है.
storage_validate_rules मेमोरी सिंटैक्स और पुष्टि से जुड़ी गड़बड़ियों के लिए, दिए गए स्टोरेज नियमों के सोर्स की जांच करता है. पुष्टि करने के लिए, सोर्स कोड या सोर्स फ़ाइल का पाथ दें.
storage_get_object_download_url मेमोरी Firebase Storage में मौजूद किसी ऑब्जेक्ट का डाउनलोड यूआरएल दिखाता है.
messaging_send_message मैसेज सेवा Firebase Cloud Messaging रजिस्ट्रेशन टोकन या विषय पर मैसेज भेजता है. किसी कॉल में registration_token या topic में से सिर्फ़ एक का इस्तेमाल किया जा सकता है.
remoteconfig_get_template remoteconfig प्रोजेक्ट के लिए रिमोट कॉन्फ़िगरेशन टेंप्लेट को वापस लाता है
remoteconfig_publish_template remoteconfig प्रोजेक्ट के लिए नया रिमोट कॉन्फ़िगरेशन टेंप्लेट पब्लिश करता है
remoteconfig_rollback_template remoteconfig किसी प्रोजेक्ट के लिए, Remote Config टेंप्लेट के किसी खास वर्शन पर रोलबैक करना
crashlytics_list_top_issues crashlytics ऐप्लिकेशन में क्रैश होने से जुड़े क्रैशलिटिक्स के सबसे ज़्यादा क्रैश की सूची बनाएं.