Skip to main content
Glama

Firestore MCP Server

by gitskyflux

Firestore MCP Server

An MCP (Model Context Protocol) server for interacting with Google Firestore directly. This server provides a clean interface for creating, reading, updating, and deleting Firestore documents through Claude Desktop.

Features

  • Create documents in Firestore collections

  • Read documents from Firestore collections

  • Update existing documents

  • Delete documents

  • Query documents with filtering, ordering, and limits

  • List available collections

Setup

  1. Install dependencies:

    npm install
  2. Build the project:

    npm run build
  3. Configure Claude Desktop: Add the following to your claude_desktop_config.json:

    "firestore-mcp": { "command": "node", "args": [ "/path/to/firestore-mcp/build/index.js" ], "env": { "GOOGLE_CLOUD_PROJECTS": "project-id" } }

    Replace the path in args with the actual path to index.js.

    Define a comma-separated list of project ids in GOOGLE_CLOUD_PROJECTS. Example: google-project-id1,google-project-id2 The first listed project is the default.

    The application expects to find .json credential file(s) in the keys folder for each project. Example: keys/google-project-id1.json, keys/google-project-id2.json Ensure the cloud service account has appropriate permission to interact with Cloud Firestore, e.g. Cloud Datastore Owner or lesser permission(s).

Available Tools

  • getDocument: Get a document by ID from a collection

  • createDocument: Create a new document in a collection

  • updateDocument: Update an existing document

  • deleteDocument: Delete a document

  • queryDocuments: Query documents with filters, ordering, and limits

  • listCollections: List all available collections

Example Usage in Claude Desktop

Here are examples of how to use each tool in Claude Desktop:

Get a Document

Get the document with ID "user123" from the "users" collection

Create a Document

Create a new document in the "users" collection with the following data: { "name": "John Doe", "email": "john@example.com", "age": 30 }

Update a Document

Update the document with ID "user123" in the "users" collection to change the age to 31

Delete a Document

Delete the document with ID "user123" from the "users" collection

Query Documents

Find all users over 25 years old, ordered by name

List Collections

List all available Firestore collections

Development

  • Watch mode: npm run dev

-
security - not tested
A
license - permissive license
-
quality - not tested

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    Connects Claude Desktop directly to databases, allowing it to explore database structures, write SQL queries, analyze datasets, and create reports through an API layer with tools for table exploration and query execution.
    Last updated -
    363
    Mozilla Public License 2.0
    • Apple
  • -
    security
    F
    license
    -
    quality
    An integration server that provides Claude Desktop access to Gmail, enabling users to view recent emails and search their Gmail inbox using natural language commands.
    Last updated -
    7
  • A
    security
    F
    license
    A
    quality
    Enables managing Google Cloud Platform resources through natural language commands in Claude Desktop, supporting comprehensive operations across compute, storage, databases, networking, monitoring, and IAM without manual credential setup.
    Last updated -
    56
    21
    • Apple
  • A
    security
    A
    license
    A
    quality
    A server that integrates with Claude Desktop to enable real-time web research capabilities, allowing users to search Google, extract webpage content, and capture screenshots directly from conversations.
    Last updated -
    3
    274
    MIT License
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gitskyflux/firestore-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server