Skip to main content
Glama

Firestore MCP Server

by gitskyflux
README.md2.59 kB
# 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`: ```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`

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