Google Cloud Firestore MCP server for AI-assisted management of serverless NoSQL document databases.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 7 days ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The StatelessServer MCP server exposes 25 tools, focused primarily on database capabilities. Its published description reads: "Google Cloud Firestore MCP server for AI-assisted management of serverless NoSQL document databases". It communicates over Streamable HTTP using the 2026-07-28 protocol revision, and does not require authorization to connect. MCPGrade currently rates StatelessServer F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Data-exfiltration parameters" and "Data-exfiltration parameters". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check StatelessServer's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add StatelessServer to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://firestore.googleapis.com/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Get a document from a Firestore database.
Create a document from a Firestore database.
Update a document from a Firestore database.
Delete a document from a Firestore database.
List documents from a Firestore database.
List all the collection IDs underneath a document.
Run a query against a Firestore database. Executes a structured query and returns the matching documents. Required Parameters: - `parent`: The parent resource name in `projects/{project_id}/databases/
Run an aggregation query against a Firestore database. Executes an aggregation query (such as COUNT, SUM, or AVG) over a structured query and returns the aggregated results. Required Parameters: - `pa
Create a Firestore database.
Get a Firestore database.
List Firestore databases.
Update a Firestore database.
Delete a Firestore database.
Create a composite index.
Get a Firestore index.
List Firestore indexes.
Delete a Firestore index.
Get a Firestore backup.
List Firestore backups.
Delete a Firestore backup.
Create a Firestore backup schedule.
Get a Firestore backup schedule.
List Firestore backup schedules.
Update a Firestore backup schedule.
Delete a Firestore backup schedule.
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: get_document
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: add_document
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: update_document
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: delete_document
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: list_documents
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: list_collections
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: query_collection
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: query_collection
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
nal. Whether to execute this query. When false (the default), the query will be plRecommendationAnnotate destructive tools and require human approval.
tool: query_collection
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: query_collection
One tool reads private data, ingests untrusted content, AND can send data outbound — the three preconditions for autonomous data theft in a single call. A prompt injection reaching this tool can exfiltrate secrets with no further step.
only be used to read documents.","properties":{"readTime":{"description":"ReadRecommendationSplit the capabilities across separate least-privilege tools so no single tool can read secrets, read untrusted input, and reach the network at once.
tool: run_aggregation_query
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
le information (PII) in request tags, as they show up in administraRecommendationRemove side-channel parameters; constrain tool inputs.
tool: run_aggregation_query
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
nal. Whether to execute this query. When false (the default), the query will be plRecommendationAnnotate destructive tools and require human approval.
tool: run_aggregation_query
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: run_aggregation_query
One tool reads private data, ingests untrusted content, AND can send data outbound — the three preconditions for autonomous data theft in a single call. A prompt injection reaching this tool can exfiltrate secrets with no further step.
only be used to read documents.","properties":{"readTime":{"description":"ReadRecommendationSplit the capabilities across separate least-privilege tools so no single tool can read secrets, read untrusted input, and reach the network at once.
tool: create_database
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: update_database
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: get_document
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
scription":"The list of field paths in the mask. See Document.fields for a field paRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: add_document
Role tokens or delimiter abuse steer the model rather than describe the tool.
represented as: ``` name: \"like\" args { field_reference: \"user_nRecommendationWrite neutral, descriptive tool metadata.
tool: add_document
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
scription":"The list of field paths in the mask. See Document.fields for a field paRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: update_document
Role tokens or delimiter abuse steer the model rather than describe the tool.
represented as: ``` name: \"like\" args { field_reference: \"user_nRecommendationWrite neutral, descriptive tool metadata.
tool: update_document
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
scription":"The list of field paths in the mask. See Document.fields for a field paRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: delete_document
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: list_documents
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
scription":"The list of field paths in the mask. See Document.fields for a field paRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: query_collection
Role tokens or delimiter abuse steer the model rather than describe the tool.
Example usage: ```json { "parent": "projects/my-project/databaseRecommendationWrite neutral, descriptive tool metadata.
tool: run_aggregation_query
Role tokens or delimiter abuse steer the model rather than describe the tool.
COUNT and AVG): ```json { "parent": "projects/my-project/databaseRecommendationWrite neutral, descriptive tool metadata.
tool: delete_database
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: create_index
Role tokens or delimiter abuse steer the model rather than describe the tool.
owing document: ``` { \"__name__\": \"...\", \"a\": 1, \"b\": 2, \"RecommendationWrite neutral, descriptive tool metadata.
tool: delete_index
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: delete_backup
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: delete_backup_schedule
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.