شما میتوانید از سرور 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.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.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!
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 mcpYou can verify the installation by running:
claude mcp listIt 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.
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 containingfirebase.json, to set a project context for the MCP server. If unspecified, theget_project_directoryandset_project_directorytools 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 |