سرور MCP Firebase

شما می‌توانید از سرور Firebase MCP استفاده کنید تا به ابزارهای توسعه مبتنی بر هوش مصنوعی این امکان را بدهید که با پروژه‌های Firebase و کدبیس برنامه شما کار کنند.

سرور Firebase MCP با هر ابزاری که بتواند به عنوان کلاینت MCP عمل کند، از جمله: Firebase Studio، Gemini CLI و Gemini Code Assist، Claude Code و Claude Desktop، Cline، Cursor، VS Code Copilot، Windsurf و موارد دیگر، کار می‌کند!

پرش به دستورالعمل‌های راه‌اندازی

مزایای سرور MCP

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

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

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

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

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

کلاینت MCP خود را تنظیم کنید

سرور Firebase MCP می‌تواند با هر کلاینت MCP که از ورودی/خروجی استاندارد (stdio) به عنوان واسطه انتقال پشتیبانی می‌کند، کار کند.

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

قبل از اینکه شروع کنی

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

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

در اینجا دستورالعمل‌های پیکربندی اولیه برای استفاده از سرور Firebase MCP با برخی از ابزارهای محبوب کمکی هوش مصنوعی آمده است:

رابط خط فرمان جمینی

روش پیشنهادی برای راه‌اندازی رابط خط فرمان Gemini برای استفاده از سرور Firebase MCP، نصب افزونه Firebase برای Gemini CLI است:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

نصب افزونه Firebase به طور خودکار سرور Firebase MCP را پیکربندی می‌کند و همچنین با یک فایل context ارائه می‌شود که می‌تواند عملکرد توسعه برنامه Firebase در Gemini را بهبود بخشد.

از طرف دیگر، می‌توانید Gemini CLI را طوری پیکربندی کنید که از سرور Firebase MCP (اما نه از فایل زمینه افزونه Firebase) استفاده کند، که این کار با ویرایش یا ایجاد یکی از فایل‌های پیکربندی انجام می‌شود:

  • در پروژه شما: .gemini/settings.json
  • در دایرکتوری خانگی شما: ~/.gemini/settings.json

اگر فایل هنوز وجود ندارد، با کلیک راست روی دایرکتوری والد و انتخاب گزینه New file آن را ایجاد کنید. محتویات زیر را به فایل اضافه کنید:

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

دستیار کد جمینی

روش پیشنهادی برای راه‌اندازی Gemini Code Assist جهت استفاده از سرور Firebase MCP، نصب افزونه Firebase برای Gemini CLI است:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

نصب افزونه Firebase به طور خودکار سرور Firebase MCP را پیکربندی می‌کند و همچنین با یک فایل context ارائه می‌شود که می‌تواند عملکرد توسعه برنامه Firebase در Gemini را بهبود بخشد.

از طرف دیگر، می‌توانید Gemini Code Assist را طوری پیکربندی کنید که از سرور Firebase MCP (اما نه از فایل زمینه افزونه Firebase) استفاده کند، برای این کار کافیست یکی از فایل‌های پیکربندی را ویرایش یا ایجاد کنید:

  • در پروژه شما: .gemini/settings.json
  • در دایرکتوری خانگی شما: ~/.gemini/settings.json

اگر فایل هنوز وجود ندارد، با کلیک راست روی دایرکتوری والد و انتخاب گزینه New file آن را ایجاد کنید. محتویات زیر را به فایل اضافه کنید:

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

استودیوی فایربیس

برای پیکربندی Firebase Studio جهت استفاده از سرور Firebase MCP، فایل پیکربندی .idx/mcp.json ‎ را ویرایش یا ایجاد کنید.

اگر فایل هنوز وجود ندارد، با کلیک راست روی دایرکتوری والد و انتخاب گزینه New file آن را ایجاد کنید. محتویات زیر را به فایل اضافه کنید:

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

کلود

کلود کد

برای پیکربندی Claude Code برای استفاده از سرور Firebase MCP، دستور زیر را در پوشه app خود اجرا کنید:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

می‌توانید با اجرای دستور زیر، نصب را تأیید کنید:

claude mcp list

باید نشان دهد:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

دسکتاپ کلود

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

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

کلاین

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

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

مکان نما

برای افزودن سرور Firebase MCP به پیکربندی سراسری Cursor خود، روی دکمه زیر کلیک کنید.

نصب سرور MCP

اگر ترجیح می‌دهید پیکربندی را به صورت دستی اضافه کنید یا می‌خواهید آن را برای یک پروژه خاص پیکربندی کنید، می‌توانید فایل mcp.json خود را ویرایش کنید.

  • برای یک پروژه خاص : .cursor/mcp.json ‎ را ویرایش کنید.
  • برای همه پروژه‌ها (سراسری) : ویرایش ~/.cursor/mcp.json
"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

کمک خلبان کد VS

برای پیکربندی یک پروژه واحد، فایل .vscode/mcp.json را در فضای کاری خود ویرایش کنید:

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

برای اینکه سرور در هر پروژه‌ای که باز می‌کنید در دسترس باشد، تنظیمات کاربری خود را ویرایش کنید، برای مثال:

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

موج‌سواری

برای پیکربندی ویرایشگر Windsurf، فایل ~/.codeium/windsurf/mcp_config.json را ویرایش کنید:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "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", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

قابلیت‌های سرور MCP

سرور Firebase MCP سه دسته مختلف از ویژگی‌های MCP را ارائه می‌دهد:

  • اعلان‌ها : کتابخانه‌ای از اعلان‌های از پیش نوشته شده که می‌توانید اجرا کنید؛ آنها برای توسعه و اجرای یک برنامه با Firebase بهینه شده‌اند.

  • ابزارها : مجموعه‌ای از ابزارها که برای استفاده LLMها در نظر گرفته شده است و به آنها کمک می‌کند تا مستقیماً با پروژه Firebase شما کار کنند (با تأیید شما!)

  • منابع : فایل‌های مستندسازی که برای استفاده‌ی دانشجویان کارشناسی ارشد مدیریت بازرگانی (LLM) در نظر گرفته شده است تا راهنمایی و زمینه‌ی بیشتری برای تکمیل یک وظیفه یا هدف به آنها ارائه دهد.

اعلان‌ها

سرور Firebase MCP با کتابخانه‌ای از دستورات از پیش نوشته شده ارائه می‌شود که برای توسعه و اجرای برنامه با Firebase بهینه شده‌اند. می‌توانید این دستورات را برای انجام وظایف یا اهداف رایج مختلف اجرا کنید.

جدول زیر، درخواست‌هایی را که سرور MCP در دسترس قرار می‌دهد، شرح می‌دهد.

اکثر ابزارهای توسعه که از MCP پشتیبانی می‌کنند، روش‌های مناسبی برای اجرای این اعلان‌ها ارائه می‌دهند. برای مثال، Gemini CLI این اعلان‌ها را به صورت دستورات اسلش در دسترس قرار می‌دهد:

/firebase:init

در رابط خط فرمان Gemini، برای مشاهده لیستی از دستورات موجود، شروع به تایپ کردن /firebase: کنید.

نام درخواست گروه ویژه توضیحات
فایربیس: استقرار هسته از این دستور برای استقرار منابع در Firebase استفاده کنید.

استدلال‌ها:
<prompt> (اختیاری): هرگونه دستورالعمل خاصی که می‌خواهید در مورد استقرار ارائه دهید
فایربیس: شروع هسته از این دستور برای تنظیم سرویس‌های Firebase، مانند ویژگی‌های backend و هوش مصنوعی، استفاده کنید.
فایربیس: مشورت هسته از این دستور برای مشورت با دستیار فایربیس و دسترسی به مستندات به‌روز و دقیق پلتفرم فایربیس استفاده کنید.

