Control Room MCP Server
by NazzyDee
README.md
# Control Room MCP Server
This is a standalone Express server that implements the Model Context Protocol (MCP). It is used to securely expose Google Analytics data and Firebase Cloud Messaging capabilities to Spark/Gemini.
## Why a Standalone Server?
MCP relies on Server-Sent Events (SSE) to maintain a live streaming connection with the AI agent. Serverless functions (like Netlify Functions or AWS Lambda) are stateless and automatically terminate connections, which instantly crashes the stream. This standalone Node.js server solves that by running continuously.
## How to Deploy (Recommended: Render)
Since this requires a persistent server, deploying to a free host like Render.com is the best option.
1. **Push to GitHub**:
- Create a new, empty repository on GitHub called `control-room-mcp`.
- Open this folder (`v:\New App Ideas\Work\control-room-mcp`) in your terminal or VS Code.
- Run the commands GitHub gives you to push an existing repository.
2. **Deploy to Render**:
- Go to [Render.com](https://render.com) and sign in.
- Click **New** -> **Web Service**.
- Connect your GitHub account and select your new `control-room-mcp` repo.
- Settings:
- **Build Command**: `npm install`
- **Start Command**: `npm start`
- **Instance Type**: Free
- **Environment Variables**: Make sure you copy over these 3 variables exactly as they are in your Netlify Control Room app:
- `GOOGLE_PRIVATE_KEY`
- `GOOGLE_CLIENT_EMAIL`
- `VITE_GA_PROPERTY_ID`
3. **Connect to Spark**:
- Once Render finishes deploying, it will give you a `.onrender.com` URL.
- Go to Gemini -> Set up custom connected app.
- Enter your Render URL with `/mcp` at the end (e.g. `https://control-room-mcp.onrender.com/mcp`).
- Done! Spark is now securely connected to your Control Room.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues