Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

FireCMS Cloud

by firecmscoversion 3.5.1i★ –iComputer or cloud
Registry nameco.firecms/mcp

Install

Overview

Description from the maker (original English)

Manage FireCMS Cloud from an AI agent: Firestore data, collections, schemas and users.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://api.firecms.co/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "firecms": {
      "command": "npx",
      "args": [
        "-y",
        "@firecms/mcp-server"
      ]
    }
  }
}

Run this in your terminal

claude mcp add --transport http firecms https://api.firecms.co/mcp

Or run it on your computer

claude mcp add firecms -- npx -y @firecms/mcp-server

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "firecms": {
      "url": "https://api.firecms.co/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "firecms": {
      "command": "npx",
      "args": [
        "-y",
        "@firecms/mcp-server"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "firecms": {
      "type": "http",
      "url": "https://api.firecms.co/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "firecms": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@firecms/mcp-server"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://api.firecms.co/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain firecms.co (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Otheri

  • More stars than 0% of the other 32433 servers in this category
  • Published to the registry more recently than 52% of the other 32433 servers in this category
  • Basic checks equal to or better than 100% of the other 32433 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is FireCMS Cloud safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (3.5.1) reached the registry 37 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@firecms/mcp-server

MCP server for FireCMS Cloud. Lets AI assistants connect a Firebase project to FireCMS, infer collections from the data already in Firestore, and then manage the CMS — browse and edit data, shape collection schemas and properties, configure the project, and manage users.

Admin-only: All write operations require the authenticated user to have the admin role on the target project. Read operations are available to any authenticated project member. Onboarding tools run before a project exists, so they are gated by Google Cloud access instead.

The same server runs in two places:

  • Hosted, at https://api.firecms.co/mcp, for everyone. Clients sign in with OAuth in the browser; nothing to install. It holds no Google Cloud credentials, so connecting a new Firebase project is handed off to the web app. The FireCMS backend mounts it through the @firecms/mcp-server/hosted entry point.
  • Local, over stdio (npx @firecms/mcp-server). It signs in with your Google account (firecms_login), so it can also enable APIs, create Firestore databases and connect projects end to end.

Hosted server

In Claude (claude.ai or Claude Desktop): Settings → Connectors → Add custom connector, and paste https://api.firecms.co/mcp.

In Claude Code:

claude mcp add --transport http firecms https://api.firecms.co/mcp

Any other client that takes remote servers by URL:

{

"mcpServers": { "firecms": { "url": "https://api.firecms.co/mcp" } } }

Local server

Setup
cd packages/mcp_server && npm install && npm run build
Claude Desktop

Add to claude_desktop_config.json:

{

"mcpServers": { "firecms": { "command": "node", "args": ["/path/to/packages/mcp_server/dist/cli.js"] } } }

Or use npx (no build required):

{

"mcpServers": { "firecms": { "command": "npx", "args": ["@firecms/mcp-server"] } } }

Use firecms_login to sign in when prompted. Tokens are shared with the FireCMS CLI (~/.firecms/tokens.json).

Connecting an existing Firebase project

The typical first session. Everything here is driven by the Google account you logged in with.

1. list_firebase_projects        → see which projects you can connect, and what they still need
  1. get_project_setup_status → check one project in detail (optional)
  2. enable_project_apis → only if apisEnabled is false
  3. enable_firestore → only if firestoreEnabled is false (location is permanent)
  4. connect_project_to_firecms → service account, admin user, and the security rules
  5. setup_all_collections → infer every root collection from the existing data

Firebase Authentication must be enabled on the project before step 5 — it is the one prerequisite with no API, so turn it on in the Firebase console. Step 5 then adds FireCMS's access rule to the project's Firestore and Storage rules; without it the CMS reports "Missing Firestore Security Rules" and opens nothing, and no tool here would notice, because they all read through the backend's service account, which bypasses security rules.

Step 6 is where an existing project becomes a working CMS: FireCMS samples the documents at each root collection, infers the property types, and uses an LLM to pick display names, a singular name, an icon and a navigation group.

Building collections from existing data

ToolDescription
get_root_collectionsList the Firestore root collections of a project (read live)
list_subcollectionsList the subcollections of a document, to explore nested data
list_databasesList Firestore databases (only needed beyond (default))
preview_inferred_schemaInfer a schema from sampled documents without saving
infer_collections_from_data 🔒Infer and save collections for chosen paths
setup_all_collections 🔒Infer and save every unmapped root collection

preview_inferred_schema is the non-destructive option: it samples up to 200 documents, infers types, enums and validation locally, and hands back a draft you can edit and then persist with save_collection_schema. It also works for subcollections and any path the bulk tools skip.

infer_collections_from_data and setup_all_collections go through the backend, which adds the LLM pass and writes the result straight into the project. Both skip paths that already map to a collection, so they are safe to re-run as the database grows.

Tools

Auth
ToolDescription
firecms_login 💻Sign in via browser (Google OAuth)
firecms_logout 💻Sign out
firecms_get_current_userShow current user
Onboarding
ToolDescription
list_firebase_projects 💻Google Cloud projects you can access, with FireCMS readiness flags
get_project_setup_status 💻Detailed readiness of one project
list_firestore_locations 💻Locations available for a new Firestore database
enable_project_apis 💻Enable the Google Cloud APIs FireCMS requires
enable_firestore 💻Create the default Firestore database (location is permanent)
connect_project_to_firecmsConnect an existing Firebase project, and apply the security rules it needs. Hosted: returns the link to connect it in the web app
apply_firestore_security_rules 🔒Add FireCMS's access rule to Firestore and Storage (idempotent)
create_firecms_webapp 🔒Retry web app creation if it failed during connect
Projects & Root Collections
ToolDescription
list_projectsList FireCMS Cloud projects
get_root_collectionsList Firestore root collections
list_subcollectionsList the subcollections of a document
Project Configuration 🔒
ToolDescription
get_project_configGet full project config (name, colors, plan, features)
update_project_nameRename a project
update_project_colorsUpdate primary/secondary brand colors
update_default_localeChange the default locale
toggle_text_searchEnable/disable local text search
toggle_entity_historyEnable/disable entity history tracking
Users 🔒
ToolDescription
list_usersList project users and roles
add_userInvite a user
update_user_rolesChange user roles
remove_userRemove a user
Collection Schemas 🔒
ToolDescription
list_collection_schemasList all persisted collection schemas
get_collection_schemaGet full schema for a collection
save_collection_schemaCreate or replace a collection schema
update_collection_schemaPartially update a collection schema
delete_collection_schemaDelete a collection schema (data untouched)
save_propertyAdd or update a single property in a collection
delete_propertyRemove a property from a collection schema
AI Schema Generation
ToolDescription
generate_collectionAI-generate a collection schema from a prompt
modify_collectionAI-modify an existing schema from a prompt
Documents (Firestore CRUD)
ToolDescription
list_documentsQuery documents (filters, ordering, pagination)
get_documentGet a document by path
create_documentCreate a new document
update_documentPartial update of a document
delete_documentDelete a document
count_documentsCount documents in a collection
Data Import & Export
ToolDescription
export_collectionExport collection data as JSON
import_documents 🔒Bulk import documents (max 500/call)

🔒 = Admin-only operation · 💻 = local server only

Every tool declares a title and a readOnlyHint, plus a destructiveHint when it writes: false for tools that only add (create a document, invite a user), true for anything that can overwrite or delete.

Resources

URIDescription
firecms://projects/{id}/collectionsFirestore root-level collections
firecms://projects/{id}/usersProject users and roles
firecms://projects/{id}/schemasAll collection schemas (full config tree)
firecms://projects/{id}/configProject configuration snapshot

Example Workflows

Bring an existing Firebase project into FireCMS
1. list_firebase_projects        → pick a project that is not yet connected
  1. connect_project_to_firecms → provision it
  2. setup_all_collections → infer collections from the data already there
Create a collection from scratch
1. firecms_login          → authenticate
  1. list_projects → pick your project
  2. save_collection_schema → define the schema
  3. import_documents → seed with initial data
Shape a schema before committing to it
1. preview_inferred_schema  → draft a schema from real documents, nothing saved
  1. save_property → adjust individual fields
  2. save_collection_schema → persist the result
AI-assisted schema creation
1. generate_collection    → describe what you want in natural language
  1. save_collection_schema → persist the generated schema

Architecture

Sessions: local and hosted

Nothing reads credentials from process-wide state. Every API call goes through a FireCMSSession (session.ts) — the user's email, a Firebase ID token on firecms-backend, and a Google access token when there is one — passed to createFireCMSMcpServer():

  • Local (cli.ts): localSession reads the CLI's tokens file and exchanges the Google ID token for a backend token (below). The login/logout tools are registered by the CLI only.
  • Hosted (hosted.ts): the backend resolves each request's OAuth bearer token to a user and passes a session that mints that user's backend ID token. There is no Google token, so the Google Cloud tools are replaced by a connect_project_to_firecms that links to the web app. Every request gets its own server and transport (stateless Streamable HTTP), so nothing of one person's session outlives their request. hosted.ts never imports the CLI's login flow; a test walks its import graph to keep it that way.
Authentication

The FireCMS Cloud API expects two different tokens, and the server sends both — the same pair the web app sends:

HeaderTokenUsed by
AuthorizationFirebase ID token issued by firecms-backendendpoints gated by firebaseAuthorization() — most of the API
x-admin-authorizationGoogle OAuth access token (cloud-platform scope)endpoints gated by googleCloudAuthentication() — GCP provisioning. Local sessions only

firecms login only produces the Google credentials. The Google ID token is not a Firebase ID token — it is issued by accounts.google.com for the Google OAuth client, so verifyIdToken() rejects it. backend-auth.ts therefore exchanges it for a real firecms-backend token through Identity Toolkit signInWithIdp, which is the headless equivalent of the web app's signInWithPopup(auth, GoogleAuthProvider). The exchanged token is cached in memory until shortly before it expires.

Where collection configurations live

FireCMS Cloud reads collection configurations from the backend Firestore, at projects/{projectId}/collections/{collectionId} — see useFirestoreCollectionsConfigController in FireCMSCloudApp.tsx. That is *not* the client project's __FIRECMS/config/collections, which is the self-hosted layout and is never read by Cloud.

The backend exposes no REST endpoints for that store — the web app writes to it directly with the Firebase SDK — so backend-firestore.ts talks to the Firestore REST API w

Only the beginning is shown; read the rest in the repo

Ask PopNx