استدلال‌ها:
<prompt>: سوالی برای ارسال به Gemini در مدل Firebase
crashlytics: اتصال کراش‌لیتیک به داده‌های Crashlytics یک برنامه Firebase دسترسی پیدا کنید.

ابزارها

سرور Firebase MCP همچنین تعدادی ابزار برای استفاده LLMها ارائه می‌دهد که به آنها کمک می‌کند مستقیماً با پروژه Firebase شما کار کنند (با تأیید شما!). برخلاف اعلان‌ها، شما این ابزارها را مستقیماً فراخوانی نمی‌کنید؛ بلکه مدل‌هایی که از فراخوانی ابزار پشتیبانی می‌کنند (مانند Gemini، Claude و GPT) می‌توانند به طور خودکار این ابزارها را برای انجام وظایف توسعه در صورت نیاز فراخوانی کنند.

جدول زیر ابزارهایی را که سرور MCP در دسترس قرار می‌دهد، شرح می‌دهد.

نام ابزار گروه ویژه توضیحات
ورود به سیستم firebase هسته از این برای ورود کاربر به Firebase CLI و سرور Firebase MCP استفاده کنید. این کار به یک حساب گوگل نیاز دارد و برای ایجاد و کار با پروژه‌های Firebase، ورود به سیستم الزامی است.
firebase_logout هسته از این برای خروج کاربر از Firebase CLI و سرور Firebase MCP استفاده کنید.
قوانین امنیتی اعتبارسنجی فایربیس هسته از این برای بررسی خطاهای نحوی و اعتبارسنجی قوانین امنیتی Firebase برای Firestore، Storage یا Realtime Database استفاده کنید.
دریافت_پروژه_firebase هسته از این برای بازیابی اطلاعات مربوط به پروژه Firebase فعال فعلی استفاده کنید.
فایربیس_لیست_اپ‌ها هسته از این برای بازیابی لیستی از برنامه‌های Firebase ثبت شده در پروژه Firebase فعال فعلی استفاده کنید. برنامه‌های Firebase می‌توانند iOS، Android یا Web باشند.
لیست_پروژه‌های_firebase هسته از این برای بازیابی لیستی از پروژه‌های Firebase که کاربر وارد شده به آنها دسترسی دارد، استفاده کنید.
پیکربندی sdk در فایربیس هسته از این برای بازیابی اطلاعات پیکربندی Firebase برای یک برنامه Firebase استفاده کنید. شما باید یک پلتفرم یا شناسه برنامه Firebase را برای یک برنامه Firebase ثبت شده در پروژه Firebase فعال فعلی مشخص کنید.
ایجاد_پروژه_firebase هسته از این برای ایجاد یک پروژه Firebase جدید استفاده کنید.
ایجاد برنامه در فایربیس هسته از این برای ایجاد یک برنامه Firebase جدید در پروژه Firebase فعال فعلی استفاده کنید. برنامه‌های Firebase می‌توانند iOS، Android یا Web باشند.
firebase_create_android_sha هسته از این برای اضافه کردن هش گواهی SHA مشخص شده به برنامه اندروید Firebase مشخص شده استفاده کنید.
محیط firebase_get هسته از این برای بازیابی پیکربندی فعلی محیط Firebase برای Firebase CLI و سرور Firebase MCP، از جمله کاربر احراز هویت شده فعلی، دایرکتوری پروژه، پروژه فعال Firebase و موارد دیگر استفاده کنید.
محیط به‌روزرسانی فایربیس هسته از این برای به‌روزرسانی پیکربندی محیط برای Firebase CLI و سرور Firebase MCP، مانند دایرکتوری پروژه، پروژه فعال، حساب کاربری فعال، پذیرش شرایط خدمات و موارد دیگر استفاده کنید. برای مشاهده محیط پیکربندی‌شده فعلی از firebase_get_environment استفاده کنید.
firebase_init هسته از این برای مقداردهی اولیه سرویس‌های Firebase انتخاب‌شده در فضای کاری (پایگاه داده Cloud Firestore، Firebase Data Connect، Firebase Realtime Database، Firebase AI Logic) استفاده کنید. همه سرویس‌ها اختیاری هستند؛ فقط محصولاتی را که می‌خواهید راه‌اندازی کنید مشخص کنید. می‌توانید ویژگی‌های جدید را در یک دایرکتوری پروژه موجود مقداردهی اولیه کنید، اما مقداردهی مجدد یک ویژگی موجود ممکن است پیکربندی را بازنویسی کند. برای استقرار ویژگی‌های مقداردهی اولیه‌شده، دستور firebase deploy پس از ابزار firebase_init اجرا کنید.
قوانین_امنیتی_firebase_get هسته از این برای بازیابی قوانین امنیتی برای یک سرویس Firebase مشخص شده استفاده کنید. اگر چندین نمونه از آن سرویس در محصول وجود داشته باشد، قوانین مربوط به نمونه پیش‌فرض بازگردانده می‌شوند.
منابع_بازسازی_فایر هسته از این برای خواندن محتویات firebase:// resources یا فهرست کردن منابع موجود استفاده کنید.
حذف سند از فروشگاه آتش فروشگاه آتش‌نشانی از این برای حذف اسناد Firestore از پایگاه داده در پروژه فعلی بر اساس مسیر کامل سند استفاده کنید. اگر مسیر دقیق یک سند را می‌دانید، از این استفاده کنید.
دریافت اسناد firestore فروشگاه آتش‌نشانی از این برای بازیابی یک یا چند سند Firestore از یک پایگاه داده در پروژه فعلی با استفاده از مسیرهای کامل سند استفاده کنید. اگر مسیر دقیق یک سند را می‌دانید، از این استفاده کنید.
مجموعه‌های_لیست_آتش‌نشانی فروشگاه آتش‌نشانی از این برای بازیابی لیستی از مجموعه‌ها از پایگاه داده Firestore در پروژه فعلی استفاده کنید.
مجموعه کوئری‌های آتش‌نشانی فروشگاه آتش‌نشانی از این برای بازیابی یک یا چند سند Firestore از یک مجموعه، یک پایگاه داده در پروژه فعلی، توسط مجموعه‌ای با مسیر کامل سند استفاده کنید. اگر مسیر دقیق یک مجموعه و عبارت فیلترینگ مورد نظر برای سند را می‌دانید، از این استفاده کنید.
دریافت_کاربران_auth نویسنده از این برای بازیابی یک یا چند کاربر Firebase Auth بر اساس لیستی از UID ها یا لیستی از ایمیل ها استفاده کنید.
auth_update_user نویسنده از این برای غیرفعال کردن، فعال کردن یا تنظیم یک ادعای سفارشی در حساب کاربری خاص استفاده کنید.
سیاست_منطقه_ای_auth_set_sms نویسنده از این برای تنظیم یک سیاست منطقه‌ای پیامکی برای احراز هویت فایربیس استفاده کنید تا مناطقی را که می‌توانند پیام‌های متنی را بر اساس لیست مجاز یا ممنوعه کدهای کشور دریافت کنند، محدود کنید. این سیاست در صورت تنظیم، هرگونه سیاست موجود را لغو می‌کند.
اتصال_داده اتصال داده از این برای کامپایل طرحواره، عملیات و/یا کانکتورهای Firebase Data Connect و بررسی خطاهای ساخت استفاده کنید.
dataconnect_generate_schema اتصال داده از این برای تولید یک طرحواره اتصال داده Firebase بر اساس توضیحات کاربر از یک برنامه استفاده کنید.
dataconnect_generate_operation اتصال داده از این برای تولید یک کوئری یا جهش Firebase Data Connect بر اساس طرحواره‌ی پیاده‌سازی‌شده‌ی فعلی و اعلان ارائه‌شده استفاده کنید.
خدمات_لیست_اتصال_داده اتصال داده از این برای فهرست کردن سرویس‌های Firebase Data Connect محلی و بک‌اند موجود استفاده کنید.
dataconnect_execute اتصال داده از این برای اجرای یک عملیات GraphQL در برابر یک سرویس Data Connect یا شبیه‌ساز آن استفاده کنید.
آدرس اینترنتی دانلود شیء_دریافت_ذخیره_سازی ذخیره‌سازی از این برای بازیابی URL دانلود یک شیء در مخزن Cloud Storage برای Firebase استفاده کنید.
ارسال_پیام_پیام پیام‌رسانی از این برای ارسال پیام به یک توکن یا موضوع ثبت نام Firebase Cloud Messaging استفاده کنید. فقط یکی از registration_token یا topic می‌تواند در یک فراخوانی خاص ارائه شود.
توابع_دریافت_لاگ‌ها توابع از این برای بازیابی صفحه‌ای از ورودی‌های گزارش توابع ابری با استفاده از فیلترهای پیشرفته Google Cloud Logging استفاده کنید.
remoteconfig_get_template پیکربندی از راه دور از این برای بازیابی الگوی Firebase Remote Config مشخص شده از پروژه Firebase فعال فعلی استفاده کنید.
قالب پیکربندی_به‌روزرسانی_از_راه_دور پیکربندی از راه دور از این برای انتشار یک الگوی پیکربندی از راه دور جدید یا بازگشت به نسخه خاصی برای پروژه استفاده کنید
crashlytics_create_note کراش‌لیتیک اضافه کردن یادداشت به یک مشکل از crashlytics.
crashlytics_delete_note کراش‌لیتیک حذف یادداشت از مشکل Crashlytics.
crashlytics_get_issue کراش‌لیتیک داده‌های مربوط به یک مشکل Crashlytics را دریافت می‌کند که می‌تواند به عنوان نقطه شروع برای اشکال‌زدایی استفاده شود.
crashlytics_list_events کراش‌لیتیک از این برای فهرست کردن جدیدترین رویدادهای منطبق با فیلترهای داده شده استفاده کنید.
می‌تواند برای دریافت نمونه‌ی خرابی‌ها و استثنائات یک مشکل استفاده شود،
که شامل ردپاهای پشته و سایر داده‌های مفید برای اشکال‌زدایی خواهد بود.
crashlytics_batch_get_events کراش‌لیتیک رویدادهای خاص را بر اساس نام منبع دریافت می‌کند.
می‌تواند برای دریافت نمونه‌ی خرابی‌ها و استثنائات یک مشکل استفاده شود،
که شامل ردپاهای پشته و سایر داده‌های مفید برای اشکال‌زدایی خواهد بود.
لیست_یادداشت‌های_crashlytics کراش‌لیتیک از این برای فهرست کردن تمام یادداشت‌های مربوط به یک مشکل در Crashlytics استفاده کنید.
crashlytics_get_top_issues کراش‌لیتیک از این برای شمارش رویدادها و کاربران تحت تأثیر متمایز، گروه‌بندی شده بر اساس مشکل ، استفاده کنید.
گروه‌ها بر اساس تعداد رویدادها و به ترتیب نزولی مرتب شده‌اند.
فقط رویدادهایی را که با فیلترهای داده شده مطابقت دارند، شمارش می‌کند.
crashlytics_get_top_variants کراش‌لیتیک رویدادها و کاربران آسیب‌دیده‌ی متمایز را بر اساس نوع مشکل گروه‌بندی می‌کند.
گروه‌ها بر اساس تعداد رویدادها و به ترتیب نزولی مرتب شده‌اند.
فقط رویدادهایی را که با فیلترهای داده شده مطابقت دارند، شمارش می‌کند.
crashlytics_get_top_versions کراش‌لیتیک رویدادها و کاربران تحت تأثیر متمایز را بر اساس نسخه گروه‌بندی می‌کند.
گروه‌ها بر اساس تعداد رویدادها و به ترتیب نزولی مرتب شده‌اند.
فقط رویدادهایی را که با فیلترهای داده شده مطابقت دارند، شمارش می‌کند.
crashlytics_get_top_apple_devices کراش‌لیتیک رویدادها و کاربران تحت تأثیر متمایز را بر اساس دستگاه اپل گروه‌بندی می‌کند.
گروه‌ها بر اساس تعداد رویدادها و به ترتیب نزولی مرتب شده‌اند.
فقط رویدادهایی را که با فیلترهای داده شده مطابقت دارند، شمارش می‌کند.
فقط برای برنامه‌های iOS، iPadOS و MacOS مرتبط است.
crashlytics_get_top_android_devices کراش‌لیتیک رویدادها و کاربران تحت تأثیر متمایز را بر اساس دستگاه اندروید گروه‌بندی می‌کند.
گروه‌ها بر اساس تعداد رویدادها و به ترتیب نزولی مرتب شده‌اند.
فقط رویدادهایی را که با فیلترهای داده شده مطابقت دارند، شمارش می‌کند.
فقط برای برنامه‌های اندروید مناسب است.
crashlytics_get_top_operating_systems کراش‌لیتیک رویدادها و کاربران تحت تأثیر متمایز را بر اساس سیستم عامل گروه‌بندی می‌کند.
گروه‌ها بر اساس تعداد رویدادها و به ترتیب نزولی مرتب شده‌اند.
فقط رویدادهایی را که با فیلترهای داده شده مطابقت دارند، شمارش می‌کند.
crashlytics_update_issue کراش‌لیتیک از این برای به‌روزرسانی وضعیت مشکل Crashlytics استفاده کنید.
apphosting_fetch_logs میزبانی وب از این برای دریافت جدیدترین لاگ‌ها برای یک بک‌اند مشخص‌شده‌ی App Hosting استفاده کنید. اگر buildLogs مشخص شده باشد، لاگ‌های مربوط به فرآیند ساخت برای آخرین نسخه بازگردانده می‌شوند. جدیدترین لاگ‌ها در ابتدا فهرست می‌شوند.
apphosting_list_backends میزبانی وب از این برای بازیابی لیستی از بک‌اندهای میزبانی برنامه در پروژه فعلی استفاده کنید. یک لیست خالی به این معنی است که هیچ بک‌اندی وجود ندارد. uri آدرس عمومی بک‌اند است. یک بک‌اند فعال دارای یک آرایه managed_resources خواهد بود که شامل یک ورودی run_service است. run_service.service نام منبع سرویس Cloud Run است که به بک‌اند میزبانی برنامه سرویس می‌دهد. آخرین بخش آن نام، شناسه سرویس است. domains لیست دامنه‌هایی است که با بک‌اند مرتبط هستند. آنها یا نوع CUSTOM دارند یا DEFAULT . هر بک‌اند باید یک دامنه DEFAULT داشته باشد. دامنه واقعی که کاربر برای اتصال به بک‌اند از آن استفاده می‌کند، آخرین پارامتر نام منبع دامنه است. اگر یک دامنه سفارشی به درستی تنظیم شده باشد، وضعیت‌هایی خواهد داشت که به ACTIVE ختم می‌شوند.
دریافت داده پایگاه داده بلادرنگ پایگاه داده بلادرنگ از این برای بازیابی داده‌ها از مکان مشخص شده در یک پایگاه داده بلادرنگ Firebase استفاده کنید.
مجموعه_داده_پایگاه_داده_زمان_واقعی پایگاه داده بلادرنگ از این برای نوشتن داده‌ها در مکان مشخص شده در یک پایگاه داده بلادرنگ Firebase استفاده کنید.

