می توانید از سرور Firebase MCP استفاده کنید تا به ابزارهای توسعه مبتنی بر هوش مصنوعی توانایی کار با پروژه های Firebase خود را بدهید. سرور Firebase MCP با هر ابزاری که می تواند به عنوان یک مشتری MCP عمل کند، از جمله Claude Desktop، Cline، Cursor، Visual Studio Code Copilot، Windsurf Editor و غیره کار می کند.
ویرایشگر پیکربندی شده برای استفاده از سرور Firebase MCP می تواند از قابلیت های هوش مصنوعی خود برای کمک به شما استفاده کند:
- پروژه های Firebase را ایجاد و مدیریت کنید
- کاربران Firebase Authentication خود را مدیریت کنید
- با داده ها در Cloud Firestore و Firebase Data Connect کار کنید
- طرحواره های Firebase Data Connect را بازیابی کنید
- قوانین امنیتی خود را برای Firestore و Cloud Storage برای Firebase بدانید
- با Firebase Cloud Messaging پیام ارسال کنید
برخی از ابزارها از Gemini در Firebase برای کمک به شما استفاده می کنند:
- طرح و عملیات Firebase Data Connect را ایجاد کنید
- در مورد محصولات Firebase با Gemini مشورت کنید
اینها فقط لیست های جزئی هستند. برای لیست کامل ابزارهای موجود در ویرایشگر خود، بخش قابلیت های سرور را ببینید.
هنگامی که سرور Firebase MCP تماس ابزار برقرار می کند، از همان اعتبار کاربری استفاده می کند که Firebase CLI را در محیطی که در آن اجرا می شود مجاز می کند. بسته به محیط، این می تواند یک کاربر وارد شده یا اعتبار پیش فرض برنامه باشد.
قبل از شروع
مطمئن شوید که Node.js و npm را نصب کرده اید.
با اجرای دستور زیر Firebase CLI را احراز هویت کنید:
npx -y firebase-tools@latest login --reauth
سرور Firebase MCP از CLI برای انجام احراز هویت با پروژه های Firebase شما استفاده می کند. قبل از استفاده از سرور MCP باید با CLI احراز هویت کنید. اگر سعی کنید بدون ورود به سیستم از سرور استفاده کنید، یا اگر رمز احراز هویت شما منقضی شده باشد، سرور یک پیام خطایی را چاپ می کند که از شما می خواهد دوباره احراز هویت کنید.
سرویس گیرنده MCP خود را تنظیم کنید
سرور Firebase MCP می تواند با هر مشتری MCP که از I/O استاندارد (stdio) به عنوان رسانه انتقال پشتیبانی می کند، کار کند. در اینجا دستورالعمل های خاصی برای برخی از ابزارهای محبوب آورده شده است:
پیکربندی اولیه
کلود دسکتاپ
برای پیکربندی Claude Desktop برای استفاده از سرور Firebase MCP، فایل claude_desktop_config.json
را ویرایش کنید. می توانید این فایل را از منوی Claude > Settings باز یا ایجاد کنید. برگه Developer را انتخاب کنید، سپس روی Edit Config کلیک کنید.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
کلین
برای پیکربندی Cline برای استفاده از سرور MCP Firebase، فایل cline_mcp_settings.json
را ویرایش کنید. میتوانید این فایل را با کلیک کردن روی نماد سرورهای MCP در بالای صفحه Cline باز یا ایجاد کنید، سپس روی دکمه پیکربندی سرورهای MCP کلیک کنید.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
مکان نما
برای پیکربندی مکان نما برای استفاده از سرور MCP Firebase، فایل .cursor/mcp.json
(برای پیکربندی فقط یک پروژه خاص) یا فایل ~/.cursor/mcp.json
(برای در دسترس قرار دادن سرور MCP در همه پروژه ها) را ویرایش کنید:
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
استودیو Firebase
برای پیکربندی Firebase Studio برای استفاده از سرور Firebase MCP، فایل(های) پیکربندی را ویرایش یا ایجاد کنید:
- Gemini در چت Firebase از
.idx/mcp.json
استفاده می کند. - Gemini CLI از
.gemini/settings.json
استفاده می کند.
اگر فایل هنوز وجود ندارد، با کلیک راست روی پوشه والد و انتخاب فایل جدید ، آن را ایجاد کنید. مطالب زیر را به فایل اضافه کنید:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Visual Studio Code Copilot
برای پیکربندی یک پروژه واحد، فایل .vscode/mcp.json
را در فضای کاری خود ویرایش کنید:
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
برای در دسترس قرار دادن سرور در هر پروژه ای که باز می کنید، تنظیمات کاربر خود را ویرایش کنید:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
ویرایشگر موج سواری
برای پیکربندی ویرایشگر Windsurf، فایل ~/.codeium/windsurf/mcp_config.json
را ویرایش کنید:
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
پیکربندی اختیاری
علاوه بر پیکربندی اولیه برای هر مشتری، که قبلا نشان داده شده است، دو پارامتر اختیاری وجود دارد که می توانید مشخص کنید:
--dir ABSOLUTE_DIR_PATH
: مسیر مطلق دایرکتوری حاویfirebase.json
برای تنظیم زمینه پروژه برای سرور MCP. اگر نامشخص باشد، ابزارget_project_directory
وset_project_directory
در دسترس میشوند و دایرکتوری پیشفرض دایرکتوری کاری خواهد بود که سرور MCP در آن راهاندازی شده است.--only FEATURE_1 , FEATURE_2
: فهرستی از گروههای ویژگی جدا شده با کاما برای فعال کردن. از این برای محدود کردن ابزارهایی که فقط در معرض ویژگی هایی هستند که به طور فعال استفاده می کنید استفاده کنید. توجه داشته باشید که ابزارهای اصلی همیشه در دسترس هستند
به عنوان مثال:
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "experimental:mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
قابلیت های سرور MCP
نام ابزار | گروه ویژه | توضیحات |
---|---|---|
firebase_get_project | هسته | اطلاعات مربوط به پروژه Firebase فعال فعلی را بازیابی می کند. |
firebase_list_apps | هسته | برنامه های ثبت شده در پروژه فعلی Firebase را بازیابی می کند. |
firebase_get_admin_sdk_config | هسته | پیکربندی Admin SDK را برای پروژه فعلی دریافت می کند. |
firebase_list_projects | هسته | لیستی از پروژه های Firebase را تا تعداد کل مشخص شده بازیابی می کند. |
firebase_get_sdk_config | هسته | اطلاعات پیکربندی Firebase SDK را برای پلتفرم مشخص شده بازیابی می کند. باید پلتفرم یا app_id را مشخص کنید. |
firebase_create_project | هسته | یک پروژه Firebase جدید ایجاد می کند. |
firebase_create_app | هسته | یک برنامه جدید در پروژه Firebase شما برای وب، iOS یا Android ایجاد می کند. |
firebase_create_android_sha | هسته | هش گواهی SHA را به یک برنامه اندروید موجود اضافه می کند. |
firebase_consult_assistant | هسته | یک سوال به دستیار هوش مصنوعی بفرستید که به طور خاص برای پاسخ به سوالات Firebase بهبود یافته است. |
firebase_get_environment | هسته | اطلاعاتی را در مورد محیط فعلی Firebase از جمله کاربر تأیید شده فعلی، فهرست پروژه، پروژه فعال و غیره بازیابی می کند. |
firebase_update_environment | هسته | پیکربندی محیط Firebase مانند فهرست پروژه، پروژه فعال، حساب کاربری فعال و غیره را به روز می کند. برای مشاهده محیط پیکربندی شده فعلی از firebase_get_environment استفاده کنید. |
firebase_init | هسته | ویژگی های Firebase انتخاب شده را در فضای کاری (Firestore، Data Connect، Realtime Database) راه اندازی می کند. همه ویژگی ها اختیاری هستند. فقط محصولاتی را که می خواهید راه اندازی کنید ارائه دهید. میتوانید ویژگیهای جدید را در فهرست پروژه موجود مقداردهی کنید، اما راهاندازی مجدد یک ویژگی موجود ممکن است پیکربندی را بازنویسی کند. برای استقرار ویژگی های اولیه، دستور firebase deploy بعد از ابزار firebase_init اجرا کنید. |
firestore_delete_document | آتش نشانی | اسناد Firestore را از یک پایگاه داده در پروژه فعلی توسط مسیرهای سند کامل حذف می کند. اگر مسیر دقیق یک سند را می دانید از این استفاده کنید. |
firestore_get_documents | آتش نشانی | یک یا چند سند Firestore را از یک پایگاه داده در پروژه فعلی توسط مسیرهای سند کامل بازیابی می کند. اگر مسیر دقیق یک سند را می دانید از این استفاده کنید. |
firestore_list_collections | آتش نشانی | فهرستی از مجموعه ها را از پایگاه داده Firestore در پروژه فعلی بازیابی می کند. |
firestore_query_collection | آتش نشانی | بازیابی یک یا چند سند Firestore از یک مجموعه یک پایگاه داده در پروژه فعلی توسط مجموعه ای با یک مسیر سند کامل است. اگر مسیر دقیق یک مجموعه و بند فیلتری را که برای سند می خواهید می دانید، از این استفاده کنید. |
firestore_get_rules | آتش نشانی | قوانین امنیتی Firestore فعال برای پروژه فعلی را بازیابی می کند. |
firestore_validate_rules | آتش نشانی | منبع قوانین Firestore ارائه شده را برای خطاهای نحوی و اعتبارسنجی بررسی می کند. کد منبع را برای اعتبارسنجی یا مسیری به فایل منبع ارائه دهید. |
auth_get_user | اعتبار | کاربر را بر اساس آدرس ایمیل، شماره تلفن یا UID بازیابی می کند. |
auth_disable_user | اعتبار | کاربر را بر اساس UID غیرفعال یا فعال می کند. |
auth_list_users | اعتبار | همه کاربران پروژه را تا سقف مشخص شده بازیابی می کند. |
auth_set_claim | اعتبار | یک ادعای سفارشی را روی حساب کاربری خاص تنظیم می کند. برای ایجاد مقادیر قابل اعتماد مرتبط با یک کاربر استفاده کنید، مثلاً آنها را به عنوان مدیر علامت گذاری کنید. ادعاها از نظر اندازه محدود هستند و باید از نظر نام و ارزش مختصر باشند. فقط یکی از پارامترهای value یا json_value را مشخص کنید. |
auth_set_sms_region_policy | اعتبار | یک خط مشی منطقه SMS را برای Firebase Auth تنظیم می کند تا مناطقی را که می توانند پیام های متنی را بر اساس لیست ALLOW یا DENY از کدهای کشور دریافت کنند، محدود کند. این خطمشی پس از تنظیم، همه خطمشیهای موجود را لغو میکند. |
dataconnect_list_services | داده اتصال | خدمات Firebase Data Connect موجود در پروژه فعلی را فهرست کنید. |
dataconnect_generate_schema | داده اتصال | یک طرحواره اتصال داده Firebase بر اساس توضیحات کاربران یک برنامه ایجاد می کند. |
dataconnect_generate_operation | داده اتصال | یک پرسش یا جهش Firebase Data Connect را بر اساس طرحی که در حال حاضر مستقر شده و درخواست ارائه شده ایجاد می کند. |
dataconnect_get_schema | داده اتصال | بازیابی اطلاعات در مورد Firebase Data Connect Schema در پروژه، از جمله منابع داده Cloud SQL و طرح GraphQL که مدل داده را توصیف می کند. |
dataconnect_get_connectors | داده اتصال | اتصال دهنده های Firebase Data Connect را در پروژه دریافت کنید، که شامل جستارهای از پیش تعریف شده GraphQL قابل دسترسی برای SDK های مشتری است. |
dataconnect_execute_graphql | داده اتصال | یک GraphQL دلخواه را در برابر سرویس Data Connect یا شبیه ساز آن اجرا می کند. |
dataconnect_execute_graphql_read | داده اتصال | یک Query GraphQL دلخواه را در برابر سرویس Data Connect یا شبیه ساز آن اجرا می کند. نمی توان داده ها را نوشت. |
dataconnect_execute_mutation | داده اتصال | یک جهش مستقر Data Connect را علیه یک سرویس یا شبیه ساز آن اجرا می کند. می تواند داده ها را بخواند و بنویسد. |
dataconnect_execute_query | داده اتصال | یک پرس و جو مستقر Data Connect را در برابر یک سرویس یا شبیه ساز آن اجرا می کند. نمی توان هیچ داده ای را نوشت. |
storage_get_rules | ذخیره سازی | قوانین امنیتی Storage فعال را برای پروژه فعلی بازیابی می کند. |
storage_validate_rules | ذخیره سازی | منبع قوانین ذخیره سازی ارائه شده را برای خطاهای نحوی و اعتبارسنجی بررسی می کند. کد منبع را برای اعتبارسنجی یا مسیری به فایل منبع ارائه دهید. |
storage_get_object_download_url | ذخیره سازی | URL دانلود را برای یک شی در Firebase Storage بازیابی می کند. |
messaging_send_message | پیام رسانی | پیامی به نشانه یا موضوع ثبت نام Firebase Cloud Messaging ارسال می کند. فقط یکی از registration_token یا topic ممکن است در یک تماس خاص ارائه شود. |
remoteconfig_get_template | remoteconfig | یک الگوی پیکربندی راه دور برای پروژه را بازیابی می کند |
remoteconfig_publish_template | remoteconfig | یک الگوی پیکربندی راه دور جدید برای پروژه منتشر می کند |
remoteconfig_rollback_template | remoteconfig | بازگشت به نسخه خاصی از الگوی Remote Config برای یک پروژه |
crashlytics_list_top_issues | crashlytics | خرابی های برتر ناشی از crashlytics که در برنامه اتفاق می افتد را فهرست کنید. |
apphosting_fetch_logs | apphosting | جدیدترین گزارشها را برای یک باطن میزبانی برنامه مشخص شده واکشی میکند. اگر buildLogs مشخص شده باشد، گزارشهای مربوط به فرآیند ساخت آخرین بیلد برگردانده میشوند. آخرین گزارشها ابتدا فهرست میشوند. |
apphosting_list_backends | apphosting | فهرستی از پشتیبانهای میزبانی برنامه در پروژه فعلی را بازیابی میکند. لیست خالی به این معنی است که هیچ Backend وجود ندارد. uri نشانی اینترنتی عمومی باطن است. یک باطن کار دارای یک آرایه managed_resources خواهد بود که حاوی یک ورودی run_service است. این run_service.service نام منبع سرویس Cloud Run است که به بخش پشتیبان App Hosting خدمت می کند. آخرین بخش آن نام شناسه سرویس است. domains لیستی از دامنه هایی است که با backend مرتبط هستند. آنها یا نوع CUSTOM یا DEFAULT دارند. هر Backend باید یک دامنه DEFAULT داشته باشد. دامنه واقعی که کاربر برای اتصال به backend استفاده می کند آخرین پارامتر نام منبع دامنه است. اگر یک دامنه سفارشی به درستی تنظیم شده باشد، وضعیت هایی خواهد داشت که به ACTIVE ختم می شوند. |