ফায়ারবেস MCP সার্ভার

আপনি AI-চালিত ডেভেলপমেন্ট টুলগুলিকে আপনার Firebase প্রকল্পগুলির সাথে কাজ করার ক্ষমতা দিতে Firebase MCP সার্ভার ব্যবহার করতে পারেন। Firebase MCP সার্ভার যে কোনো টুলের সাথে কাজ করে যা MCP ক্লায়েন্ট হিসেবে কাজ করতে পারে, যার মধ্যে রয়েছে Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor এবং আরও অনেক কিছু।

Firebase MCP সার্ভার ব্যবহার করার জন্য কনফিগার করা একটি সম্পাদক আপনাকে সাহায্য করার জন্য এর AI ক্ষমতা ব্যবহার করতে পারে:

  • Firebase প্রকল্পগুলি তৈরি এবং পরিচালনা করুন
  • আপনার ফায়ারবেস প্রমাণীকরণ ব্যবহারকারীদের পরিচালনা করুন
  • ক্লাউড ফায়ারস্টোর এবং ফায়ারবেস ডেটা কানেক্টে ডেটা নিয়ে কাজ করুন
  • Firebase ডেটা কানেক্ট স্কিমা পুনরুদ্ধার করুন
  • Firestore এবং Firebase-এর জন্য ক্লাউড স্টোরেজের জন্য আপনার নিরাপত্তা নিয়মগুলি বুঝুন
  • Firebase ক্লাউড মেসেজিং দিয়ে বার্তা পাঠান

কিছু টুল আপনাকে সাহায্য করার জন্য Firebase-এ Gemini ব্যবহার করে:

  • ফায়ারবেস ডেটা কানেক্ট স্কিমা এবং অপারেশন তৈরি করুন
  • Firebase পণ্য সম্পর্কে মিথুনের সাথে পরামর্শ করুন

এগুলো শুধুমাত্র আংশিক তালিকা; আপনার সম্পাদকের কাছে উপলব্ধ সরঞ্জামগুলির একটি সম্পূর্ণ তালিকার জন্য সার্ভার ক্ষমতা বিভাগটি দেখুন।

যখন Firebase MCP সার্ভার টুল কল করে, তখন এটি একই ব্যবহারকারীর শংসাপত্র ব্যবহার করে যেগুলি Firebase CLI যে পরিবেশে এটি চলছে সেখানে অনুমোদন করে। পরিবেশের উপর নির্ভর করে এটি একটি লগ-ইন ব্যবহারকারী বা অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র হতে পারে।

আপনি শুরু করার আগে

  1. নিশ্চিত করুন যে আপনার Node.js এবং npm এর একটি কার্যকরী ইনস্টলেশন আছে।

  2. নিম্নলিখিত কমান্ডটি চালিয়ে Firebase CLI প্রমাণীকরণ করুন:

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

    Firebase MCP সার্ভার আপনার Firebase প্রকল্পগুলির সাথে প্রমাণীকরণ পরিচালনা করতে CLI ব্যবহার করে। MCP সার্ভার ব্যবহার করার আগে আপনাকে অবশ্যই CLI দিয়ে প্রমাণীকরণ করতে হবে। আপনি সাইন ইন না করে সার্ভার ব্যবহার করার চেষ্টা করলে বা আপনার প্রমাণীকরণ টোকেনের মেয়াদ শেষ হয়ে গেলে, সার্ভার আপনাকে পুনরায় প্রমাণীকরণ করতে অনুরোধ করে একটি ত্রুটি বার্তা প্রিন্ট করবে।

আপনার MCP ক্লায়েন্ট সেট আপ করুন

Firebase MCP সার্ভার যেকোনো MCP ক্লায়েন্টের সাথে কাজ করতে পারে যা স্ট্যান্ডার্ড I/O (stdio) কে পরিবহন মাধ্যম হিসেবে সমর্থন করে। এখানে কিছু জনপ্রিয় সরঞ্জামের জন্য নির্দিষ্ট নির্দেশাবলী রয়েছে:

মৌলিক কনফিগারেশন

ক্লদ ডেস্কটপ

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 ফাইলটি সম্পাদনা করুন। আপনি ক্লাইন ফলকের উপরে MCP সার্ভার আইকনে ক্লিক করে, তারপর কনফিগার MCP সার্ভার বোতামে ক্লিক করে এই ফাইলটি খুলতে বা তৈরি করতে পারেন।

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