منابع

سرور MCP منابعی را ارائه می‌دهد که فایل‌های مستندسازی هستند که برای استفاده LLMها در نظر گرفته شده‌اند. مدل‌هایی که از استفاده از منابع پشتیبانی می‌کنند، به‌طور خودکار منابع مرتبط را در متن جلسه لحاظ می‌کنند.

جدول زیر منابعی را که سرور MCP در دسترس قرار می‌دهد، شرح می‌دهد.

نام منبع توضیحات
راهنمای_شروع_پس_زمینه راهنمای شروع به کار Backend در Firebase: کدنویس را در پیکربندی سرویس‌های Backend در پروژه فعلی راهنمایی می‌کند.
راهنمای ai_init راهنمای شروع GenAI در Firebase: عامل کدنویسی را در پیکربندی قابلیت‌های GenAI در پروژه فعلی با استفاده از Firebase راهنمایی می‌کند.
راهنمای_اتصال_داده_در_آغازین راهنمای شروع اتصال داده فایربیس: عامل کدنویسی را در پیکربندی اتصال داده برای دسترسی به PostgreSQL در پروژه فعلی راهنمایی می‌کند.
راهنمای شروع اولیه فروشگاه آتش راهنمای شروع به کار Firestore: کدنویس را در پیکربندی Firestore در پروژه فعلی راهنمایی می‌کند.
راهنمای_شروع_firestore_rules راهنمای شروع قوانین Firestore: عامل کدنویسی را در تنظیم قوانین امنیتی Firestore در پروژه راهنمایی می‌کند.
راهنمای rtdb_init راهنمای شروع به کار پایگاه داده Realtime فایربیس: کدنویس را در پیکربندی پایگاه داده Realtime در پروژه فعلی راهنمایی می‌کند.
راهنمای auth_init راهنمای اولیه احراز هویت فایربیس: کدنویس را در پیکربندی احراز هویت فایربیس در پروژه فعلی راهنمایی می‌کند.
راهنمای_شروع_میزبانی راهنمای استقرار میزبانی فایربیس: عامل کدنویسی را در طول استقرار در میزبانی فایربیس در پروژه فعلی راهنمایی می‌کند.
اسناد اسناد فایربیس: محتوای متنی ساده را از اسناد فایربیس بارگذاری می‌کند، مثلاً https://firebase.google.com/docs/functions تبدیل می‌شود به firebase://docs/functions
،

