Firestore MCP Server

SSE

by gitskyflux

1 317 downloads Not rated yet MIT

About

MCP Server to interact with Google Cloud Firestore

Details

Transport
SSE
License
MIT

Explore

- 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

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).

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

firestore-list-collections

List Firestore collections

firestore-get-collection

Get documents from a Firestore collection

firestore-get-document

Get a document from Firestore

firestore-create-document

Create a new document in Firestore

firestore-update-document

Update an existing Firestore document

firestore-delete-document

Delete a document from Firestore

firestore-query-collection

Query documents in a Firestore collection

firestore-list-subcollections

List subcollections of a document

firestore-get-collection-by-path

Get documents from a collection using full path (supports subcollections)

firestore-get-document-by-path

Get a document using full path (supports subcollections)

firestore-create-document-by-path

Create a document in a collection using full path (supports subcollections)

firestore-update-document-by-path

Update a document using full path (supports subcollections)

firestore-delete-document-by-path

Delete a document using full path (supports subcollections)

firestore-query-collection-by-path

Query documents in a collection using full path (supports subcollections)

firestore-batch-write

Execute multiple write operations in a single atomic batch

firestore-batch-read

Read multiple documents in a single operation

firestore-transaction

Execute a transaction with read and write operations

firestore-increment-field

Atomically increment a numeric field value

firestore-array-union

Add elements to an array field without duplicates

firestore-array-remove

Remove elements from an array field

firestore-server-timestamp

Set a field to the server timestamp

firestore-delete-field

Delete specific fields from a document

firestore-field-value-batch

Execute multiple field value operations in a batch

- 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

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": "[email protected]",
  "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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.