CONNECT APP
Build with Firebase Admin
Infrastructure & Cloud
- API key
MCP
Give your agent Firebase Admin tools
Every Firebase Admin action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Firebase Admin account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "firebase_admin_sdk",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Create Document:
const result = await mcp.callTool({
name: "firebase_admin_sdk-create-document",
arguments: {
databaseRegion: "Database Region",
collection: "Collection",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "firebase_admin_sdk",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Create Document:
result = await session.call_tool("firebase_admin_sdk-create-document", {
"databaseRegion": "Database Region",
"collection": "Collection",
})API PROXY
Call the Firebase Admin API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Firebase Admin API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed Firebase Admin endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Firebase Admin actions from your backend
Connect a user's Firebase Admin account once, then run Create Document on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "firebase_admin_sdk-create-document",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
firebase_admin_sdk: { authProvisionId: "apn_xxxxxxx" },
databaseRegion: "Database Region",
collection: "Collection",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="firebase_admin_sdk-create-document",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"firebase_admin_sdk": {"authProvisionId": "apn_xxxxxxx"},
"databaseRegion": "Database Region",
"collection": "Collection",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "firebase_admin_sdk-create-document",
"configured_props": {
"firebase_admin_sdk": { "authProvisionId": "apn_xxxxxxx" },
"databaseRegion": "Database Region",
"collection": "Collection"
}
}'TOOLS
Firebase Admin actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Create Document
actionCreates a New Document. See the documentationWritev0.0.12 -
Create Firebase Realtime Database Record
actionCreates or replaces a child object within your Firebase Realtime Database. See the docs hereWritev0.0.9 -
Get Document
actionRetrieves a document from a Firestore collection. See the documentationRead-onlyv0.0.3 -
List Documents
actionLists documents in a collection. See the docs hereRead-onlyv0.0.9 -
Save Event to Firestore
actionReplicate event in FirestoreWritev0.4.8 -
Update Document
actionUpdates a Document. See the documentationWritev0.0.9
EVENTS
Firebase Admin triggers
Event sources your backend can deploy for users and receive through a webhook.
MULTI-APP
Use Firebase Admin with other popular apps
Most products don't stop at one integration. Pair Firebase Admin with the other apps your users rely on, and ship use cases that span both.
- App slug
- firebase_admin_sdk
- Authentication
- API key
- Categories
- Infrastructure & Cloud
- Actions
- 6
- Triggers
- 2
- API proxy
- Available