شما می‌توانید از سرور Firebase MCP استفاده کنید تا به ابزارهای توسعه مبتنی بر هوش مصنوعی این امکان را بدهید که با پروژه‌های Firebase و کدبیس برنامه شما کار کنند.

سرور Firebase MCP با هر ابزاری که بتواند به عنوان کلاینت MCP عمل کند، از جمله: Firebase Studio، Gemini CLI و Gemini Code Assist، Claude Code و Claude Desktop، Cline، Cursor، VS Code Copilot، Windsurf و موارد دیگر، کار می‌کند!

پرش به دستورالعمل‌های راه‌اندازی

مزایای سرور MCP

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

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

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

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

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

کلاینت MCP خود را تنظیم کنید

سرور Firebase MCP می‌تواند با هر کلاینت MCP که از ورودی/خروجی استاندارد (stdio) به عنوان واسطه انتقال پشتیبانی می‌کند، کار کند.

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

قبل از اینکه شروع کنی

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

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

در اینجا دستورالعمل‌های پیکربندی اولیه برای استفاده از سرور Firebase MCP با برخی از ابزارهای محبوب کمکی هوش مصنوعی آمده است:

رابط خط فرمان جمینی

روش پیشنهادی برای راه‌اندازی رابط خط فرمان Gemini برای استفاده از سرور Firebase MCP، نصب افزونه Firebase برای Gemini CLI است:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

نصب افزونه Firebase به طور خودکار سرور Firebase MCP را پیکربندی می‌کند و همچنین با یک فایل context ارائه می‌شود که می‌تواند عملکرد توسعه برنامه Firebase در Gemini را بهبود بخشد.

از طرف دیگر، می‌توانید Gemini CLI را طوری پیکربندی کنید که از سرور Firebase MCP (اما نه از فایل زمینه افزونه Firebase) استفاده کند، که این کار با ویرایش یا ایجاد یکی از فایل‌های پیکربندی انجام می‌شود:

  • در پروژه شما: .gemini/settings.json
  • در دایرکتوری خانگی شما: ~/.gemini/settings.json

اگر فایل هنوز وجود ندارد، با کلیک راست روی دایرکتوری والد و انتخاب گزینه New file آن را ایجاد کنید. محتویات زیر را به فایل اضافه کنید:

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

دستیار کد جمینی

روش پیشنهادی برای راه‌اندازی Gemini Code Assist جهت استفاده از سرور Firebase MCP، نصب افزونه Firebase برای Gemini CLI است:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

نصب افزونه Firebase به طور خودکار سرور Firebase MCP را پیکربندی می‌کند و همچنین با یک فایل context ارائه می‌شود که می‌تواند عملکرد توسعه برنامه Firebase در Gemini را بهبود بخشد.

از طرف دیگر، می‌توانید Gemini Code Assist را طوری پیکربندی کنید که از سرور Firebase MCP (اما نه از فایل زمینه افزونه Firebase) استفاده کند، برای این کار کافیست یکی از فایل‌های پیکربندی را ویرایش یا ایجاد کنید:

  • در پروژه شما: .gemini/settings.json
  • در دایرکتوری خانگی شما: ~/.gemini/settings.json

اگر فایل هنوز وجود ندارد، با کلیک راست روی دایرکتوری والد و انتخاب گزینه New file آن را ایجاد کنید. محتویات زیر را به فایل اضافه کنید:

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

استودیوی فایربیس

برای پیکربندی Firebase Studio جهت استفاده از سرور Firebase MCP، فایل پیکربندی .idx/mcp.json ‎ را ویرایش یا ایجاد کنید.

اگر فایل هنوز وجود ندارد، با کلیک راست روی دایرکتوری والد و انتخاب گزینه New file آن را ایجاد کنید. محتویات زیر را به فایل اضافه کنید:

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

کلود

کلود کد

برای پیکربندی Claude Code برای استفاده از سرور Firebase MCP، دستور زیر را در پوشه app خود اجرا کنید:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

می‌توانید با اجرای دستور زیر، نصب را تأیید کنید:

claude mcp list

باید نشان دهد:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

دسکتاپ کلود

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

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

کلاین

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

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

مکان نما

برای افزودن سرور Firebase MCP به پیکربندی سراسری Cursor خود، روی دکمه زیر کلیک کنید.

نصب سرور MCP

اگر ترجیح می‌دهید پیکربندی را به صورت دستی اضافه کنید یا می‌خواهید آن را برای یک پروژه خاص پیکربندی کنید، می‌توانید فایل mcp.json خود را ویرایش کنید.

  • برای یک پروژه خاص : .cursor/mcp.json ‎ را ویرایش کنید.
  • برای همه پروژه‌ها (سراسری) : ویرایش ~/.cursor/mcp.json
