You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deploy Pipedream's MCP servers to your application or agent and make authenticated request on behalf of your customers. Refer to our reference implementation [here](https://github.com/PipedreamHQ/pipedream/blob/master/modelcontextprotocol/README.md).
3
+
# Add Pipedream MCP to your app or agent
5
4
6
-
## Quickstart
5
+
Add Pipedream's MCP server to your application or agent to make tool calls on behalf of your users to {process.env.PUBLIC_APPS}+ APIs and 10,000+ tools.
7
6
8
-
<Steps>
7
+
## Overview
9
8
10
-
#### Prerequisites
9
+
Pipedream's MCP server code is [publicly available in GitHub](https://github.com/PipedreamHQ/pipedream/blob/master/modelcontextprotocol/README.md), and you have two options for using Pipedream's MCP server in your app:
- This is your user’s ID, in your system: whatever you use to uniquely identify them
21
+
- Any requests made to that route are coupled to that end user and uses the connected account tied to that user
22
+
-[See here](/connect/api/#external-users) for more detail
23
+
24
+
**`app`**
25
+
26
+
- The app's "name slug" (the unique identifier for the app)
27
+
-[See below](#discover-available-mcp-servers) for discovering available apps
28
+
29
+
### Account connections
30
+
31
+
One of the core features of Pipedream Connect and our MCP product is the ability for your users to easily connect their accounts without having to build any of the authorization flow or handle token storage.
32
+
33
+
You can handle account connections in one of two ways in your app:
34
+
35
+
### Add a button in your UI
36
+
- Use Pipedream's [frontend SDK](/connect/managed-auth/quickstart/#use-the-pipedream-sdk-in-your-frontend) to let users connect their account directly in your UI
37
+
- You can see an example of this when you connect any account in [mcp.pipedream.com](https://mcp.pipedream.com)
38
+
39
+
### Return a link
40
+
- Use [Connect Link ](/connect/managed-auth/quickstart/#or-use-connect-link) to let your users open a Pipedream hosted page to connect their account
41
+
- There is no implementation required for this option since it's already handled in Pipedream's MCP server
42
+
- If a user doesn't have a connected account that's required for a given tool call, we'll return a URL in the tool call response. For example:
PIPEDREAM_ENVIRONMENT=development # development | production
67
+
```
68
+
69
+
### Discover available MCP servers
70
+
71
+
Pipedream provides [{process.env.PUBLIC_APPS}+ APIs as MCP servers](https://mcp.pipedream.com). Each server corresponds to an app integration (like Notion, Gmail, or Slack) and has its own specific set of tools that you can expose to OpenAI.
72
+
73
+
<Tabsitems={['List all apps', 'Search for a specific app']}>
74
+
<Tabs.Tab>
75
+
```javascript
76
+
// Get all available apps (paginated)
77
+
constapps=awaitpd.getApps();
78
+
79
+
// Each app has these key properties:
80
+
// - name_slug: Used in the MCP server URL (e.g., "notion", "gmail", "slack")
81
+
// - name: Display name (e.g., "Notion", "Gmail", "Slack")
82
+
```
83
+
</Tabs.Tab>
84
+
<Tabs.Tab>
85
+
```javascript
86
+
// Search by app name
87
+
constnotionApps=awaitpd.getApps({ q:"notion" });
88
+
constgmailApps=awaitpd.getApps({ q:"gmail" });
89
+
constslackApps=awaitpd.getApps({ q:"slack" });
90
+
```
91
+
</Tabs.Tab>
92
+
</Tabs>
93
+
94
+
### Use Pipedream's remote MCP server
95
+
96
+
<Callouttype="info">
97
+
Pipedream MCP server supports both SSE and streamable HTTP transport types, with no configuration required by the developer or MCP client.
98
+
</Callout>
99
+
100
+
#### Base URL
101
+
102
+
```
103
+
https://mcp.pipedream.net
104
+
```
105
+
106
+
#### Authentication
107
+
108
+
To authenticate requests to Pipedream's MCP server, you need to include an access token with every HTTP request. Here's how to get it:
"x-pd-environment":PIPEDREAM_ENVIRONMENT// development | production
153
+
}
154
+
```
155
+
156
+
### Self-host Pipedream's MCP server
157
+
158
+
#### Using the `Dockerfile`
159
+
160
+
If you have Docker installed locally, you can build and run the container from the [reference implementation](https://github.com/PipedreamHQ/pipedream/blob/master/modelcontextprotocol/Dockerfile):
-`:external_user_id` is your user's unique identifier in your system
51
-
-`:app` is the app slug (e.g., "slack", "github")
52
-
53
191
#### Customize for your needs
54
192
55
-
You can host and customize the MCP server for your specific requirements:
193
+
You can also host and customize the MCP server for your specific requirements:
56
194
57
195
```bash
58
196
# Clone the repo
@@ -71,4 +209,24 @@ npm run start:sse:prod
71
209
72
210
See the [MCP server README](https://github.com/PipedreamHQ/pipedream/blob/master/modelcontextprotocol/README.md) for detailed instructions on customization options.
73
211
74
-
</Steps>
212
+
### Use the MCP inspector
213
+
214
+
The [MCP inspector](https://modelcontextprotocol.io/docs/tools/inspector) can be helpful when debugging tool calls.
Access {process.env.PUBLIC_APPS}+ APIs and 10,000+ tools in OpenAI using Pipedream Connect. MCP makes it easy to extend the capabilities of any LLM or agent, and Pipedream offers drop-in support for [calling tools in OpenAI](https://platform.openai.com/docs/guides/tools?api-mode=responses) .
6
6
7
7
<Callouttype="info">
8
-
Pipedream Connect includes built-in user authentication for [every MCP server](https://mcp.pipedream.com), which means you don't need to build any authorization flows or deal with token storage and refresh in order to make authenticated requests on behalf of your users. [Learn more below](#account-connection).
8
+
Pipedream Connect includes built-in user authentication for [every MCP server](https://mcp.pipedream.com), which means you don't need to build any authorization flows or deal with token storage and refresh in order to make authenticated requests on behalf of your users. [Learn more here](/connect/mcp/developers/#account-connections).
9
9
</Callout>
10
10
11
-
###Getting started
11
+
## Getting started
12
12
13
13
<Steps>
14
14
@@ -30,34 +30,13 @@ Now set the following environment variables (learn more about environments in Pi
PIPEDREAM_ENVIRONMENT=development# development | production
35
35
```
36
36
37
37
### Discover available MCP servers
38
38
39
-
Pipedream provides [{process.env.PUBLIC_APPS}+ APIs as MCP servers](https://mcp.pipedream.com) that can be used with OpenAI's tool calls. Each server corresponds to an app integration (like Notion, Gmail, or Slack) and has its own specific set of tools that you can expose to OpenAI.
40
-
41
-
<Tabsitems={['List all apps', 'Search for a specific app']}>
42
-
<Tabs.Tab>
43
-
```javascript
44
-
// Get all available apps (paginated)
45
-
constapps=awaitpd.getApps();
46
-
47
-
// Each app has these key properties:
48
-
// - name_slug: Used in the MCP server URL (e.g., "notion", "gmail", "slack")
49
-
// - name: Display name (e.g., "Notion", "Gmail", "Slack")
50
-
```
51
-
</Tabs.Tab>
52
-
<Tabs.Tab>
53
-
```javascript
54
-
// Search by app name
55
-
constnotionApps=awaitpd.getApps({ q:"notion" });
56
-
constgmailApps=awaitpd.getApps({ q:"gmail" });
57
-
constslackApps=awaitpd.getApps({ q:"slack" });
58
-
```
59
-
</Tabs.Tab>
60
-
</Tabs>
39
+
[See here](/connect/mcp/developers/#discover-available-mcp-servers) for guidance on discovering the apps Pipedream has available as MCP servers.
61
40
62
41
### Generate a model response in OpenAI with Pipedream MCP
63
42
@@ -120,8 +99,6 @@ console.log(response);
120
99
</Tabs.Tab>
121
100
<Tabs.Tab>
122
101
```bash
123
-
# Complete example from start to finish
124
-
125
102
# Step 1: Get access token from Pipedream
126
103
ACCESS_TOKEN=$(curl -s -X POST https://api.pipedream.com/v1/oauth/token \
127
104
-H "Content-Type: application/json" \
@@ -164,24 +141,9 @@ curl -X POST https://api.openai.com/v1/chat/completions \
164
141
}'
165
142
```
166
143
</Tabs.Tab>
167
-
</Tabs>
144
+
</Tabs>
168
145
</Steps>
169
146
170
-
## Account Connection
171
-
172
-
One of the core features of Pipedream Connect and our MCP product is the ability for your users to easily connect their accounts without having to build any of the authorization flow or handle token storage.
147
+
## Account connections
173
148
174
-
You can handle account connections in one of two ways in your app:
175
-
176
-
### Add a button in your UI
177
-
- Use Pipedream's [frontend SDK](/connect/managed-auth/quickstart/#use-the-pipedream-sdk-in-your-frontend) to let users connect their account directly in your UI
178
-
- You can see an example of this when you connect any account in [mcp.pipedream.com](https://mcp.pipedream.com)
179
-
180
-
### Return a link
181
-
- Use [Connect Link ](/connect/managed-auth/quickstart/#or-use-connect-link) to let your users open a Pipedream hosted page to connect their account
182
-
- There is no implementation required for this option since it's already handled in Pipedream's MCP server
183
-
- If a user doesn't have a connected account that's required for a given tool call, we'll return a URL in the tool call response. For example:
0 commit comments