MCP Server
MCP Datastore Server
An MCP server that provides simple query capabilities for Google Cloud Datastore, allowing users to list kinds, retrieve entities, run basic queries with pagination, filter entities by equality, and count entities.
0
GitHub Stars
8/23/2025
Last Updated
No Configuration
Please check the documentation below.
README Documentation
MCP Datastore Server
An MCP (Model Context Protocol) server for Google Cloud Datastore that provides simple query capabilities.
Features
- List Kinds: Get all available entity kinds (tables) in your Datastore
- Get Entity: Retrieve a specific entity by key
- Query Entities: Basic querying with pagination
- Filter Entities: Simple equality filtering on any field (including key fields)
- Count Entities: Count entities in a kind with optional filtering
Setup
- Install dependencies:
npm install
-
Set up authentication:
- Set
GOOGLE_CLOUD_PROJECT
environment variable - Set
GOOGLE_APPLICATION_CREDENTIALS
to point to your service account key file - Or use Application Default Credentials (ADC)
- Set
-
Build the project:
npm run build
- Run the server:
npm start
Available Tools
datastore_list_kinds
Lists all available entity kinds in the Datastore.
datastore_get
Gets an entity by its key.
kind
: Entity kindkey
: Entity key (name or ID)parent
: Parent key (optional)
datastore_query
Queries entities with optional pagination.
kind
: Entity kind to querylimit
: Maximum results (default: 100)offset
: Results to skip (default: 0)
datastore_filter
Filters entities by field equality.
kind
: Entity kind to queryfield
: Field name to filter on (including__key__
orkey
)value
: Value to match exactlylimit
: Maximum results (default: 100)
datastore_count
Counts entities in a kind with optional filtering.
kind
: Entity kind to countfield
: Field name to filter on (optional)value
: Value to match exactly (required if field is provided)
Examples
// List kinds
{"name": "datastore_list_kinds", "arguments": {}}
// Get entity
{"name": "datastore_get", "arguments": {"kind": "User", "key": "12345"}}
// Query with pagination
{"name": "datastore_query", "arguments": {"kind": "User", "limit": 10}}
// Filter by field
{"name": "datastore_filter", "arguments": {"kind": "User", "field": "status", "value": "active"}}
// Filter by key
{"name": "datastore_filter", "arguments": {"kind": "User", "field": "__key__", "value": "12345"}}
// Count all entities
{"name": "datastore_count", "arguments": {"kind": "User"}}
// Count with filter
{"name": "datastore_count", "arguments": {"kind": "User", "field": "status", "value": "active"}}
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source