"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

کمک خلبان کد VS

برای پیکربندی یک پروژه واحد، فایل .vscode/mcp.json را در فضای کاری خود ویرایش کنید:

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

برای اینکه سرور در هر پروژه‌ای که باز می‌کنید در دسترس باشد، تنظیمات کاربری خود را ویرایش کنید، برای مثال:

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

موج‌سواری

برای پیکربندی ویرایشگر Windsurf، فایل ~/.codeium/windsurf/mcp_config.json را ویرایش کنید:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "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", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

قابلیت‌های سرور MCP

سرور Firebase MCP سه دسته مختلف از ویژگی‌های MCP را ارائه می‌دهد:

  • اعلان‌ها : کتابخانه‌ای از اعلان‌های از پیش نوشته شده که می‌توانید اجرا کنید؛ آنها برای توسعه و اجرای یک برنامه با Firebase بهینه شده‌اند.

  • ابزارها : مجموعه‌ای از ابزارها که برای استفاده LLMها در نظر گرفته شده است و به آنها کمک می‌کند تا مستقیماً با پروژه Firebase شما کار کنند (با تأیید شما!)

  • منابع : فایل‌های مستندسازی که برای استفاده‌ی دانشجویان کارشناسی ارشد مدیریت بازرگانی (LLM) در نظر گرفته شده است تا راهنمایی و زمینه‌ی بیشتری برای تکمیل یک وظیفه یا هدف به آنها ارائه دهد.

اعلان‌ها

سرور Firebase MCP با کتابخانه‌ای از دستورات از پیش نوشته شده ارائه می‌شود که برای توسعه و اجرای برنامه با Firebase بهینه شده‌اند. می‌توانید این دستورات را برای انجام وظایف یا اهداف رایج مختلف اجرا کنید.

جدول زیر، درخواست‌هایی را که سرور MCP در دسترس قرار می‌دهد، شرح می‌دهد.

اکثر ابزارهای توسعه که از MCP پشتیبانی می‌کنند، روش‌های مناسبی برای اجرای این اعلان‌ها ارائه می‌دهند. برای مثال، Gemini CLI این اعلان‌ها را به صورت دستورات اسلش در دسترس قرار می‌دهد:

/firebase:init

در رابط خط فرمان Gemini، برای مشاهده لیستی از دستورات موجود، شروع به تایپ کردن /firebase: کنید.

نام درخواست گروه ویژه توضیحات
فایربیس: استقرار هسته از این دستور برای استقرار منابع در Firebase استفاده کنید.

استدلال‌ها:
<prompt> (اختیاری): هرگونه دستورالعمل خاصی که می‌خواهید در مورد استقرار ارائه دهید
فایربیس: شروع هسته از این دستور برای تنظیم سرویس‌های Firebase، مانند ویژگی‌های backend و هوش مصنوعی، استفاده کنید.
فایربیس: مشورت هسته از این دستور برای مشورت با دستیار فایربیس و دسترسی به مستندات به‌روز و دقیق پلتفرم فایربیس استفاده کنید.

استدلال‌ها:
<prompt>: سوالی برای ارسال به Gemini در مدل Firebase
crashlytics: اتصال کراش‌لیتیک به داده‌های Crashlytics یک برنامه Firebase دسترسی پیدا کنید.

ابزارها

سرور Firebase MCP همچنین تعدادی ابزار برای استفاده LLMها ارائه می‌دهد که به آنها کمک می‌کند مستقیماً با پروژه Firebase شما کار کنند (با تأیید شما!). برخلاف اعلان‌ها، شما این ابزارها را مستقیماً فراخوانی نمی‌کنید؛ بلکه مدل‌هایی که از فراخوانی ابزار پشتیبانی می‌کنند (مانند Gemini، Claude و GPT) می‌توانند به طور خودکار این ابزارها را برای انجام وظایف توسعه در صورت نیاز فراخوانی کنند.

جدول زیر ابزارهایی را که سرور MCP در دسترس قرار می‌دهد، شرح می‌دهد.

