Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.googleapis.firestore/mcp

REMOTE · FIRESTORE.GOOGLEAPIS.COM · SCANNED SEP 20

Interact with your Google Cloud Firestore resources using natural language commands.

0 this week 72 Trust /100
Trust breakdown (7 categories)

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
Transport & Reachability100
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
Install

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

# add to Claude Code
claude mcp add --transport http com-googleapis-firestore-mcp 'https://firestore.googleapis.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-googleapis-firestore-mcp": {
      "url": "https://firestore.googleapis.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-googleapis-firestore-mcp": {
      "type": "http",
      "url": "https://firestore.googleapis.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-googleapis-firestore-mcp]
url = "https://firestore.googleapis.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-googleapis-firestore-mcp": {
      "type": "remote",
      "url": "https://firestore.googleapis.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-googleapis-firestore-mcp --url 'https://firestore.googleapis.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-googleapis-firestore-mcp:
    url: "https://firestore.googleapis.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-googleapis-firestore-mcp": {
      "Transport": "http",
      "Url": "https://firestore.googleapis.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-googleapis-firestore-mcp -t streamable-http -u 'https://firestore.googleapis.com/mcp'
// mcp.json
{
  "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.

Changelog

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
Diagnostics

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
MCP tools · 23 exposed · ~2,613 tokens

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 →

Tool Tokens
add_document ~203

Create a document from a Firestore database.

NameTypeReqDescription
collectionIdstringyesRequired. The collection ID, relative to `parent`, to list. For example: `chatrooms`.
documentyesRequired. The document to create. `name` must not be set.
documentIdstringThe client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service.
maskThe 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.
parentstringyesRequired. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`
requestOptionsOptional. The request options for this request.
NameTypeReqDescription
createTimestringOutput 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 `…
fieldsobjectThe 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.…
namestringThe resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
updateTimestringOutput 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.

NameTypeReqDescription
backupScheduleyesRequired. The backup schedule to create.
parentstringyesRequired. The parent database. Format `projects/{project}/databases/{database}`
NameTypeReqDescription
createTimestringOutput only. The timestamp at which this backup schedule was created and effective since. No backups will be created for this schedule before this time.
dailyRecurrenceFor a schedule that runs daily.
namestringOutput 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…
retentionstringAt 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.
updateTimestringOutput 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.
weeklyRecurrenceFor a schedule that runs weekly on a specific day.

No examples provided.

create_database ~159

Create a Firestore database.

NameTypeReqDescription
databaseyesRequired. The Database to create.
databaseIdstringyesRequired. 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…
parentstringyesRequired. A parent name of the form `projects/{project_id}`
NameTypeReqDescription
donebooleanIf 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.
errorThe error result of the operation in case of failure or cancellation.
metadataobjectService-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…
namestringThe 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…
responseobjectThe 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.

NameTypeReqDescription
indexyesRequired. The composite index to create.
parentstringyesRequired. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`
NameTypeReqDescription
donebooleanIf 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.
errorThe error result of the operation in case of failure or cancellation.
metadataobjectService-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…
namestringThe 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…
responseobjectThe 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.

NameTypeReqDescription
namestringyesRequired. 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.

NameTypeReqDescription
namestringyesRequired. 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.

NameTypeReqDescription
etagstringThe 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.
namestringyesRequired. A name of the form `projects/{project_id}/databases/{database_id}`
NameTypeReqDescription
donebooleanIf 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.
errorThe error result of the operation in case of failure or cancellation.
metadataobjectService-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…
namestringThe 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…
responseobjectThe 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.

NameTypeReqDescription
currentDocumentAn optional precondition on the document. The request will fail if this is set and not met by the target document.
namestringyesRequired. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
requestOptionsOptional. The request options for this request.

Structured output declared, but exposes no named fields.

No examples provided.

delete_index ~50

Delete a Firestore index.

NameTypeReqDescription
namestringyesRequired. 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.

NameTypeReqDescription
namestringyesRequired. Name of the backup to fetch. Format is `projects/{project}/locations/{location}/backups/{backup}`.
NameTypeReqDescription
databasestringOutput only. Name of the Firestore database that the backup is from. Format is `projects/{project}/databases/{database}`.
databaseUidstringOutput only. The system-generated UUID4 for the Firestore database that the backup is from.
expireTimestringOutput only. The timestamp at which this backup expires.
namestringOutput 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…
snapshotTimestringOutput only. The backup contains an externally consistent copy of the database at this time.
statestringOutput only. The current state of the backup.
statsOutput 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.

NameTypeReqDescription
namestringyesRequired. The name of the backup schedule. Format `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}`
NameTypeReqDescription
createTimestringOutput only. The timestamp at which this backup schedule was created and effective since. No backups will be created for this schedule before this time.
dailyRecurrenceFor a schedule that runs daily.
namestringOutput 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…
retentionstringAt 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.
updateTimestringOutput 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.
weeklyRecurrenceFor a schedule that runs weekly on a specific day.

No examples provided.

get_database ~39

Get a Firestore database.

NameTypeReqDescription
namestringyesRequired. A name of the form `projects/{project_id}/databases/{database_id}`
NameTypeReqDescription
appEngineIntegrationModestringThe App Engine integration mode to use for this database.
cmekConfigOptional. Presence indicates CMEK is enabled for this database.
concurrencyModestringThe 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…
createTimestringOutput only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time.
databaseEditionstringImmutable. The edition of the database.
deleteProtectionStatestringState of delete protection for the database.
deleteTimestringOutput only. The timestamp at which this database was deleted. Only set if the database has been deleted.
earliestVersionTimestringOutput 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…
etagstringThis 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.
firestoreDataAccessModestringOptional. 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…
freeTierbooleanOutput 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…
keyPrefixstringOutput 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…
locationIdstringRequired. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.
mongodbCompatibleDataAccessModestringOptional. 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…
namestringThe resource name of the Database. Format: `projects/{project}/databases/{database}`
pointInTimeRecoveryEnablementstringWhether to enable the PITR feature on this database.
previousIdstringOutput only. The database resource's prior database ID. This field is only populated for deleted databases.
realtimeUpdatesModestringImmutable. The default Realtime Updates mode to use for this database.
sourceInfoOutput only. Information about the provenance of this database.
tagsobjectOptional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
typestringRequired. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.
uidstringOutput only. The system-generated UUID4 for this Database.
updateTimestringOutput 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.
versionRetentionPeriodstringOutput 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.

NameTypeReqDescription
maskThe 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.
namestringyesRequired. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
readTimestringReads 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…
requestOptionsOptional. The request options for this request.
transactionstringReads the document in a transaction.
NameTypeReqDescription
createTimestringOutput 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 `…
fieldsobjectThe 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.…
namestringThe resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
updateTimestringOutput 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.

NameTypeReqDescription
namestringyesRequired. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`
NameTypeReqDescription
apiScopestringThe API scope supported by this index.
densitystringImmutable. The density configuration of the index.
fieldsarrayThe 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…
multikeybooleanOptional. 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…
namestringA 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…
queryScopestringIndexes 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…
searchIndexOptionsOptional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope.
shardCountintegerOptional. The number of shards for the index.
statestringOutput only. The serving state of the index.
uniquebooleanOptional. 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.

NameTypeReqDescription
parentstringyesRequired. The parent database. Format is `projects/{project}/databases/{database}`.
NameTypeReqDescription
backupSchedulesarrayList of all backup schedules.

No examples provided.

list_backups ~187

List Firestore backups.

NameTypeReqDescription
filterstringAn 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…
parentstringyesRequired. 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…
NameTypeReqDescription
backupsarrayList of all backups for the project.
unreachablearrayList 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.

NameTypeReqDescription
pageSizeintegerThe maximum number of results to return.
pageTokenstringA page token. Must be a value from ListCollectionIdsResponse.
parentstringyesRequired. 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…
readTimestringReads 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…
requestOptionsOptional. The request options for this request.
NameTypeReqDescription
collectionIdsarrayThe collection ids.
nextPageTokenstringA page token that may be used to continue the list.

No examples provided.

list_databases ~49

List Firestore databases.

NameTypeReqDescription
parentstringyesRequired. A parent name of the form `projects/{project_id}`
showDeletedbooleanIf true, also returns deleted resources.
NameTypeReqDescription
databasesarrayThe databases in the project.
unreachablearrayIn 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.

NameTypeReqDescription
collectionIdstringOptional. 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…
maskOptional. 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.
orderBystringOptional. 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…
pageSizeintegerOptional. The maximum number of documents to return in a single response. Firestore may return fewer than this value.
pageTokenstringOptional. 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…
parentstringyesRequired. 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:…
readTimestringPerform 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…
recursivebooleanOptional. 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…
requestOptionsOptional. The request options for this request.
showMissingbooleanIf 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…
transactionstringPerform the read as part of an already active transaction.
NameTypeReqDescription
documentsarrayThe Documents found.
nextPageTokenstringA 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.

NameTypeReqDescription
filterstringThe filter to apply to list results.
pageSizeintegerThe number of results to return.
pageTokenstringA page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.
parentstringyesRequired. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`
NameTypeReqDescription
indexesarrayThe requested indexes.
nextPageTokenstringA 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.

NameTypeReqDescription
backupScheduleyesRequired. The backup schedule to update.
updateMaskstringThe list of fields to be updated.
NameTypeReqDescription
createTimestringOutput only. The timestamp at which this backup schedule was created and effective since. No backups will be created for this schedule before this time.
dailyRecurrenceFor a schedule that runs daily.
namestringOutput 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…
retentionstringAt 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.
updateTimestringOutput 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.
weeklyRecurrenceFor a schedule that runs weekly on a specific day.

No examples provided.

update_database ~40

Update a Firestore database.

NameTypeReqDescription
databaseyesRequired. The database to update.
updateMaskstringThe list of fields to be updated.
NameTypeReqDescription
donebooleanIf 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.
errorThe error result of the operation in case of failure or cancellation.
metadataobjectService-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…
namestringThe 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…
responseobjectThe 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.

NameTypeReqDescription
currentDocumentAn optional precondition on the document. The request will fail if this is set and not met by the target document.
documentyesRequired. The updated document. Creates the document if it does not already exist.
maskThe 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.
requestOptionsOptional. The request options for this request.
updateMaskThe 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…
NameTypeReqDescription
createTimestringOutput 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 `…
fieldsobjectThe 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.…
namestringThe resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
updateTimestringOutput 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.

Common questions

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.