FireConfigMCP

Local 2025-09-01 01:02:52 0

An MCP server that provides access to Firebase Remote Config, allowing clients to interact with and manage Firebase remote configuration settings through the Model Context Protocol.


Setup

1. Install dependencies

bun install

2. Create and place serviceAccount.json

To allow the server to access Firebase Remote Config, you need a Google Cloud service account key file:

A. Google Cloud Console (point‑and‑click)

  1. Open IAM & Admin → Service Accounts inside the same GCP project that owns your Firebase app.
  2. Click Create Service Account
  3. Name: mcp-remote-config (any name is fine)
  4. Description: “MCP server – Remote Config access”
  5. Grant this service account access:
  6. In the role picker, search for Remote Config Viewer or Remote Config Admin (as needed) and select it.
  7. Optionally add Firebase Analytics Viewer if your template conditions reference GA4 audiences.
  8. Finish → Done.
  9. In the list, click the account → Keys tab → Add KeyCreate new keyJSON.
  10. Download the JSON file and place it in the project root as serviceAccount.json.

Note: Do not commit serviceAccount.json to version control. It is already in .gitignore.

3. Run the server

bun run index.ts

The server will start on port 3000 by default.

Usage

Add this MCP server to a client (e.g., Cursor, Claude Desktop, or your own MCP client)

In Cursor:

  1. Open Cursor Settings → Features → Add new MCP server.
  2. For the command, use: npx -y supergateway --sse http://localhost:3000/mcp
    "fire-config-mcp": { "command": "npx", "args": [ "-y", "supergateway", "--sse", "http://localhost:3000/mcp" ] }
    (Or use the path/command as configured in your environment.)
  3. Save and connect.

In your own MCP client (TypeScript example):

You can connect to this server using the @modelcontextprotocol/sdk client:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

const client = new Client({ name: "my-client", version: "1.0.0" });
const transport = new SSEClientTransport("http://localhost:3000/mcp");
await client.connect(transport);

// Now you can list tools, call tools, etc.
const tools = await client.listTools();

For more details, see the MCP TypeScript SDK documentation.


This project was created using bun init in bun v1.2.7. Bun is a fast all-in-one JavaScript runtime.