نام ابزار گروه ویژه توضیحات
ورود به سیستم firebase هسته از این برای ورود کاربر به Firebase CLI و سرور Firebase MCP استفاده کنید. این کار به یک حساب گوگل نیاز دارد و برای ایجاد و کار با پروژه‌های Firebase، ورود به سیستم الزامی است.
firebase_logout هسته از این برای خروج کاربر از Firebase CLI و سرور Firebase MCP استفاده کنید.
قوانین امنیتی اعتبارسنجی فایربیس هسته از این برای بررسی خطاهای نحوی و اعتبارسنجی قوانین امنیتی Firebase برای Firestore، Storage یا Realtime Database استفاده کنید.
دریافت_پروژه_firebase هسته از این برای بازیابی اطلاعات مربوط به پروژه Firebase فعال فعلی استفاده کنید.
فایربیس_لیست_اپ‌ها هسته از این برای بازیابی لیستی از برنامه‌های Firebase ثبت شده در پروژه Firebase فعال فعلی استفاده کنید. برنامه‌های Firebase می‌توانند iOS، Android یا Web باشند.
لیست_پروژه‌های_firebase هسته از این برای بازیابی لیستی از پروژه‌های Firebase که کاربر وارد شده به آنها دسترسی دارد، استفاده کنید.
پیکربندی sdk در فایربیس هسته از این برای بازیابی اطلاعات پیکربندی Firebase برای یک برنامه Firebase استفاده کنید. شما باید یک پلتفرم یا شناسه برنامه Firebase را برای یک برنامه Firebase ثبت شده در پروژه Firebase فعال فعلی مشخص کنید.
ایجاد_پروژه_firebase هسته از این برای ایجاد یک پروژه Firebase جدید استفاده کنید.
ایجاد برنامه در فایربیس هسته از این برای ایجاد یک برنامه Firebase جدید در پروژه Firebase فعال فعلی استفاده کنید. برنامه‌های Firebase می‌توانند iOS، Android یا Web باشند.
firebase_create_android_sha هسته از این برای اضافه کردن هش گواهی SHA مشخص شده به برنامه اندروید Firebase مشخص شده استفاده کنید.
محیط firebase_get هسته از این برای بازیابی پیکربندی فعلی محیط Firebase برای Firebase CLI و سرور Firebase MCP، از جمله کاربر احراز هویت شده فعلی، دایرکتوری پروژه، پروژه فعال Firebase و موارد دیگر استفاده کنید.
محیط به‌روزرسانی فایربیس هسته از این برای به‌روزرسانی پیکربندی محیط برای Firebase CLI و سرور Firebase MCP، مانند دایرکتوری پروژه، پروژه فعال، حساب کاربری فعال، پذیرش شرایط خدمات و موارد دیگر استفاده کنید. برای مشاهده محیط پیکربندی‌شده فعلی از firebase_get_environment استفاده کنید.
firebase_init هسته از این برای مقداردهی اولیه سرویس‌های Firebase انتخاب‌شده در فضای کاری (پایگاه داده Cloud Firestore، Firebase Data Connect، Firebase Realtime Database، Firebase AI Logic) استفاده کنید. همه سرویس‌ها اختیاری هستند؛ فقط محصولاتی را که می‌خواهید راه‌اندازی کنید مشخص کنید. می‌توانید ویژگی‌های جدید را در یک دایرکتوری پروژه موجود مقداردهی اولیه کنید، اما مقداردهی مجدد یک ویژگی موجود ممکن است پیکربندی را بازنویسی کند. برای استقرار ویژگی‌های مقداردهی اولیه‌شده، دستور firebase deploy پس از ابزار firebase_init اجرا کنید.
قوانین_امنیتی_firebase_get هسته از این برای بازیابی قوانین امنیتی برای یک سرویس Firebase مشخص شده استفاده کنید. اگر چندین نمونه از آن سرویس در محصول وجود داشته باشد، قوانین مربوط به نمونه پیش‌فرض بازگردانده می‌شوند.
منابع_بازسازی_فایر هسته از این برای خواندن محتویات firebase:// resources یا فهرست کردن منابع موجود استفاده کنید.
حذف سند از فروشگاه آتش فروشگاه آتش‌نشانی از این برای حذف اسناد Firestore از پایگاه داده در پروژه فعلی بر اساس مسیر کامل سند استفاده کنید. اگر مسیر دقیق یک سند را می‌دانید، از این استفاده کنید.
دریافت اسناد firestore فروشگاه آتش‌نشانی از این برای بازیابی یک یا چند سند Firestore از یک پایگاه داده در پروژه فعلی با استفاده از مسیرهای کامل سند استفاده کنید. اگر مسیر دقیق یک سند را می‌دانید، از این استفاده کنید.
مجموعه‌های_لیست_آتش‌نشانی فروشگاه آتش‌نشانی از این برای بازیابی لیستی از مجموعه‌ها از پایگاه داده Firestore در پروژه فعلی استفاده کنید.
مجموعه کوئری‌های آتش‌نشانی فروشگاه آتش‌نشانی از این برای بازیابی یک یا چند سند Firestore از یک مجموعه، یک پایگاه داده در پروژه فعلی، توسط مجموعه‌ای با مسیر کامل سند استفاده کنید. اگر مسیر دقیق یک مجموعه و عبارت فیلترینگ مورد نظر برای سند را می‌دانید، از این استفاده کنید.
دریافت_کاربران_auth نویسنده از این برای بازیابی یک یا چند کاربر Firebase Auth بر اساس لیستی از UID ها یا لیستی از ایمیل ها استفاده کنید.
auth_update_user نویسنده از این برای غیرفعال کردن، فعال کردن یا تنظیم یک ادعای سفارشی در حساب کاربری خاص استفاده کنید.
سیاست_منطقه_ای_auth_set_sms نویسنده از این برای تنظیم یک سیاست منطقه‌ای پیامکی برای احراز هویت فایربیس استفاده کنید تا مناطقی را که می‌توانند پیام‌های متنی را بر اساس لیست مجاز یا ممنوعه کدهای کشور دریافت کنند، محدود کنید. این سیاست در صورت تنظیم، هرگونه سیاست موجود را لغو می‌کند.
اتصال_داده اتصال داده از این برای کامپایل طرحواره، عملیات و/یا کانکتورهای Firebase Data Connect و بررسی خطاهای ساخت استفاده کنید.
dataconnect_generate_schema اتصال داده از این برای تولید یک طرحواره اتصال داده Firebase بر اساس توضیحات کاربر از یک برنامه استفاده کنید.
dataconnect_generate_operation اتصال داده از این برای تولید یک کوئری یا جهش Firebase Data Connect بر اساس طرحواره‌ی پیاده‌سازی‌شده‌ی فعلی و اعلان ارائه‌شده استفاده کنید.
خدمات_لیست_اتصال_داده اتصال داده از این برای فهرست کردن سرویس‌های Firebase Data Connect محلی و بک‌اند موجود استفاده کنید.
dataconnect_execute اتصال داده از این برای اجرای یک عملیات GraphQL در برابر یک سرویس Data Connect یا شبیه‌ساز آن استفاده کنید.
آدرس اینترنتی دانلود شیء_دریافت_ذخیره_سازی ذخیره‌سازی از این برای بازیابی URL دانلود یک شیء در مخزن Cloud Storage برای Firebase استفاده کنید.
ارسال_پیام_پیام پیام‌رسانی Use this to send a message to a Firebase Cloud Messaging registration token or topic. ONLY ONE of registration_token or topic may be supplied in a specific call.
functions_get_logs توابع Use this to retrieve a page of Cloud Functions log entries using Google Cloud Logging advanced filters.
remoteconfig_get_template remoteconfig Use this to retrieve the specified Firebase Remote Config template from the currently active Firebase Project.
remoteconfig_update_template remoteconfig Use this to publish a new remote config template or roll back to a specific version for the project
crashlytics_create_note crashlytics Add a note to an issue from crashlytics.
crashlytics_delete_note crashlytics Delete a note from a Crashlytics issue.
crashlytics_get_issue crashlytics Gets data for a Crashlytics issue, which can be used as a starting point for debugging.
crashlytics_list_events crashlytics Use this to list the most recent events matching the given filters.
Can be used to fetch sample crashes and exceptions for an issue,
which will include stack traces and other data useful for debugging.
crashlytics_batch_get_events crashlytics Gets specific events by resource name.
Can be used to fetch sample crashes and exceptions for an issue,
which will include stack traces and other data useful for debugging.
crashlytics_list_notes crashlytics Use this to list all notes for an issue in Crashlytics.
crashlytics_get_top_issues crashlytics Use this to count events and distinct impacted users, grouped by issue .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_get_top_variants crashlytics Counts events and distinct impacted users, grouped by issue variant .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_get_top_versions crashlytics Counts events and distinct impacted users, grouped by version .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_get_top_apple_devices crashlytics Counts events and distinct impacted users, grouped by apple device .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
Only relevant for iOS, iPadOS and MacOS applications.
crashlytics_get_top_android_devices crashlytics Counts events and distinct impacted users, grouped by android device .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
Only relevant for Android applications.
crashlytics_get_top_operating_systems crashlytics Counts events and distinct impacted users, grouped by operating system .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_update_issue crashlytics Use this to update the state of Crashlytics issue.
apphosting_fetch_logs apphosting Use this to fetch the most recent logs for a specified App Hosting backend. If buildLogs is specified, the logs from the build process for the latest build are returned. The most recent logs are listed first.
apphosting_list_backends apphosting Use this to retrieve a list of App Hosting backends in the current project. An empty list means that there are no backends. The uri is the public URL of the backend. A working backend will have a managed_resources array that will contain a run_service entry. That run_service.service is the resource name of the Cloud Run service serving the App Hosting backend. The last segment of that name is the service ID. domains is the list of domains that are associated with the backend. They either have type CUSTOM or DEFAULT . Every backend should have a DEFAULT domain. The actual domain that a user would use to conenct to the backend is the last parameter of the domain resource name. If a custom domain is correctly set up, it will have statuses ending in ACTIVE .
realtimedatabase_get_data realtimedatabase Use this to retrieve data from the specified location in a Firebase Realtime Database.
realtimedatabase_set_data realtimedatabase Use this to write data to the specified location in a Firebase Realtime Database.

منابع

The MCP server provides resources, which are documentation files intended for use by LLMs. Models that support using resources will automatically include relevant resources in the session context.

The following table describes the resources the MCP server makes available.