কার্সার

Firebase MCP সার্ভার ব্যবহার করার জন্য কার্সার কনফিগার করতে, হয় .cursor/mcp.json ফাইলটি সম্পাদনা করুন (শুধুমাত্র একটি নির্দিষ্ট প্রকল্প কনফিগার করতে) অথবা ফাইল ~/.cursor/mcp.json (সমস্ত প্রকল্পে MCP সার্ভার উপলব্ধ করতে):

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

ফায়ারবেস স্টুডিও

Firebase MCP সার্ভার ব্যবহার করার জন্য Firebase Studio কনফিগার করতে, কনফিগারেশন ফাইল(গুলি) সম্পাদনা বা তৈরি করুন:

  • Firebase চ্যাটে Gemini .idx/mcp.json ব্যবহার করে।
  • Gemini CLI .gemini/settings.json ব্যবহার করে।

যদি ফাইলটি এখনও বিদ্যমান না থাকে, তাহলে মূল ডিরেক্টরিতে ডান-ক্লিক করে এবং নতুন ফাইল নির্বাচন করে এটি তৈরি করুন। ফাইলে নিম্নলিখিত বিষয়বস্তু যোগ করুন:

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

ভিজ্যুয়াল স্টুডিও কোড কপাইলট

একটি একক প্রকল্প কনফিগার করতে, আপনার কর্মক্ষেত্রে .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 কনফিগার করতে, ফাইলটি সম্পাদনা করুন ~/.codeium/windsurf/mcp_config.json :

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

ঐচ্ছিক কনফিগারেশন

প্রতিটি ক্লায়েন্টের জন্য প্রাথমিক কনফিগারেশন ছাড়াও, আগে দেখানো হয়েছে, দুটি ঐচ্ছিক পরামিতি রয়েছে যা আপনি নির্দিষ্ট করতে পারেন:

  • --dir ABSOLUTE_DIR_PATH : MCP সার্ভারের জন্য একটি প্রকল্পের প্রসঙ্গ সেট করতে firebase.json ধারণকারী একটি ডিরেক্টরির পরম পথ। অনির্দিষ্ট থাকলে, get_project_directory এবং set_project_directory টুল উপলব্ধ হবে এবং ডিফল্ট ডিরেক্টরি হবে কার্যকারী ডিরেক্টরি যেখানে MCP সার্ভার শুরু হয়েছিল।

  • --only FEATURE_1 , FEATURE_2 : সক্রিয় করার জন্য বৈশিষ্ট্য গোষ্ঠীগুলির একটি কমা দ্বারা পৃথক করা তালিকা৷ শুধুমাত্র আপনি সক্রিয়ভাবে ব্যবহার করছেন এমন বৈশিষ্ট্যগুলির জন্য উন্মুক্ত সরঞ্জামগুলিকে সীমাবদ্ধ করতে এটি ব্যবহার করুন৷ মনে রাখবেন যে মূল সরঞ্জামগুলি সর্বদা উপলব্ধ

যেমন:

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

MCP সার্ভারের ক্ষমতা

