com.googleapis.firestore/mcp
REMOTE · FIRESTORE.GOOGLEAPIS.COM · SCANNED SEP 20
Interact with your Google Cloud Firestore resources using natural language commands.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_document). See how to fix → View diagnostics → Fail
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2613 tokens (~113/item across 23 items; 23 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management92
- Stability check failed: schema churn in the 30 days we've observed: 2 tool removals, 0 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the com.googleapis.firestore/mcp server?
com.googleapis.firestore/mcp is a hosted endpoint at https://firestore.googleapis.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · firestore.googleapis.com
claude mcp add --transport http com-googleapis-firestore-mcp 'https://firestore.googleapis.com/mcp'
{
"mcpServers": {
"com-googleapis-firestore-mcp": {
"url": "https://firestore.googleapis.com/mcp"
}
}
} {
"servers": {
"com-googleapis-firestore-mcp": {
"type": "http",
"url": "https://firestore.googleapis.com/mcp"
}
}
} [mcp_servers.com-googleapis-firestore-mcp] url = "https://firestore.googleapis.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-googleapis-firestore-mcp": {
"type": "remote",
"url": "https://firestore.googleapis.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-googleapis-firestore-mcp --url 'https://firestore.googleapis.com/mcp' --transport streamable-http
mcp_servers:
com-googleapis-firestore-mcp:
url: "https://firestore.googleapis.com/mcp" {
"McpServers": {
"com-googleapis-firestore-mcp": {
"Transport": "http",
"Url": "https://firestore.googleapis.com/mcp"
}
}
} assistant mcp add com-googleapis-firestore-mcp -t streamable-http -u 'https://firestore.googleapis.com/mcp'
{
"mcpServers": {
"com-googleapis-firestore-mcp": {
"type": "http",
"url": "https://firestore.googleapis.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 15 Sept 26 0
- Stability: pass → fail ▼ security
- A breaking change shipped without a version bump: still ESF ▼ security
- Tool “run_aggregation_query” was removed ▼ security
- Tool “query_collection” was removed ▼ security
- Schema quality: 144 → 113 ▲ functional
- Tool coverage: 92% → 100% ▲ functional
- 14 Sept 26 0
- Stability: fail → pass ▲ security
- Tool coverage: 100% → 92% ▼ functional
- Schema quality: 113 → 144 ▼ functional
- New tool “query_collection” functional
- New tool “run_aggregation_query” functional
- 13 Sept 26 0
- Stability: pass → fail ▼ security
- A breaking change shipped without a version bump: still ESF ▼ security
- Tool “query_collection” was removed ▼ security
- Tool “run_aggregation_query” was removed ▼ security
- Schema quality: 144 → 113 ▲ functional
- Tool coverage: 92% → 100% ▲ functional
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
- Stability: 0.97 → pass security
- 23 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Aug 26 0
- New tool “delete_backup”, which the server declares destructive security
- New tool “delete_backup_schedule”, which the server declares destructive security
- Schema quality: 182 → 144 ▲ functional
- New tool “create_backup_schedule” functional
- New tool “get_backup” functional
- New tool “get_backup_schedule” functional
- New tool “list_backup_schedules” functional
- New tool “list_backups” functional
- New tool “update_backup_schedule” functional
- 12 Aug 26 0
- Tool coverage: 100% → 88% ▼ functional
- Schema quality: 134 → 182 ▼ functional
- New tool “query_collection” functional
- New tool “run_aggregation_query” functional
- “add_document” added an optional parameter “requestOptions” cosmetic
- “delete_document” added an optional parameter “requestOptions” cosmetic
- “get_document” added an optional parameter “requestOptions” cosmetic
- “list_collections” added an optional parameter “requestOptions” cosmetic
- “list_documents” added an optional parameter “requestOptions” cosmetic
- “update_document” added an optional parameter “requestOptions” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://firestore.googleapis.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=edgecert.googleapis.com | CN=WR2,O=Google Trust Services,C=US | 4 Sept 2026 | 27 Nov 2026 | ECDSA 256 | SHA256-RSA | 57a9e187466ce9fa0a1c56351ac4102f |
| SANs: edgecert.googleapis.com, android.googleapis.com, bigtable.googleapis.com, container.googleapis.com, dataflow.googleapis.com, datastore.googleapis.com, dlp.googleapis.com, firestore.googleapis.com, iamcredentials.googleapis.com, logging.googleapis.com, pubsub.googleapis.com, runtimeconfig.googleapis.com and 3 more | ||||||
| CN=WR2,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a07c4cded100ad9d66a5107b98 |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of firestore.googleapis.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| googleapis.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://firestore.googleapis.com/mcp | Verified | 200 | |
| http (plaintext) | http://firestore.googleapis.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_document ~203
Create a document from a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | yes | Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`. |
| document | – | yes | Required. The document to create. `name` must not be set. |
| documentId | string | – | The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service. |
| mask | – | – | The fields to return. If not set, returns all fields. If the document has a field that is not present in this mask, that field will not be returned in the response. |
| parent | string | yes | Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}` |
| requestOptions | – | – | Optional. The request options for this request. |
| Name | Type | Req | Description |
|---|---|---|---|
| createTime | string | – | Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `… |
| fields | object | – | The document's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts.… |
| name | string | – | The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| updateTime | string | – | Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared t… |
No examples provided.
create_backup_schedule ~52
Create a Firestore backup schedule.
| Name | Type | Req | Description |
|---|---|---|---|
| backupSchedule | – | yes | Required. The backup schedule to create. |
| parent | string | yes | Required. The parent database. Format `projects/{project}/databases/{database}` |
| Name | Type | Req | Description |
|---|---|---|---|
| createTime | string | – | Output only. The timestamp at which this backup schedule was created and effective since. No backups will be created for this schedule before this time. |
| dailyRecurrence | – | – | For a schedule that runs daily. |
| name | string | – | Output only. The unique backup schedule identifier across all locations and databases for the given project. This will be auto-assigned. Format is `projects/{project}/databases/{database}/backupSched… |
| retention | string | – | At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days. The maximum supported retention period is 14 weeks. |
| updateTime | string | – | Output only. The timestamp at which this backup schedule was most recently updated. When a backup schedule is first created, this is the same as create_time. |
| weeklyRecurrence | – | – | For a schedule that runs weekly on a specific day. |
No examples provided.
create_database ~159
Create a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| database | – | yes | Required. The Database to create. |
| databaseId | string | yes | Required. The ID to use for the database, which will become the final component of the database's resource name. This value should be 4-63 characters. Valid characters are /a-z-/ with first character… |
| parent | string | yes | Required. A parent name of the form `projects/{project_id}` |
| Name | Type | Req | Description |
|---|---|---|---|
| done | boolean | – | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |
| error | – | – | The error result of the operation in case of failure or cancellation. |
| metadata | object | – | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method… |
| name | string | – | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{u… |
| response | object | – | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get… |
No examples provided.
create_index ~57
Create a composite index.
| Name | Type | Req | Description |
|---|---|---|---|
| index | – | yes | Required. The composite index to create. |
| parent | string | yes | Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` |
| Name | Type | Req | Description |
|---|---|---|---|
| done | boolean | – | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |
| error | – | – | The error result of the operation in case of failure or cancellation. |
| metadata | object | – | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method… |
| name | string | – | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{u… |
| response | object | – | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get… |
No examples provided.
delete_backup ~46
Delete a Firestore backup.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. Name of the backup to delete. format is `projects/{project}/locations/{location}/backups/{backup}`. |
Structured output declared, but exposes no named fields.
No examples provided.
delete_backup_schedule ~48
Delete a Firestore backup schedule.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the backup schedule. Format `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}` |
Structured output declared, but exposes no named fields.
No examples provided.
delete_database ~87
Delete a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| etag | string | – | The current etag of the Database. If an etag is provided and does not match the current etag of the database, deletion will be blocked and a FAILED_PRECONDITION error will be returned. |
| name | string | yes | Required. A name of the form `projects/{project_id}/databases/{database_id}` |
| Name | Type | Req | Description |
|---|---|---|---|
| done | boolean | – | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |
| error | – | – | The error result of the operation in case of failure or cancellation. |
| metadata | object | – | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method… |
| name | string | – | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{u… |
| response | object | – | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get… |
No examples provided.
delete_document ~99
Delete a document from a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| currentDocument | – | – | An optional precondition on the document. The request will fail if this is set and not met by the target document. |
| name | string | yes | Required. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| requestOptions | – | – | Optional. The request options for this request. |
Structured output declared, but exposes no named fields.
No examples provided.
delete_index ~50
Delete a Firestore index.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` |
Structured output declared, but exposes no named fields.
No examples provided.
get_backup ~46
Get a Firestore backup.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. Name of the backup to fetch. Format is `projects/{project}/locations/{location}/backups/{backup}`. |
| Name | Type | Req | Description |
|---|---|---|---|
| database | string | – | Output only. Name of the Firestore database that the backup is from. Format is `projects/{project}/databases/{database}`. |
| databaseUid | string | – | Output only. The system-generated UUID4 for the Firestore database that the backup is from. |
| expireTime | string | – | Output only. The timestamp at which this backup expires. |
| name | string | – | Output only. The unique resource name of the Backup. Format is `projects/{project}/locations/{location}/backups/{backup}`. The location in the name will be the Standard Managed Multi-Region (SMMR) lo… |
| snapshotTime | string | – | Output only. The backup contains an externally consistent copy of the database at this time. |
| state | string | – | Output only. The current state of the backup. |
| stats | – | – | Output only. Statistics about the backup. This data only becomes available after the backup is fully materialized to secondary storage. This field will be empty till then. |
No examples provided.
get_backup_schedule ~48
Get a Firestore backup schedule.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the backup schedule. Format `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}` |
| Name | Type | Req | Description |
|---|---|---|---|
| createTime | string | – | Output only. The timestamp at which this backup schedule was created and effective since. No backups will be created for this schedule before this time. |
| dailyRecurrence | – | – | For a schedule that runs daily. |
| name | string | – | Output only. The unique backup schedule identifier across all locations and databases for the given project. This will be auto-assigned. Format is `projects/{project}/databases/{database}/backupSched… |
| retention | string | – | At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days. The maximum supported retention period is 14 weeks. |
| updateTime | string | – | Output only. The timestamp at which this backup schedule was most recently updated. When a backup schedule is first created, this is the same as create_time. |
| weeklyRecurrence | – | – | For a schedule that runs weekly on a specific day. |
No examples provided.
get_database ~39
Get a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. A name of the form `projects/{project_id}/databases/{database_id}` |
| Name | Type | Req | Description |
|---|---|---|---|
| appEngineIntegrationMode | string | – | The App Engine integration mode to use for this database. |
| cmekConfig | – | – | Optional. Presence indicates CMEK is enabled for this database. |
| concurrencyMode | string | – | The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic f… |
| createTime | string | – | Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time. |
| databaseEdition | string | – | Immutable. The edition of the database. |
| deleteProtectionState | string | – | State of delete protection for the database. |
| deleteTime | string | – | Output only. The timestamp at which this database was deleted. Only set if the database has been deleted. |
| earliestVersionTime | string | – | Output only. The earliest timestamp at which older versions of the data can be read from the database. See [version_retention_period] above; this field is populated with `now - version_retention_peri… |
| etag | string | – | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. |
| firestoreDataAccessMode | string | – | Optional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is DATA_ACCESS… |
| freeTier | boolean | – | Output only. Background: Free tier is the ability of a Firestore database to use a small amount of resources every day without being charged. Once usage exceeds the free tier limit further usage is c… |
| keyPrefix | string | – | Output only. The key_prefix for this database. This key_prefix is used, in combination with the project ID ("~") to construct the application ID that is returned from the Cloud Datastore APIs in Goog… |
| locationId | string | – | Required. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations. |
| mongodbCompatibleDataAccessMode | string | – | Optional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always DATA_ACC… |
| name | string | – | The resource name of the Database. Format: `projects/{project}/databases/{database}` |
| pointInTimeRecoveryEnablement | string | – | Whether to enable the PITR feature on this database. |
| previousId | string | – | Output only. The database resource's prior database ID. This field is only populated for deleted databases. |
| realtimeUpdatesMode | string | – | Immutable. The default Realtime Updates mode to use for this database. |
| sourceInfo | – | – | Output only. Information about the provenance of this database. |
| tags | object | – | Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" |
| type | string | – | Required. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose. |
| uid | string | – | Output only. The system-generated UUID4 for this Database. |
| updateTime | string | – | Output only. The timestamp at which this database was most recently updated. Note this only includes updates to the database resource and not data contained by the database. |
| versionRetentionPeriod | string | – | Output only. The period during which past versions of data are retained in the database. Any read or query can specify a `read_time` within this window, and will read the state of the database at tha… |
No examples provided.
get_document ~179
Get a document from a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| mask | – | – | The fields to return. If not set, returns all fields. If the document has a field that is not present in this mask, that field will not be returned in the response. |
| name | string | yes | Required. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| readTime | string | – | Reads the version of the document at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minu… |
| requestOptions | – | – | Optional. The request options for this request. |
| transaction | string | – | Reads the document in a transaction. |
| Name | Type | Req | Description |
|---|---|---|---|
| createTime | string | – | Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `… |
| fields | object | – | The document's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts.… |
| name | string | – | The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| updateTime | string | – | Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared t… |
No examples provided.
get_index ~50
Get a Firestore index.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}` |
| Name | Type | Req | Description |
|---|---|---|---|
| apiScope | string | – | The API scope supported by this index. |
| density | string | – | Immutable. The density configuration of the index. |
| fields | array | – | The fields supported by this index. At most 100 fields may be specified. In Standard edition databases only: - At least 2 fields must be specified. - The last field entry is always for the field path… |
| multikey | boolean | – | Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit… |
| name | string | – | A server-defined name for this index. Output only. When used in the google.firestore.admin.v1.Index resource, the value is of the form: `projects/{project_id}/databases/{database_id}/collectionGroups… |
| queryScope | string | – | Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with… |
| searchIndexOptions | – | – | Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. |
| shardCount | integer | – | Optional. The number of shards for the index. |
| state | string | – | Output only. The serving state of the index. |
| unique | boolean | – | Optional. Whether it is an unique index. Unique index ensures all values for the indexed field(s) are unique across documents. |
No examples provided.
list_backup_schedules ~41
List Firestore backup schedules.
| Name | Type | Req | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent database. Format is `projects/{project}/databases/{database}`. |
| Name | Type | Req | Description |
|---|---|---|---|
| backupSchedules | array | – | List of all backup schedules. |
No examples provided.
list_backups ~187
List Firestore backups.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | An expression that filters the list of returned backups. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boo… |
| parent | string | yes | Required. The location to list backups from. Format is `projects/{project}/locations/{location}`. Use `{location} = '-'` to list backups from all locations for the given project. This allows listing… |
| Name | Type | Req | Description |
|---|---|---|---|
| backups | array | – | List of all backups for the project. |
| unreachable | array | – | List of locations that existing backups were not able to be fetched from. Instead of failing the entire requests when a single location is unreachable, this response returns a partial result set and… |
No examples provided.
list_collections ~197
List all the collection IDs underneath a document.
| Name | Type | Req | Description |
|---|---|---|---|
| pageSize | integer | – | The maximum number of results to return. |
| pageToken | string | – | A page token. Must be a value from ListCollectionIdsResponse. |
| parent | string | yes | Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my… |
| readTime | string | – | Reads documents as they were at the given time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute ti… |
| requestOptions | – | – | Optional. The request options for this request. |
| Name | Type | Req | Description |
|---|---|---|---|
| collectionIds | array | – | The collection ids. |
| nextPageToken | string | – | A page token that may be used to continue the list. |
No examples provided.
list_databases ~49
List Firestore databases.
| Name | Type | Req | Description |
|---|---|---|---|
| parent | string | yes | Required. A parent name of the form `projects/{project_id}` |
| showDeleted | boolean | – | If true, also returns deleted resources. |
| Name | Type | Req | Description |
|---|---|---|---|
| databases | array | – | The databases in the project. |
| unreachable | array | – | In the event that data about individual databases cannot be listed they will be recorded here. An example entry might be: projects/some_project/locations/some_location This can happen if the Cloud Re… |
No examples provided.
list_documents ~595
List documents from a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionId | string | – | Optional. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`. This is optional, and when not provided, Firestore will list documents from all collections under t… |
| mask | – | – | Optional. The fields to return. If not set, returns all fields. If a document has a field that is not present in this mask, that field will not be returned in the response. |
| orderBy | string | – | Optional. The optional ordering of the documents to return. For example: `priority desc, __name__ desc`. This mirrors the `ORDER BY` used in Firestore queries but in a string representation. When abs… |
| pageSize | integer | – | Optional. The maximum number of documents to return in a single response. Firestore may return fewer than this value. |
| pageToken | string | – | Optional. A page token, received from a previous `ListDocuments` response. Provide this to retrieve the subsequent page. When paginating, all other parameters (with the exception of `page_size`) must… |
| parent | string | yes | Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example:… |
| readTime | string | – | Perform the read at the provided time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp w… |
| recursive | boolean | – | Optional. If the list should recursively include all documents nested under the parent at any level. If the request specifies a `collection_id`, then the list will include all nested documents in the… |
| requestOptions | – | – | Optional. The request options for this request. |
| showMissing | boolean | – | If the list should show missing documents. A document is missing if it does not exist, but there are sub-documents nested underneath it. When true, such missing documents will be returned with a key… |
| transaction | string | – | Perform the read as part of an already active transaction. |
| Name | Type | Req | Description |
|---|---|---|---|
| documents | array | – | The Documents found. |
| nextPageToken | string | – | A token to retrieve the next page of documents. If this field is omitted, there are no subsequent pages. |
No examples provided.
list_indexes ~108
List Firestore indexes.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | The filter to apply to list results. |
| pageSize | integer | – | The number of results to return. |
| pageToken | string | – | A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results. |
| parent | string | yes | Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` |
| Name | Type | Req | Description |
|---|---|---|---|
| indexes | array | – | The requested indexes. |
| nextPageToken | string | – | A page token that may be used to request another page of results. If blank, this is the last page. |
No examples provided.
update_backup_schedule ~44
Update a Firestore backup schedule.
| Name | Type | Req | Description |
|---|---|---|---|
| backupSchedule | – | yes | Required. The backup schedule to update. |
| updateMask | string | – | The list of fields to be updated. |
| Name | Type | Req | Description |
|---|---|---|---|
| createTime | string | – | Output only. The timestamp at which this backup schedule was created and effective since. No backups will be created for this schedule before this time. |
| dailyRecurrence | – | – | For a schedule that runs daily. |
| name | string | – | Output only. The unique backup schedule identifier across all locations and databases for the given project. This will be auto-assigned. Format is `projects/{project}/databases/{database}/backupSched… |
| retention | string | – | At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days. The maximum supported retention period is 14 weeks. |
| updateTime | string | – | Output only. The timestamp at which this backup schedule was most recently updated. When a backup schedule is first created, this is the same as create_time. |
| weeklyRecurrence | – | – | For a schedule that runs weekly on a specific day. |
No examples provided.
update_database ~40
Update a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| database | – | yes | Required. The database to update. |
| updateMask | string | – | The list of fields to be updated. |
| Name | Type | Req | Description |
|---|---|---|---|
| done | boolean | – | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |
| error | – | – | The error result of the operation in case of failure or cancellation. |
| metadata | object | – | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method… |
| name | string | – | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{u… |
| response | object | – | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get… |
No examples provided.
update_document ~189
Update a document from a Firestore database.
| Name | Type | Req | Description |
|---|---|---|---|
| currentDocument | – | – | An optional precondition on the document. The request will fail if this is set and not met by the target document. |
| document | – | yes | Required. The updated document. Creates the document if it does not already exist. |
| mask | – | – | The fields to return. If not set, returns all fields. If the document has a field that is not present in this mask, that field will not be returned in the response. |
| requestOptions | – | – | Optional. The request options for this request. |
| updateMask | – | – | The fields to update. None of the field paths in the mask may contain a reserved name. If the document exists on the server and has fields not referenced in the mask, they are left unchanged. Fields… |
| Name | Type | Req | Description |
|---|---|---|---|
| createTime | string | – | Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `… |
| fields | object | – | The document's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts.… |
| name | string | – | The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| updateTime | string | – | Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared t… |
No examples provided.
What is the com.googleapis.firestore/mcp server?
com.googleapis.firestore/mcp is listed in the public MCP registry as com.googleapis.firestore/mcp. Interact with your Google Cloud Firestore resources using natural language commands. This page covers its hosted endpoint (https://firestore.googleapis.com/mcp).
Is the com.googleapis.firestore/mcp server safe to use?
com.googleapis.firestore/mcp scores 72 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.googleapis.firestore/mcp server expose?
com.googleapis.firestore/mcp exposes 23 tools: get_document, add_document, update_document, delete_document, list_documents, and 18 more. Their descriptions and schemas cost roughly 2,613 tokens of context every time the server is loaded.
Does the com.googleapis.firestore/mcp server require authentication?
No. We connected to com.googleapis.firestore/mcp without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the com.googleapis.firestore/mcp server still maintained?
com.googleapis.firestore/mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.