Resource Name توضیحات
backend_init_guide Firebase Backend Init Guide: guides the coding agent through configuring Firebase backend services in the current project
ai_init_guide Firebase GenAI Init Guide: guides the coding agent through configuring GenAI capabilities in the current project utilizing Firebase
data_connect_init_guide Firebase Data Connect Init Guide: guides the coding agent through configuring Data Connect for PostgreSQL access in the current project
firestore_init_guide Firestore Init Guide: guides the coding agent through configuring Firestore in the current project
firestore_rules_init_guide Firestore Rules Init Guide: guides the coding agent through setting up Firestore security rules in the project
rtdb_init_guide Firebase Realtime Database Init Guide: guides the coding agent through configuring Realtime Database in the current project
auth_init_guide Firebase Authentication Init Guide: guides the coding agent through configuring Firebase Authentication in the current project
hosting_init_guide Firebase Hosting Deployment Guide: guides the coding agent through deploying to Firebase Hosting in the current project
اسناد Firebase Docs: loads plain text content from Firebase documentation, eg https://firebase.google.com/docs/functions becomes firebase://docs/functions
،

You can use the Firebase MCP server to give AI-powered development tools the ability to work with your Firebase projects and your app's codebase.

The Firebase MCP server works with any tool that can act as an MCP client, including: Firebase Studio, Gemini CLI and Gemini Code Assist, Claude Code and Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf, and more!

Jump to setup instructions

Benefits of the MCP server

An editor configured to use the Firebase MCP server can use its AI capabilities to help you:

  • Create and manage Firebase projects
  • Manage your Firebase Authentication users
  • Work with data in Cloud Firestore and Firebase Data Connect
  • Retrieve Firebase Data Connect schemas
  • Understand your security rules for Firestore and Cloud Storage for Firebase
  • Send messages with Firebase Cloud Messaging

Some of the tools use Gemini in Firebase to help you:

  • Generate Firebase Data Connect schema and operations
  • Consult Gemini about Firebase products

These are only partial lists; see the server capabilities section for a complete list of tools available to your editor.

Set up your MCP client

The Firebase MCP server can work with any MCP client that supports standard I/O (stdio) as the transport medium.

When the Firebase MCP server makes tool calls, it uses the same user credentials that authorize the Firebase CLI in the environment where it's running. This could be a logged-in user or Application Default Credentials , depending on the environment.

قبل از اینکه شروع کنی

Make sure you have a working installation of Node.js and npm.

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

Here are basic configuration instructions for using the Firebase MCP server with some popular AI-assistive tools:

رابط خط فرمان جمینی

The recommended way to set up the Gemini CLI to use the Firebase MCP server is to install the Firebase extension for Gemini CLI :

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

Installing the Firebase extension automatically configures the Firebase MCP server and also comes with a context file that can improve Gemini's Firebase app development performance.

Alternatively, you can configure Gemini CLI to use the Firebase MCP server (but not the Firebase extension context file), by editing or creating one of the configuration files:

  • In your project: .gemini/settings.json
  • In your home directory: ~/.gemini/settings.json

If the file doesn't yet exist, create it by right-clicking the parent directory and selecting New file . Add the following contents to the file:

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

دستیار کد جمینی

The recommended way to set up Gemini Code Assist to use the Firebase MCP server is to install the Firebase extension for Gemini CLI :

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

Installing the Firebase extension automatically configures the Firebase MCP server and also comes with a context file that can improve Gemini's Firebase app development performance.

Alternatively, you can configure Gemini Code Assist to use the Firebase MCP server (but not the Firebase extension context file), by editing or creating one of the configuration files:

  • In your project: .gemini/settings.json
  • In your home directory: ~/.gemini/settings.json

If the file doesn't yet exist, create it by right-clicking the parent directory and selecting New file . Add the following contents to the file:

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

استودیوی فایربیس

To configure Firebase Studio to use the Firebase MCP server, edit or create the configuration file: .idx/mcp.json .

If the file doesn't yet exist, create it by right-clicking the parent directory and selecting New file . Add the following contents to the file:

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

کلود

کلود کد

To configure Claude Code to use the Firebase MCP server, run the following command under your app folder:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

You can verify the installation by running:

claude mcp list

It should show:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

دسکتاپ کلود

To configure Claude Desktop to use the Firebase MCP server, edit the claude_desktop_config.json file. You can open or create this file from the Claude > Settings menu. Select the Developer tab, then click Edit Config .

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

کلاین

To configure Cline to use the Firebase MCP server, edit the cline_mcp_settings.json file. You can open or create this file by clicking the MCP Servers icon at the top of the Cline pane, then clicking the Configure MCP Servers button.

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

مکان نما

Click the following button to add the Firebase MCP server to your global Cursor configuration.

Install MCP Server

If you prefer to add the configuration manually or want to configure it for a specific project, you can edit your mcp.json file.

  • For a specific project : Edit .cursor/mcp.json
  • For all projects (global) : Edit ~/.cursor/mcp.json
"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

کمک خلبان کد VS

To configure a single project, edit the .vscode/mcp.json file in your workspace:

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

To make the server available in every project you open, edit your user settings, for example:

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

موج‌سواری

To configure Windsurf Editor, edit the file ~/.codeium/windsurf/mcp_config.json :

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

Optional configuration

In addition to the basic configuration for each client, shown earlier, there are two optional parameters you can specify:

  • --dir ABSOLUTE_DIR_PATH : The absolute path of a directory containing firebase.json , to set a project context for the MCP server. If unspecified, the get_project_directory and set_project_directory tools become available and the default directory will be the working directory where the MCP server was started.

  • --only FEATURE_1 , FEATURE_2 : A comma-separated list of feature groups to activate. Use this to limit the tools exposed to only features you are actively using. Note that the core tools are always available

برای مثال:

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

MCP server capabilities

The Firebase MCP server provides three different categories of MCP features:

  • Prompts : A library of pre-written prompts that you can run; they're optimized for developing and running an app with Firebase

  • Tools : A set of tools intended for use by LLMs that help them work directly with your Firebase project (with your approval!)

  • Resources : Documentation files intended for use by LLMs to give them more guidance and context to complete a task or goal

اعلان‌ها

The Firebase MCP server comes with a library of pre-written prompts optimized for developing and running an app with Firebase. You can run these prompts to complete various common tasks or goals.

The following table describes the prompts the MCP server makes available.

Most development tools that support MCP provide some convenient way to run these prompts. For example, Gemini CLI makes these prompts available as slash commands:

/firebase:init

In the Gemini CLI, start typing /firebase: to see a list of available commands.

نام درخواست Feature Group توضیحات
firebase:deploy هسته Use this command to deploy resources to Firebase.

Arguments:
<prompt> (optional): any specific instructions you wish to provide about deploying
firebase:init هسته Use this command to set up Firebase services, like backend and AI features.
firebase:consult هسته Use this command to consult the Firebase Assistant with access to detailed up-to-date documentation for the Firebase platform.

Arguments:
<prompt>: a question to pass to the Gemini in Firebase model
crashlytics:connect crashlytics Access a Firebase application's Crashlytics data.

ابزارها

The Firebase MCP server also provides a number of tools intended for use by LLMs that help them work directly with your Firebase project (with your approval!). Unlike with prompts, you don't call these tools directly; rather, models that support tool calling (such as Gemini, Claude, and GPT) can automatically call these tools to perform development tasks when needed.

The following table describes the tools the MCP server makes available.

