An interface for interacting with Google Firestore databases directly through Claude Desktop, supporting operations like creating, reading, updating, and querying documents across 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.
Install dependencies:
npm install
Build the project:
npm run build
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:
Get the document with ID "user123" from the "users" collection
Create a new document in the "users" collection with the following data:
{
"name": "John Doe",
"email": "john@example.com",
"age": 30
}
Update the document with ID "user123" in the "users" collection to change the age to 31
Delete the document with ID "user123" from the "users" collection
Find all users over 25 years old, ordered by name
List all available Firestore collections
npm run dev
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!