টুলের নাম বৈশিষ্ট্য গ্রুপ বর্ণনা
firebase_get_project মূল বর্তমানে সক্রিয় Firebase প্রকল্প সম্পর্কে তথ্য পুনরুদ্ধার করে।
firebase_list_apps মূল বর্তমান ফায়ারবেস প্রকল্পে নিবন্ধিত অ্যাপগুলি পুনরুদ্ধার করে৷
firebase_get_admin_sdk_config মূল বর্তমান প্রকল্পের জন্য অ্যাডমিন SDK কনফিগারেশন পায়।
firebase_list_projects মূল নির্দিষ্ট মোট গণনা পর্যন্ত Firebase প্রকল্পগুলির একটি তালিকা পুনরুদ্ধার করে।
firebase_get_sdk_config মূল নির্দিষ্ট প্ল্যাটফর্মের জন্য Firebase SDK কনফিগারেশন তথ্য পুনরুদ্ধার করে। আপনাকে অবশ্যই একটি প্ল্যাটফর্ম বা একটি app_id উল্লেখ করতে হবে।
firebase_create_project মূল একটি নতুন ফায়ারবেস প্রকল্প তৈরি করে।
firebase_create_app মূল ওয়েব, iOS বা Android এর জন্য আপনার Firebase প্রকল্পে একটি নতুন অ্যাপ তৈরি করে।
firebase_create_android_sha মূল একটি বিদ্যমান Android অ্যাপে একটি SHA শংসাপত্র হ্যাশ যোগ করে৷
firebase_consult_assistant মূল Firebase প্রশ্নের উত্তর দিতে বিশেষভাবে উন্নত করা কোনো AI সহকারীকে একটি প্রশ্ন পাঠান।
ফায়ারবেস_গেট_এনভায়রনমেন্ট মূল বর্তমান প্রমাণীকৃত ব্যবহারকারী, প্রকল্প ডিরেক্টরি, সক্রিয় প্রকল্প এবং আরও অনেক কিছু সহ বর্তমান ফায়ারবেস পরিবেশ সম্পর্কে তথ্য পুনরুদ্ধার করে।
firebase_update_environment মূল ফায়ারবেস এনভায়রনমেন্ট কনফিগারেশন আপডেট করে যেমন প্রকল্প ডিরেক্টরি, সক্রিয় প্রকল্প, সক্রিয় ব্যবহারকারী অ্যাকাউন্ট এবং আরও অনেক কিছু। বর্তমানে কনফিগার করা পরিবেশ দেখতে firebase_get_environment ব্যবহার করুন।
firebase_init মূল ওয়ার্কস্পেসে (ফায়ারস্টোর, ডেটা কানেক্ট, রিয়েলটাইম ডেটাবেস) নির্বাচিত ফায়ারবেস বৈশিষ্ট্যগুলি শুরু করে। সমস্ত বৈশিষ্ট্য ঐচ্ছিক; আপনি সেট আপ করতে চান শুধুমাত্র পণ্য প্রদান. আপনি একটি বিদ্যমান প্রকল্প ডিরেক্টরিতে নতুন বৈশিষ্ট্যগুলি শুরু করতে পারেন, তবে একটি বিদ্যমান বৈশিষ্ট্য পুনরায় আরম্ভ করা কনফিগারেশন ওভাররাইট করতে পারে। প্রারম্ভিক বৈশিষ্ট্যগুলি স্থাপন করতে, firebase_init টুলের পরে firebase deploy কমান্ডটি চালান।
firestore_delete_document ফায়ারস্টোর সম্পূর্ণ নথির পাথ দ্বারা বর্তমান প্রকল্পের একটি ডাটাবেস থেকে একটি Firestore নথি মুছে দেয়। আপনি যদি একটি নথির সঠিক পথ জানেন তবে এটি ব্যবহার করুন।
firestore_get_documents ফায়ারস্টোর পূর্ণ নথি পাথ দ্বারা বর্তমান প্রকল্পের একটি ডাটাবেস থেকে এক বা একাধিক Firestore নথি উদ্ধার করে। আপনি যদি একটি নথির সঠিক পথ জানেন তবে এটি ব্যবহার করুন।
firestore_list_collections ফায়ারস্টোর বর্তমান প্রকল্পে একটি Firestore ডাটাবেস থেকে সংগ্রহের একটি তালিকা পুনরুদ্ধার করে।
firestore_query_collection ফায়ারস্টোর একটি সংগ্রহ থেকে এক বা একাধিক Firestore নথি পুনরুদ্ধার করে একটি সম্পূর্ণ নথির পথ সহ একটি সংগ্রহের মাধ্যমে বর্তমান প্রকল্পের একটি ডাটাবেস। আপনি যদি একটি সংগ্রহের সঠিক পথ এবং নথিটির জন্য আপনি যে ফিল্টারিং ধারাটি চান তা জানলে এটি ব্যবহার করুন।
firestore_get_rules ফায়ারস্টোর বর্তমান প্রকল্পের জন্য সক্রিয় Firestore নিরাপত্তা নিয়ম পুনরুদ্ধার করে।
firestore_validate_rules ফায়ারস্টোর সিনট্যাক্স এবং বৈধতা ত্রুটির জন্য প্রদত্ত ফায়ারস্টোর নিয়মের উত্স পরীক্ষা করে। যাচাই করার জন্য সোর্স কোড বা সোর্স ফাইলের পাথ প্রদান করুন।
auth_get_user প্রমাণ একটি ইমেল ঠিকানা, ফোন নম্বর, বা UID এর উপর ভিত্তি করে একজন ব্যবহারকারীকে পুনরুদ্ধার করে।
auth_disable_user প্রমাণ একটি UID ভিত্তিক ব্যবহারকারীকে নিষ্ক্রিয় বা সক্ষম করে।
auth_list_users প্রমাণ নির্দিষ্ট সীমা পর্যন্ত প্রকল্পের সমস্ত ব্যবহারকারীদের পুনরুদ্ধার করে।
auth_set_claim প্রমাণ একটি নির্দিষ্ট ব্যবহারকারীর অ্যাকাউন্টে একটি কাস্টম দাবি সেট করে। একটি ব্যবহারকারীর সাথে যুক্ত বিশ্বস্ত মান তৈরি করতে ব্যবহার করুন যেমন তাদের প্রশাসক হিসাবে চিহ্নিত করা। দাবিগুলি আকারে সীমিত এবং নাম এবং মূল্যের সংক্ষিপ্ত হওয়া উচিত। শুধুমাত্র একটি value বা json_value প্যারামিটার উল্লেখ করুন।
auth_set_sms_region_policy প্রমাণ দেশের কোডগুলির একটি ALLOW বা DENY তালিকার উপর ভিত্তি করে যে অঞ্চলগুলি পাঠ্য বার্তাগুলি পেতে পারে সেগুলিকে সীমাবদ্ধ করতে Firebase Auth-এর জন্য একটি SMS অঞ্চল নীতি সেট করে৷ এই নীতি সেট করা হলে বিদ্যমান যেকোনো নীতি ওভাররাইড করবে।
dataconnect_list_services ডেটা সংযোগ বর্তমান প্রকল্পে উপলব্ধ ফায়ারবেস ডেটা সংযোগ পরিষেবাগুলির তালিকা করুন৷
dataconnect_generate_schema ডেটা সংযোগ একটি অ্যাপের ব্যবহারকারীদের বর্ণনার উপর ভিত্তি করে একটি ফায়ারবেস ডেটা কানেক্ট স্কিমা তৈরি করে।
dataconnect_generate_operation ডেটা সংযোগ বর্তমানে স্থাপন করা স্কিমা এবং প্রদত্ত প্রম্পটের উপর ভিত্তি করে একটি একক ফায়ারবেস ডেটা কানেক্ট কোয়েরি বা মিউটেশন তৈরি করে।
dataconnect_get_schema ডেটা সংযোগ প্রকল্পে Firebase ডেটা কানেক্ট স্কিমা সম্পর্কে তথ্য পুনরুদ্ধার করুন, যার মধ্যে রয়েছে ক্লাউড SQL ডেটা উৎস এবং ডেটা মডেলের বর্ণনাকারী GraphQL স্কিমা।
dataconnect_get_connectors ডেটা সংযোগ প্রজেক্টে ফায়ারবেস ডেটা কানেক্ট কানেক্টর পান, যার মধ্যে ক্লায়েন্ট SDK-তে অ্যাক্সেসযোগ্য প্রাক-সংজ্ঞায়িত GraphQL কোয়েরি রয়েছে।
dataconnect_execute_graphql ডেটা সংযোগ একটি ডেটা সংযোগ পরিষেবা বা এর এমুলেটরের বিরুদ্ধে একটি নির্বিচারে গ্রাফকিউএল চালায়।
dataconnect_execute_graphql_read ডেটা সংযোগ একটি ডেটা সংযোগ পরিষেবা বা এর এমুলেটরের বিরুদ্ধে একটি নির্বিচারে গ্রাফকিউএল কোয়েরি চালায়। ডেটা লেখা যাবে না।
dataconnect_execute_mutation ডেটা সংযোগ একটি পরিষেবা বা এর এমুলেটরের বিরুদ্ধে একটি স্থাপন করা ডেটা কানেক্ট মিউটেশন কার্যকর করে৷ ডেটা পড়তে এবং লিখতে পারে।
dataconnect_execute_query ডেটা সংযোগ একটি পরিষেবা বা এর এমুলেটরের বিরুদ্ধে একটি স্থাপন করা ডেটা সংযোগ ক্যোয়ারী কার্যকর করে৷ কোন তথ্য লিখতে পারে না.
স্টোরেজ_গেট_রুলস স্টোরেজ বর্তমান প্রকল্পের জন্য সক্রিয় সঞ্চয়স্থান নিরাপত্তা নিয়ম পুনরুদ্ধার করে।
স্টোরেজ_ভ্যালিডেট_রুলস স্টোরেজ সিনট্যাক্স এবং বৈধতা ত্রুটির জন্য প্রদত্ত স্টোরেজ নিয়ম উত্স পরীক্ষা করে। যাচাই করার জন্য সোর্স কোড বা সোর্স ফাইলের পাথ প্রদান করুন।
store_get_object_download_url স্টোরেজ Firebase স্টোরেজের একটি বস্তুর জন্য ডাউনলোড URL পুনরুদ্ধার করে।
মেসেজিং_সেন্ড_মেসেজ মেসেজিং একটি Firebase ক্লাউড মেসেজিং নিবন্ধন টোকেন বা বিষয়ে একটি বার্তা পাঠায়। একটি নির্দিষ্ট কলে শুধুমাত্র একটি registration_token বা topic সরবরাহ করা যেতে পারে।
remoteconfig_get_template remoteconfig প্রকল্পের জন্য একটি দূরবর্তী কনফিগারেশন টেমপ্লেট পুনরুদ্ধার করে
remoteconfig_publish_template remoteconfig প্রকল্পের জন্য একটি নতুন রিমোট কনফিগারেশন টেমপ্লেট প্রকাশ করে
remoteconfig_rollback_template remoteconfig একটি প্রকল্পের জন্য রিমোট কনফিগারেশন টেমপ্লেটের একটি নির্দিষ্ট সংস্করণে রোলব্যাক করুন
crashlytics_list_top_issues ক্র্যাশলাইটিক্স অ্যাপ্লিকেশনে ঘটছে ক্র্যাশলাইটিক্স থেকে শীর্ষ ক্র্যাশের তালিকা করুন।
apphosting_fetch_logs অ্যাপহোস্টিং একটি নির্দিষ্ট অ্যাপ হোস্টিং ব্যাকএন্ডের জন্য সাম্প্রতিকতম লগগুলি নিয়ে আসে৷ buildLogs নির্দিষ্ট করা থাকলে, সর্বশেষ বিল্ডের জন্য বিল্ড প্রক্রিয়া থেকে লগগুলি ফেরত দেওয়া হয়। সাম্প্রতিকতম লগগুলি প্রথমে তালিকাভুক্ত করা হয়েছে।
apphosting_list_backends অ্যাপহোস্টিং বর্তমান প্রকল্পে অ্যাপ হোস্টিং ব্যাকএন্ডের একটি তালিকা পুনরুদ্ধার করে। একটি খালি তালিকা মানে কোন ব্যাকএন্ড নেই। uri হল ব্যাকএন্ডের সর্বজনীন URL। একটি কার্যকরী ব্যাকএন্ডে একটি managed_resources বিন্যাস থাকবে যাতে একটি run_service এন্ট্রি থাকবে। সেই run_service.service হল ক্লাউড রান সার্ভিসের রিসোর্স নাম যা অ্যাপ হোস্টিং ব্যাকএন্ডে পরিবেশন করে। সেই নামের শেষ অংশটি হল পরিষেবা আইডি। domains হল ব্যাকএন্ডের সাথে যুক্ত ডোমেনের তালিকা। তাদের হয় CUSTOM বা DEFAULT টাইপ আছে। প্রতিটি ব্যাকএন্ডে একটি DEFAULT ডোমেইন থাকা উচিত। প্রকৃত ডোমেন যেটি ব্যবহারকারী ব্যাকএন্ডের সাথে সংযোগ করতে ব্যবহার করবে সেটি হল ডোমেন রিসোর্স নামের শেষ প্যারামিটার। যদি একটি কাস্টম ডোমেন সঠিকভাবে সেট আপ করা হয়, তাহলে এটির স্ট্যাটাস থাকবে ACTIVE এ শেষ হবে।