نام ابزار Feature Group توضیحات
firebase_login هسته Use this to sign the user into the Firebase CLI and Firebase MCP server. This requires a Google Account, and sign in is required to create and work with Firebase Projects.
firebase_logout هسته Use this to sign the user out of the Firebase CLI and Firebase MCP server.
firebase_validate_security_rules هسته Use this to check Firebase Security Rules for Firestore, Storage, or Realtime Database for syntax and validation errors.
firebase_get_project هسته Use this to retrieve information about the currently active Firebase Project.
firebase_list_apps هسته Use this to retrieve a list of the Firebase Apps registered in the currently active Firebase project. Firebase Apps can be iOS, Android, or Web.
firebase_list_projects هسته Use this to retrieve a list of Firebase Projects that the signed-in user has access to.
firebase_get_sdk_config هسته Use this to retrieve the Firebase configuration information for a Firebase App. You must specify EITHER a platform OR the Firebase App ID for a Firebase App registered in the currently active Firebase Project.
firebase_create_project هسته Use this to create a new Firebase Project.
firebase_create_app هسته Use this to create a new Firebase App in the currently active Firebase Project. Firebase Apps can be iOS, Android, or Web.
firebase_create_android_sha هسته Use this to add the specified SHA certificate hash to the specified Firebase Android App.
firebase_get_environment هسته Use this to retrieve the current Firebase environment configuration for the Firebase CLI and Firebase MCP server, including current authenticated user, project directory, active Firebase Project, and more.
firebase_update_environment هسته Use this to update environment config for the Firebase CLI and Firebase MCP server, such as project directory, active project, active user account, accept terms of service, and more. Use firebase_get_environment to see the currently configured environment.
firebase_init هسته Use this to initialize selected Firebase services in the workspace (Cloud Firestore database, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). All services are optional; specify only the products you want to set up. You can initialize new features into an existing project directory, but re-initializing an existing feature may overwrite configuration. To deploy the initialized features, run the firebase deploy command after firebase_init tool.
firebase_get_security_rules هسته Use this to retrieve the security rules for a specified Firebase service. If there are multiple instances of that service in the product, the rules for the defualt instance are returned.
firebase_read_resources هسته Use this to read the contents of firebase:// resources or list available resources
firestore_delete_document firestore Use this to delete a Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document.
firestore_get_documents firestore Use this to retrieve one or more Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document.
firestore_list_collections firestore Use this to retrieve a list of collections from a Firestore database in the current project.
firestore_query_collection firestore Use this to retrieve one or more Firestore documents from a collection is a database in the current project by a collection with a full document path. Use this if you know the exact path of a collection and the filtering clause you would like for the document.
auth_get_users نویسنده Use this to retrieve one or more Firebase Auth users based on a list of UIDs or a list of emails.
auth_update_user نویسنده Use this to disable, enable, or set a custom claim on a specific user's account.
auth_set_sms_region_policy نویسنده Use this to set an SMS region policy for Firebase Authentication to restrict the regions which can receive text messages based on an ALLOW or DENY list of country codes. This policy will override any existing policies when set.
dataconnect_build dataconnect Use this to compile Firebase Data Connect schema, operations, and/or connectors and check for build errors.
dataconnect_generate_schema dataconnect Use this to generate a Firebase Data Connect Schema based on the users description of an app.
dataconnect_generate_operation dataconnect Use this to generate a single Firebase Data Connect query or mutation based on the currently deployed schema and the provided prompt.
dataconnect_list_services dataconnect Use this to list existing local and backend Firebase Data Connect services
dataconnect_execute dataconnect Use this to execute a GraphQL operation against a Data Connect service or its emulator.
storage_get_object_download_url ذخیره‌سازی Use this to retrieve the download URL for an object in a Cloud Storage for Firebase bucket.
messaging_send_message پیام‌رسانی Use this to send a message to a Firebase Cloud Messaging registration token or topic. ONLY ONE of registration_token or topic may be supplied in a specific call.
functions_get_logs توابع Use this to retrieve a page of Cloud Functions log entries using Google Cloud Logging advanced filters.
remoteconfig_get_template remoteconfig Use this to retrieve the specified Firebase Remote Config template from the currently active Firebase Project.
remoteconfig_update_template remoteconfig Use this to publish a new remote config template or roll back to a specific version for the project
crashlytics_create_note crashlytics Add a note to an issue from crashlytics.
crashlytics_delete_note crashlytics Delete a note from a Crashlytics issue.
crashlytics_get_issue crashlytics Gets data for a Crashlytics issue, which can be used as a starting point for debugging.
crashlytics_list_events crashlytics Use this to list the most recent events matching the given filters.
Can be used to fetch sample crashes and exceptions for an issue,
which will include stack traces and other data useful for debugging.
crashlytics_batch_get_events crashlytics Gets specific events by resource name.
Can be used to fetch sample crashes and exceptions for an issue,
which will include stack traces and other data useful for debugging.
crashlytics_list_notes crashlytics Use this to list all notes for an issue in Crashlytics.
crashlytics_get_top_issues crashlytics Use this to count events and distinct impacted users, grouped by issue .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_get_top_variants crashlytics Counts events and distinct impacted users, grouped by issue variant .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_get_top_versions crashlytics Counts events and distinct impacted users, grouped by version .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_get_top_apple_devices crashlytics Counts events and distinct impacted users, grouped by apple device .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
Only relevant for iOS, iPadOS and MacOS applications.
crashlytics_get_top_android_devices crashlytics Counts events and distinct impacted users, grouped by android device .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
Only relevant for Android applications.
crashlytics_get_top_operating_systems crashlytics Counts events and distinct impacted users, grouped by operating system .
Groups are sorted by event count, in descending order.
Only counts events matching the given filters.
crashlytics_update_issue crashlytics Use this to update the state of Crashlytics issue.
apphosting_fetch_logs apphosting Use this to fetch the most recent logs for a specified App Hosting backend. If buildLogs is specified, the logs from the build process for the latest build are returned. The most recent logs are listed first.
apphosting_list_backends apphosting Use this to retrieve a list of App Hosting backends in the current project. An empty list means that there are no backends. The uri is the public URL of the backend. A working backend will have a managed_resources array that will contain a run_service entry. That run_service.service is the resource name of the Cloud Run service serving the App Hosting backend. The last segment of that name is the service ID. domains is the list of domains that are associated with the backend. They either have type CUSTOM or DEFAULT . Every backend should have a DEFAULT domain. The actual domain that a user would use to conenct to the backend is the last parameter of the domain resource name. If a custom domain is correctly set up, it will have statuses ending in ACTIVE .
realtimedatabase_get_data realtimedatabase Use this to retrieve data from the specified location in a Firebase Realtime Database.
realtimedatabase_set_data realtimedatabase Use this to write data to the specified location in a Firebase Realtime Database.

منابع

The MCP server provides resources, which are documentation files intended for use by LLMs. Models that support using resources will automatically include relevant resources in the session context.

The following table describes the resources the MCP server makes available.

Resource Name توضیحات
backend_init_guide Firebase Backend Init Guide: guides the coding agent through configuring Firebase backend services in the current project
ai_init_guide Firebase GenAI Init Guide: guides the coding agent through configuring GenAI capabilities in the current project utilizing Firebase
data_connect_init_guide Firebase Data Connect Init Guide: guides the coding agent through configuring Data Connect for PostgreSQL access in the current project
firestore_init_guide Firestore Init Guide: guides the coding agent through configuring Firestore in the current project
firestore_rules_init_guide Firestore Rules Init Guide: guides the coding agent through setting up Firestore security rules in the project
rtdb_init_guide Firebase Realtime Database Init Guide: guides the coding agent through configuring Realtime Database in the current project
auth_init_guide Firebase Authentication Init Guide: guides the coding agent through configuring Firebase Authentication in the current project
hosting_init_guide Firebase Hosting Deployment Guide: guides the coding agent through deploying to Firebase Hosting in the current project
اسناد Firebase Docs: loads plain text content from Firebase documentation, eg https://firebase.google.com/docs/functions becomes firebase://docs/functions