FireCMS MCP server

Run a FireCMS Cloud project from a chat client: Firestore documents, collection schemas, users and settings

Official · FireCMS TypeScript Remote (hosted) · Streamable HTTPLocal · stdio DatabasesDeveloper toolsCloud platforms

44 popularity score ★ 1.3k ↓ 174/wk

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude (desktop and web)Settings → Connectors → Add custom connector, name it FireCMS and paste the address
https://api.firecms.co/mcp
Claude Codeterminal, then run /mcp in Claude Code and choose Authenticate
claude mcp add --transport http firecms https://api.firecms.co/mcp
Cursor.cursor/mcp.json in the project, or ~/.cursor/mcp.json
{ "mcpServers" : { "firecms" : { "url" : "https://api.firecms.co/mcp" } } }
Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add firecms -- npx -y @firecms/mcp-server
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "firecms": {
      "command": "npx",
      "args": [
        "-y",
        "@firecms/mcp-server"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "firecms": {
      "command": "npx",
      "args": [
        "-y",
        "@firecms/mcp-server"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "firecms": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@firecms/mcp-server"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.firecms]
command = "npx"
args = ["-y", "@firecms/mcp-server"]
Gemini CLITerminal
gemini mcp add --scope user firecms npx -- -y @firecms/mcp-server

Settings 1

FIRECMS_API_URL Optional: Backend the local server talks to; defaults to https://api.firecms.co (FireCMS Cloud), set it for a staging or self-hosted backend.

What it does

FireCMS is an admin panel built on Firebase. Its makers run an MCP server for FireCMS Cloud, so an assistant can browse and edit Firestore documents, build and change the collection schemas that drive the panel, rename or restyle a project, and invite or remove users. A useful piece for existing Firebase projects: it samples documents at each root collection (up to 200 for a preview) and infers property types, names, icons and groups, so an existing database becomes a working CMS without hand-written schemas.

It comes two ways. The hosted endpoint at https://api.firecms.co/mcp signs in through FireCMS Cloud with OAuth and needs nothing installed. The npm package @firecms/mcp-server runs the same server on your machine over stdio; it signs in with your Google account, which lets it do the Google Cloud setup the hosted one cannot: list your projects, enable APIs, create the Firestore database and connect a project end to end.

The code at v3.5.1 registers 45 tools, 7 of them local only. Some defaults are not in the docs: list_documents returns 20 documents unless given a limit, export_collection returns 100 by default and at most 500, and import_documents overwrites any document whose ID already exists unless called with merge: true (src/tools/documents.ts, export.ts, import.ts). The local server talks to FireCMS Cloud by default; the FIRECMS_API_URL setting points it at another backend, such as a self-hosted one (src/config.ts).

What it needs

To run it yourselfNode.js 18+

A FireCMS Cloud account and a project; reading works for any project member, while every change needs the admin role on that project. Firebase Authentication must be turned on in the Firebase console before a project is connected. Hosted: an MCP client that takes remote servers and can sign in with OAuth. Local: Node.js 18 or later for npx, a browser for Google sign-in (run the firecms_login tool once), and Google Cloud permissions on the projects you want it to set up.

Limits

The hosted server holds no Google Cloud credentials, so it cannot enable APIs, create Firestore databases or finish connecting a project: connect_project_to_firecms returns a link to do that step in FireCMS Cloud, and seven onboarding and sign-in tools are offered only by the local server. import_documents takes at most 500 documents per call, export_collection at most 500, and the bulk inference tools skip paths that are already mapped or hold no documents. The location chosen with enable_firestore cannot be changed later. It works only with FireCMS projects on Firestore.

Who it suits

Teams already on FireCMS Cloud, or with a Firebase project they want to turn into an admin panel, who want an assistant to shape schemas, seed or fix data and manage users. Pick the hosted endpoint for day-to-day data and schema work with no install; pick the local package when the assistant should also do the Google Cloud setup of a new project. Since document tools write straight to production Firestore and imports overwrite by default, a client that asks before each write is a sensible pairing. For Firestore without FireCMS, this server is not the fit.

Tools 45

firecms_get_current_user
Shows which FireCMS account is signed in
firecms_login
Local only: opens a browser for Google sign-in and stores the tokens
firecms_logout
Local only: signs out and drops the stored session
connect_project_to_firecms
Connects a Firebase project; hosted returns a link to finish in FireCMS Cloud, local does it end to end
list_firebase_projects
Local only: lists Google Cloud projects you can reach, with readiness flags
get_project_setup_status
Local only: reports in detail what one project still needs
list_firestore_locations
Local only: lists regions available for a new Firestore database
enable_project_apis
Local only: turns on the Google Cloud APIs FireCMS needs
enable_firestore
Local only: creates the default Firestore database in a chosen, permanent location
apply_firestore_security_rules
Adds the FireCMS access rule to Firestore and Storage rules (admin)
create_firecms_webapp
Retries creating the Firebase web app if connecting failed (admin)
list_projects
Lists your FireCMS Cloud projects
get_project_config
Returns a project's full settings: name, colours, plan, features (admin)
update_project_name
Renames a project (admin)
update_project_colors
Sets the primary and secondary brand colours (admin)
update_default_locale
Changes the project's default locale (admin)
toggle_text_search
Switches local text search on or off (admin)
toggle_entity_history
Switches entity history tracking on or off (admin)
list_users
Lists project users and their roles (admin)
add_user
Invites a user to the project (admin)
update_user_roles
Changes a user's roles (admin)
remove_user
Removes a user from the project (admin)
get_root_collections
Lists the Firestore root collections, read live
list_subcollections
Lists the subcollections under one document
list_databases
Lists Firestore databases beyond the default one
preview_inferred_schema
Drafts a schema from sampled documents without saving it
infer_collections_from_data
Infers and saves collections for chosen paths (admin)
setup_all_collections
Infers and saves every root collection not yet mapped (admin)
list_collection_schemas
Lists all saved collection schemas (admin)
get_collection_schema
Returns one collection's full schema (admin)
save_collection_schema
Creates or replaces a collection schema (admin)
update_collection_schema
Changes part of a collection schema (admin)
delete_collection_schema
Deletes a collection schema, leaving the data in place (admin)
save_property
Adds or changes one property in a collection (admin)
delete_property
Removes one property from a collection schema (admin)
generate_collection
Has FireCMS's AI draft a collection schema from a prompt
modify_collection
Has FireCMS's AI change an existing schema from a prompt
list_documents
Queries documents with filters, ordering and a limit
get_document
Fetches one document by path
create_document
Creates a document
update_document
Changes some fields of a document
delete_document
Deletes a document
count_documents
Counts the documents in a collection
export_collection
Returns a collection's documents as JSON
import_documents
Writes up to 500 documents in one call (admin)

Similar servers