MCP server
Let Claude query your database — through you
Giving an AI assistant your database credentials is a bad idea. Letting it ask your already-authenticated, already-gated desktop client is a much better one.
Claude querying Firestore through the FireFetch MCP server
screenshot pending · 1400×880
What it does
FireFetch includes a Model Context Protocol server. Point Claude Desktop, Claude Code, or any MCP client at it, and your assistant can look at your real data while it helps you — answering questions about your schema, finding the documents behind a bug, or writing a query and checking that it returns what you expected.
list_projectsWhich projects and databases are connected.list_collectionsWhat collections exist, including subcollections.query_documentsRun a filtered, ordered, limited query.get_documentFetch one document by path.execute_js_queryRun a JavaScript script, the same engine the editor uses.
Through the app, not around it
This is the part that matters. The MCP server does not hold credentials and does not talk to Google. It talks to your running FireFetch app, which then uses the accounts you already signed in with. Nothing new is granted, and nothing new is stored.
Which means every rule protecting you from yourself also protects you from your assistant.
Writes stay gated
An AI cannot write to a database that is still read-only. It is the same gate, checked in the same place, with no exception carved out for automation.
Localhost only
The bridge listens on loopback and the port is discovered from a local config file. Nothing is exposed to your network, let alone the internet.
Runs are capped
A script invoked over MCP is time-limited, so a confused assistant cannot start something that runs forever.
You can see it happen
Queries run through your app, so they appear in your session counters like any other operation.
Setting it up
Add FireFetch to your MCP client's configuration and restart it. FireFetch needs to be running — the server finds the app's local bridge port on startup.
{
"mcpServers": {
"firefetch": {
"command": "npx",
"args": ["-y", "firefetch-mcp"]
}
}
}What it is good for
- “What shape are the documents in the orders collection?” — answered from your actual data, not a guess.
- “Find the users created in the last day whose subscription field is missing.”
- Writing application code against a schema the assistant can actually inspect.
- Investigating a production issue without pasting documents into a chat window by hand.