سرور MCP Firebase

می توانید از سرور Firebase MCP استفاده کنید تا به ابزارهای توسعه مبتنی بر هوش مصنوعی توانایی کار با پروژه های Firebase خود را بدهید. سرور Firebase MCP با هر ابزاری که می تواند به عنوان یک مشتری MCP عمل کند، از جمله Claude Desktop، Cline، Cursor، Visual Studio Code Copilot، Windsurf Editor و غیره کار می کند.

ویرایشگر پیکربندی شده برای استفاده از سرور Firebase MCP می تواند از قابلیت های هوش مصنوعی خود برای کمک به شما استفاده کند:

  • پروژه های Firebase را ایجاد و مدیریت کنید
  • کاربران Firebase Authentication خود را مدیریت کنید
  • با داده ها در Cloud Firestore و Firebase Data Connect کار کنید
  • طرحواره های Firebase Data Connect را بازیابی کنید
  • قوانین امنیتی خود را برای Firestore و Cloud Storage برای Firebase بدانید
  • با Firebase Cloud Messaging پیام ارسال کنید

برخی از ابزارها از Gemini در Firebase برای کمک به شما استفاده می کنند:

  • طرح و عملیات Firebase Data Connect را ایجاد کنید
  • در مورد محصولات Firebase با Gemini مشورت کنید

اینها فقط لیست های جزئی هستند. برای لیست کامل ابزارهای موجود در ویرایشگر خود، بخش قابلیت های سرور را ببینید.

هنگامی که سرور Firebase MCP تماس ابزار برقرار می کند، از همان اعتبار کاربری استفاده می کند که Firebase CLI را در محیطی که در آن اجرا می شود مجاز می کند. بسته به محیط، این می تواند یک کاربر وارد شده یا اعتبار پیش فرض برنامه باشد.

قبل از شروع

  1. مطمئن شوید که Node.js و npm را نصب کرده اید.

  2. با اجرای دستور زیر Firebase CLI را احراز هویت کنید:

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

    سرور Firebase MCP از CLI برای انجام احراز هویت با پروژه های Firebase شما استفاده می کند. قبل از استفاده از سرور MCP باید با CLI احراز هویت کنید. اگر سعی کنید بدون ورود به سیستم از سرور استفاده کنید، یا اگر رمز احراز هویت شما منقضی شده باشد، سرور یک پیام خطایی را چاپ می کند که از شما می خواهد دوباره احراز هویت کنید.

سرویس گیرنده MCP خود را تنظیم کنید

سرور Firebase MCP می تواند با هر مشتری MCP که از I/O استاندارد (stdio) به عنوان رسانه انتقال پشتیبانی می کند، کار کند. در اینجا دستورالعمل های خاصی برای برخی از ابزارهای محبوب آورده شده است:

پیکربندی اولیه

کلود دسکتاپ

برای پیکربندی Claude Desktop برای استفاده از سرور Firebase MCP، فایل claude_desktop_config.json را ویرایش کنید. می توانید این فایل را از منوی Claude > Settings باز یا ایجاد کنید. برگه Developer را انتخاب کنید، سپس روی Edit Config کلیک کنید.

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

کلین

برای پیکربندی Cline برای استفاده از سرور MCP Firebase، فایل cline_mcp_settings.json را ویرایش کنید. می‌توانید این فایل را با کلیک کردن روی نماد سرورهای MCP در بالای صفحه Cline باز یا ایجاد کنید، سپس روی دکمه پیکربندی سرورهای MCP کلیک کنید.

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

مکان نما

برای پیکربندی مکان نما برای استفاده از سرور MCP Firebase، فایل .cursor/mcp.json (برای پیکربندی فقط یک پروژه خاص) یا فایل ~/.cursor/mcp.json (برای در دسترس قرار دادن سرور MCP در همه پروژه ها) را ویرایش کنید:

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

استودیو Firebase

برای پیکربندی Firebase Studio برای استفاده از سرور Firebase MCP، فایل(های) پیکربندی را ویرایش یا ایجاد کنید:

  • Gemini در چت Firebase از .idx/mcp.json استفاده می کند.
  • Gemini CLI از .gemini/settings.json استفاده می کند.

اگر فایل هنوز وجود ندارد، با کلیک راست روی پوشه والد و انتخاب فایل جدید ، آن را ایجاد کنید. مطالب زیر را به فایل اضافه کنید:

