Django Firebase Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Django Firebase Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A comprehensive Django app that implements Firebase Model Context Protocol (MCP) server, enabling AI agents to interact with Firebase services through a standardized protocol.
Get up and running in under 5 minutes with the standalone Firebase agent for testing.
git clone https://github.com/your-repo/django-firebase-mcp.git
cd django-firebase-mcppip install -r requirements.txt#### Get Firebase Credentials
credentials.json in the project root#### Enable Firebase Services
Make sure these services are enabled in your Firebase project:
Create a .env file in the project root:
# Firebase Configuration
SERVICE_ACCOUNT_KEY_PATH=credentials.json
FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com
# MCP Configuration
MCP_TRANSPORT=http
MCP_HOST=127.0.0.1
MCP_PORT=8001
# Django Settings
DEBUG=True
SECRET_KEY=your-secret-key-here⚠️ Important: Replace your-project-id with your actual Firebase project ID.
The Firebase MCP agent uses state management for conversation persistence. Choose one option:
#### Option A: Redis (Recommended for Production)
Install and run Redis on port 6379:
# Install Redis using Chocolatey
choco install redis-64
# Or download from: https://github.com/microsoftarchive/redis/releases
# Then run Redis server
redis-serverAdd to your .env file:
# Redis Configuration
REDIS_URL=redis://localhost:6379
USE_REDIS=true#### Option B: InMemorySaver (Quick Testing)
For quick testing without Redis, the agent will automatically use InMemorySaver. No additional setup required.
Add to your .env file:
# Memory-based state (no persistence)
USE_REDIS=falseNote: InMemorySaver doesn't persist conversations between restarts, while Redis maintains state across sessions.
Test your setup immediately with the standalone Firebase agent:
# Run the standalone agent
python firebase_admin_mcp/standalone_firebase_agent.pyYou should see:
🔥 Firebase MCP Agent Ready!
Type 'help' for available commands, 'quit' to exit.
>Try these commands:
> List all Firebase collections
> Check Firebase health status
> help
> quitFor full Django integration:
# Apply migrations
python manage.py migrate
# Create superuser (optional)
python manage.py createsuperuser
# Run Django development server
python manage.py runserver 8001The MCP server will be available at: http://127.0.0.1:8001/mcp/
# Run standalone Firebase agent (quick testing)
python firebase_admin_mcp/standalone_firebase_agent.py
# Run MCP server via Django
python manage.py runserver 8001
# Run MCP server in stdio mode (for MCP clients)
python manage.py run_mcp --transport stdio
# Run MCP server in HTTP mode
python manage.py run_mcp --transport http --host 127.0.0.1 --port 8001
# Run standalone agent via Django management command
python manage.py run_standalone_agent# Test Firebase connectivity
python firebase_admin_mcp/tests/test_firebase_connection.py
# Test MCP server completeness
python firebase_admin_mcp/tests/test_mcp_complete.py
# Demo Firebase agent
python firebase_admin_mcp/tests/demo_firebase_agent.py
# Demo standalone agent
python firebase_admin_mcp/demo_standalone_agent.pyThe MCP server provides 14 Firebase tools across three categories:
firebase_verify_token - Verify Firebase ID tokensfirebase_create_custom_token - Create custom auth tokensfirebase_get_user - Get user info by UIDfirebase_delete_user - Delete user accountsfirestore_list_collections - List all collectionsfirestore_create_document - Create new documentsfirestore_get_document - Retrieve documentsfirestore_update_document - Update documentsfirestore_delete_document - Delete documentsfirestore_query_collection - Query with filtersstorage_list_files - List files with filteringstorage_upload_file - Upload filesstorage_download_file - Download filesstorage_delete_file - Delete filescurl http://127.0.0.1:8001/mcp/curl -X POST http://127.0.0.1:8001/mcp/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "firestore_list_collections",
"arguments": {}
},
"id": 1
}'from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
# Import Firebase tools
from firebase_admin_mcp.tools.agents.firebase_mcp_client import ALL_FIREBASE_TOOLS
# Create agent with Firebase capabilities
model = ChatOpenAI(model="gpt-4")
agent = create_react_agent(
model=model,
tools=ALL_FIREBASE_TOOLS,
prompt="You are a Firebase assistant with full database and storage access."
)
# Use the agent
response = agent.invoke({
"messages": [{"role": "user", "content": "Show me all my Firestore collections"}]
})This project includes comprehensive documentation:
Problem: Default app does not exist error Solution: Verify credentials.json path in .env file
Problem: Server won't start Solution: Check if port 8001 is available: netstat -an | findstr :8001
Problem: Firebase connection fails Solution: Verify Firebase services are enabled in console
Problem: Import errors Solution: Ensure all dependencies installed: pip install -r requirements.txt
Problem: Redis connection fails Solution: Verify Redis is running: redis-cli ping (should return "PONG")
Problem: State not persisting between sessions Solution: Check Redis configuration or switch to Redis from InMemorySaver
django-firebase-mcp/
├── README.md # This file
├── FIREBASE_ADMIN_MCP.md # Complete documentation
├── STANDALONE_AGENT.md # Standalone agent guide
├── requirements.txt # Python dependencies
├── credentials.json # Firebase credentials (you create this)
├── .env # Environment variables (you create this)
├── manage.py # Django management
├── firebase_admin_mcp/ # Main MCP app
│ ├── standalone_firebase_agent.py # Standalone agent
│ ├── tools/ # Firebase MCP tools
│ ├── management/commands/ # Django commands
│ └── tests/ # Test suite
└── django_firebase_mcp/ # Django project settingsMIT License - see LICENSE file for details.
🔥 Ready to supercharge your AI agents with Firebase?
Start with the standalone agent, then explore the full documentation for advanced usage!
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.