gitskyflux firestore mcp

gitskyflux firestore mcp avatar

by gitskyflux

MCP Server to interact with Google Cloud Firestore

What is gitskyflux firestore mcp

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": "[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

Leave a Comment

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.

Submit Your MCP Server

Share your MCP server with the community

Submit Now