Provides access to Google Cloud Datastore (Firestore in Datastore mode), enabling operations such as creating, updating, and deleting entities, running complex queries and aggregations, and managing transactions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Datastore ServerFind all User entities where age is greater than 25"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Datastore Server
A Model Context Protocol (MCP) server that provides access to Google Firestore in Datastore mode.
Features
This MCP server exposes the following tools for interacting with Google Cloud Datastore:
Entity Operations
datastore_get: Get an entity by kind and key
datastore_insert: Insert a new entity
datastore_update: Update an existing entity
datastore_upsert: Insert or update an entity
datastore_delete: Delete an entity by kind and key
Query Operations
datastore_query: Query entities with filters and ordering
datastore_runAggregationQuery: Run aggregation queries (count, sum, avg)
datastore_listKinds: List all entity kinds (types) in the Datastore
Key Operations
datastore_allocateIds: Allocate IDs for incomplete keys
datastore_createKey: Create a complete or incomplete key
Transaction Operations
datastore_runInTransaction: Execute multiple operations in a transaction
Setup
Prerequisites
A Google Cloud project with Datastore API enabled
Service account credentials with appropriate Datastore permissions
Installation
npm install
npm run buildConfiguration
Set the following environment variables:
# Path to your service account JSON key file
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
# Your Google Cloud project ID
export GOOGLE_CLOUD_PROJECT=your-project-idOr you can provide them when running the server:
GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json GOOGLE_CLOUD_PROJECT=your-project-id npm startUsage
Running the Server
npm startUsing with Claude Desktop
Add this to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"datastore": {
"command": "node",
"args": [
"d:\\projects\\mcp-datastore\\build\\index.js"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "C:\\path\\to\\service-account-key.json",
"GOOGLE_CLOUD_PROJECT": "your-project-id"
}
}
}
}Tool Examples
Get an Entity
{
"kind": "User",
"keyId": "12345"
}Insert an Entity
{
"kind": "User",
"data": {
"name": "John Doe",
"email": "john@example.com",
"age": 30
}
}Query Entities
{
"kind": "User",
"filters": [
{
"property": "age",
"operator": ">",
"value": 25
}
],
"orderBy": [
{
"property": "name",
"descending": false
}
],
"limit": 10
}Run Aggregation Query
{
"kind": "Order",
"aggregations": [
{
"type": "count",
"alias": "total_orders"
},
{
"type": "sum",
"property": "amount",
"alias": "total_amount"
}
]
}List Entity Kinds
{
"namespace": "optional-namespace" // Optional: specify namespace to list kinds from
}This returns all entity kinds (types) in your Datastore, including both user-defined kinds and system metadata kinds (prefixed with __Stat_).
License
MIT