{
  "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، فایل ~/.codeium/windsurf/mcp_config.json را ویرایش کنید:

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

پیکربندی اختیاری

علاوه بر پیکربندی اولیه برای هر مشتری، که قبلا نشان داده شده است، دو پارامتر اختیاری وجود دارد که می توانید مشخص کنید:

  • --dir ABSOLUTE_DIR_PATH : مسیر مطلق دایرکتوری حاوی firebase.json برای تنظیم زمینه پروژه برای سرور MCP. اگر نامشخص باشد، ابزار 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 را بازیابی می کند.
firebase_get_admin_sdk_config هسته پیکربندی Admin SDK را برای پروژه فعلی دریافت می کند.
firebase_list_projects هسته لیستی از پروژه های Firebase را تا تعداد کل مشخص شده بازیابی می کند.
firebase_get_sdk_config هسته اطلاعات پیکربندی Firebase SDK را برای پلتفرم مشخص شده بازیابی می کند. باید پلتفرم یا app_id را مشخص کنید.
firebase_create_project هسته یک پروژه Firebase جدید ایجاد می کند.
firebase_create_app هسته یک برنامه جدید در پروژه Firebase شما برای وب، iOS یا Android ایجاد می کند.
firebase_create_android_sha هسته هش گواهی SHA را به یک برنامه اندروید موجود اضافه می کند.
firebase_consult_assistant هسته یک سوال به دستیار هوش مصنوعی بفرستید که به طور خاص برای پاسخ به سوالات Firebase بهبود یافته است.
firebase_get_environment هسته اطلاعاتی را در مورد محیط فعلی Firebase از جمله کاربر تأیید شده فعلی، فهرست پروژه، پروژه فعال و غیره بازیابی می کند.
firebase_update_environment هسته پیکربندی محیط Firebase مانند فهرست پروژه، پروژه فعال، حساب کاربری فعال و غیره را به روز می کند. برای مشاهده محیط پیکربندی شده فعلی از firebase_get_environment استفاده کنید.
firebase_init هسته ویژگی های Firebase انتخاب شده را در فضای کاری (Firestore، Data Connect، Realtime Database) راه اندازی می کند. همه ویژگی ها اختیاری هستند. فقط محصولاتی را که می خواهید راه اندازی کنید ارائه دهید. می‌توانید ویژگی‌های جدید را در فهرست پروژه موجود مقداردهی کنید، اما راه‌اندازی مجدد یک ویژگی موجود ممکن است پیکربندی را بازنویسی کند. برای استقرار ویژگی های اولیه، دستور firebase deploy بعد از ابزار firebase_init اجرا کنید.
firestore_delete_document آتش نشانی اسناد Firestore را از یک پایگاه داده در پروژه فعلی توسط مسیرهای سند کامل حذف می کند. اگر مسیر دقیق یک سند را می دانید از این استفاده کنید.
firestore_get_documents آتش نشانی یک یا چند سند Firestore را از یک پایگاه داده در پروژه فعلی توسط مسیرهای سند کامل بازیابی می کند. اگر مسیر دقیق یک سند را می دانید از این استفاده کنید.
firestore_list_collections آتش نشانی فهرستی از مجموعه ها را از پایگاه داده Firestore در پروژه فعلی بازیابی می کند.
firestore_query_collection آتش نشانی بازیابی یک یا چند سند Firestore از یک مجموعه یک پایگاه داده در پروژه فعلی توسط مجموعه ای با یک مسیر سند کامل است. اگر مسیر دقیق یک مجموعه و بند فیلتری را که برای سند می خواهید می دانید، از این استفاده کنید.
firestore_get_rules آتش نشانی قوانین امنیتی Firestore فعال برای پروژه فعلی را بازیابی می کند.
firestore_validate_rules آتش نشانی منبع قوانین Firestore ارائه شده را برای خطاهای نحوی و اعتبارسنجی بررسی می کند. کد منبع را برای اعتبارسنجی یا مسیری به فایل منبع ارائه دهید.
auth_get_user اعتبار کاربر را بر اساس آدرس ایمیل، شماره تلفن یا UID بازیابی می کند.
auth_disable_user اعتبار کاربر را بر اساس UID غیرفعال یا فعال می کند.
auth_list_users اعتبار همه کاربران پروژه را تا سقف مشخص شده بازیابی می کند.
auth_set_claim اعتبار یک ادعای سفارشی را روی حساب کاربری خاص تنظیم می کند. برای ایجاد مقادیر قابل اعتماد مرتبط با یک کاربر استفاده کنید، مثلاً آنها را به عنوان مدیر علامت گذاری کنید. ادعاها از نظر اندازه محدود هستند و باید از نظر نام و ارزش مختصر باشند. فقط یکی از پارامترهای value یا json_value را مشخص کنید.
auth_set_sms_region_policy اعتبار یک خط مشی منطقه SMS را برای Firebase Auth تنظیم می کند تا مناطقی را که می توانند پیام های متنی را بر اساس لیست ALLOW یا DENY از کدهای کشور دریافت کنند، محدود کند. این خط‌مشی پس از تنظیم، همه خط‌مشی‌های موجود را لغو می‌کند.
dataconnect_list_services داده اتصال خدمات Firebase Data Connect موجود در پروژه فعلی را فهرست کنید.
dataconnect_generate_schema داده اتصال یک طرحواره اتصال داده Firebase بر اساس توضیحات کاربران یک برنامه ایجاد می کند.
dataconnect_generate_operation داده اتصال یک پرسش یا جهش Firebase Data Connect را بر اساس طرحی که در حال حاضر مستقر شده و درخواست ارائه شده ایجاد می کند.
dataconnect_get_schema داده اتصال بازیابی اطلاعات در مورد Firebase Data Connect Schema در پروژه، از جمله منابع داده Cloud SQL و طرح GraphQL که مدل داده را توصیف می کند.
dataconnect_get_connectors داده اتصال اتصال دهنده های Firebase Data Connect را در پروژه دریافت کنید، که شامل جستارهای از پیش تعریف شده GraphQL قابل دسترسی برای SDK های مشتری است.
dataconnect_execute_graphql داده اتصال یک GraphQL دلخواه را در برابر سرویس Data Connect یا شبیه ساز آن اجرا می کند.
dataconnect_execute_graphql_read داده اتصال یک Query GraphQL دلخواه را در برابر سرویس Data Connect یا شبیه ساز آن اجرا می کند. نمی توان داده ها را نوشت.
dataconnect_execute_mutation داده اتصال یک جهش مستقر Data Connect را علیه یک سرویس یا شبیه ساز آن اجرا می کند. می تواند داده ها را بخواند و بنویسد.
dataconnect_execute_query داده اتصال یک پرس و جو مستقر Data Connect را در برابر یک سرویس یا شبیه ساز آن اجرا می کند. نمی توان هیچ داده ای را نوشت.
storage_get_rules ذخیره سازی قوانین امنیتی Storage فعال را برای پروژه فعلی بازیابی می کند.
storage_validate_rules ذخیره سازی منبع قوانین ذخیره سازی ارائه شده را برای خطاهای نحوی و اعتبارسنجی بررسی می کند. کد منبع را برای اعتبارسنجی یا مسیری به فایل منبع ارائه دهید.
storage_get_object_download_url ذخیره سازی 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 خرابی های برتر ناشی از crashlytics که در برنامه اتفاق می افتد را فهرست کنید.
apphosting_fetch_logs apphosting جدیدترین گزارش‌ها را برای یک باطن میزبانی برنامه مشخص شده واکشی می‌کند. اگر buildLogs مشخص شده باشد، گزارش‌های مربوط به فرآیند ساخت آخرین بیلد برگردانده می‌شوند. آخرین گزارش‌ها ابتدا فهرست می‌شوند.
apphosting_list_backends apphosting فهرستی از پشتیبان‌های میزبانی برنامه در پروژه فعلی را بازیابی می‌کند. لیست خالی به این معنی است که هیچ Backend وجود ندارد. uri نشانی اینترنتی عمومی باطن است. یک باطن کار دارای یک آرایه managed_resources خواهد بود که حاوی یک ورودی run_service است. این run_service.service نام منبع سرویس Cloud Run است که به بخش پشتیبان App Hosting خدمت می کند. آخرین بخش آن نام شناسه سرویس است. domains لیستی از دامنه هایی است که با backend مرتبط هستند. آنها یا نوع CUSTOM یا DEFAULT دارند. هر Backend باید یک دامنه DEFAULT داشته باشد. دامنه واقعی که کاربر برای اتصال به backend استفاده می کند آخرین پارامتر نام منبع دامنه است. اگر یک دامنه سفارشی به درستی تنظیم شده باشد، وضعیت هایی خواهد داشت که به ACTIVE ختم می شوند.