Pipedream MCP Server
Hosted MCP server giving AI agents tool access to 2,800+ apps and 10,000+ pre-built actions via Pipedream Connect's managed OAuth.
Pipedream MCP is a provider-hosted Model Context Protocol server that exposes Pipedream Connect's catalog of 2,800+ integrated apps and 10,000+ pre-built actions as MCP tools. Instead of running per-app MCP servers, an agent connects to a single endpoint and selects an app via header or query parameter (linear, notion, slack, gmail, github, google_sheets, etc.). Pipedream handles OAuth, credential storage, token refresh, and request routing, so credentials are never exposed to the AI model.
The server supports both Streamable HTTP and SSE transports at https://remote.mcp.pipedream.net/v3, with the active app selected per session. Tools available for a given app are derived from Pipedream's action registry, meaning each integration exposes the same operations available in Pipedream workflows (send a message, create a record, run a query, etc.). End users authorize their accounts through Pipedream's managed auth UI at mcp.pipedream.com and can revoke access at any time.
There are two ways to use it: a free hosted experience at mcp.pipedream.com aimed at end users connecting their own accounts to chat clients, and a developer-grade endpoint at remote.mcp.pipedream.net that requires Pipedream OAuth client credentials and a project ID for use inside your own AI app. A reference open-source implementation existed under PipedreamHQ/pipedream/modelcontextprotocol but is no longer actively maintained; the hosted server is the recommended path.
Tools
| Tool | Description |
|---|---|
list_tools |
Standard MCP method that returns the set of tools available for the currently selected app (set via x-pd-app-slug header or app query parameter). The tool list is generated dynamically from Pipedream's action registry. |
call_tool |
Standard MCP method that executes a Pipedream action against the end user's connected account. Each app exposes its own set of actions (e.g. notion-create-page, slack-send-message, gmail-send-email, github-create-issue). |
App selection (per-session) |
App is selected via the x-pd-app-slug header or app query string parameter on the MCP endpoint. Examples include slack, github, notion, linear, gmail, google_sheets, hubspot, aws, linkedin. |
Hosted (end-user) setup
Visit https://mcp.pipedream.com, pick an app (e.g. GitHub, Notion, Linear), connect your account through Pipedream's managed OAuth, and you get an MCP endpoint URL to drop into any MCP-compatible client.
Developer setup (your own AI app)
You need a Pipedream account, a project, and OAuth client credentials from the Pipedream dashboard.
Environment variables:
PIPEDREAM_CLIENT_ID=your_client_id
PIPEDREAM_CLIENT_SECRET=your_client_secret
PIPEDREAM_PROJECT_ID=proj_xxxxxxx
PIPEDREAM_ENVIRONMENT=development
Get an access token using the Pipedream SDK:
import { PipedreamClient } from "@pipedream/sdk";
const client = new PipedreamClient({
projectEnvironment: process.env.PIPEDREAM_ENVIRONMENT,
clientId: process.env.PIPEDREAM_CLIENT_ID,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET,
projectId: process.env.PIPEDREAM_PROJECT_ID,
});
const accessToken = await client.rawAccessToken;
Connect over Streamable HTTP:
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
"Authorization": `Bearer ${accessToken}`,
"x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID,
"x-pd-environment": process.env.PIPEDREAM_ENVIRONMENT,
"x-pd-external-user-id": "<your end user id>",
"x-pd-app-slug": "notion",
},
},
},
);
Required headers on every request:
Authorization: Bearer <access_token>x-pd-project-id(orprojectIdquery param)x-pd-environment(developmentorproduction)x-pd-external-user-id(the unique user ID in your system)x-pd-app-slug(e.g.slack,notion,github)
Optional: x-pd-account-id, x-pd-oauth-app-id, x-pd-registry.
Testing with MCP Inspector
npx @modelcontextprotocol/inspector
Then connect to:
https://remote.mcp.pipedream.net/v3?externalUserId=<id>&app=<slug>
- Give an AI assistant write access to Slack, Gmail, and Google Calendar through one MCP endpoint instead of wiring up three separate servers
- Build a customer-support copilot that reads Linear issues, posts updates to Notion, and notifies a Slack channel using a single per-user external_user_id
- Let a sales agent enrich HubSpot contacts, send templated Gmail outreach, and log activity in Google Sheets without storing any OAuth tokens yourself
- Run a multi-tenant AI product where each end user connects their own accounts through Pipedream's managed auth and the agent calls them via x-pd-external-user-id
- Prototype across 2,800+ APIs (AWS, GitHub, Notion, LinkedIn, Stripe, etc.) without writing per-app integration code
- "Create a Notion page titled 'Q3 planning' in the Roadmap database and add three bullet points from this meeting summary."
- "Find all open GitHub issues in PipedreamHQ/pipedream labeled 'bug' and post a digest to the #engineering Slack channel."
- "Send a Gmail to alex@example.com following up on yesterday's call and add a row to the 'Outreach' Google Sheet."
- "Create a Linear issue in the Frontend team for the bug described below and assign it to me."
- "Pull this week's Stripe payouts and summarize the totals by currency."
- Single endpoint covers 2,800+ apps and 10,000+ actions, no per-app MCP server to install or maintain
- Fully managed OAuth and credential storage, so your AI app never touches end-user tokens
- Officially provided and hosted by Pipedream, with both Streamable HTTP and SSE transports
- Multi-tenant by design via
x-pd-external-user-id, suitable for production AI products
- Developer mode requires a Pipedream account, project, and OAuth client setup before any call works
- Per-app tool surface is determined by Pipedream's action registry, so very new or niche endpoints may not be exposed as tools
- The reference open-source implementation (
PipedreamHQ/pipedream/modelcontextprotocol) is no longer actively maintained, so self-hosting is not the recommended path
- Zapier MCP for a similar multi-app aggregator hosted by Zapier
- Composio MCP for agent-focused multi-app tool access with managed auth
- Native per-app MCP servers (e.g. official Slack, GitHub, Notion servers) when you only need one or two integrations