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 on 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:
PIPEDREAM_ENVIRONMENT=development # development | production
48
+
```
49
+
50
+
### Authentication
51
+
52
+
#### Developer authentication
53
+
54
+
Your application authenticates with Pipedream using client credential OAuth. [See below](#api-authentication) for details.
55
+
56
+
#### User account connections
57
+
58
+
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.
59
+
60
+
You can handle account connections in one of two ways in your app:
61
+
62
+
##### Add a button in your UI
63
+
- 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
64
+
- You can see an example of this when you connect any account in [mcp.pipedream.com](https://mcp.pipedream.com)
65
+
66
+
##### Return a link
67
+
- Use [Connect Link ](/connect/managed-auth/quickstart/#or-use-connect-link) to let your users open a Pipedream hosted page to connect their account
68
+
- There is no implementation required for this option since it's already handled in Pipedream's MCP server
69
+
- 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 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.
78
+
79
+
<Tabsitems={['List all apps', 'Search for a specific app']}>
80
+
<Tabs.Tab>
81
+
```javascript
82
+
// Get all available apps (paginated)
83
+
constapps=awaitpd.getApps();
84
+
85
+
// Each app has these key properties:
86
+
// - name_slug: Used in the MCP server URL (e.g., "notion", "gmail", "slack")
87
+
// - name: Display name (e.g., "Notion", "Gmail", "Slack")
88
+
```
89
+
</Tabs.Tab>
90
+
<Tabs.Tab>
91
+
```javascript
92
+
// Search by app name
93
+
constnotionApps=awaitpd.getApps({ q:"notion" });
94
+
constgmailApps=awaitpd.getApps({ q:"gmail" });
95
+
constslackApps=awaitpd.getApps({ q:"slack" });
27
96
```
97
+
</Tabs.Tab>
98
+
</Tabs>
99
+
100
+
### Use Pipedream's remote MCP server
101
+
102
+
<Callouttype="info">
103
+
Pipedream MCP server supports both SSE and streamable HTTP transport types, with no configuration required by the developer or MCP client.
104
+
</Callout>
105
+
106
+
#### Base URL
107
+
108
+
```
109
+
https://mcp.pipedream.net
110
+
```
111
+
112
+
#### API Authentication
113
+
114
+
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
159
+
}
37
160
```
38
161
39
-
##### SSE (for hosting)
162
+
### Self-host Pipedream's MCP server
163
+
164
+
#### Using the `Dockerfile`
165
+
166
+
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
197
#### Customize for your needs
54
198
55
-
You can host and customize the MCP server for your specific requirements:
199
+
You can also host and customize the MCP server for your specific requirements:
56
200
57
201
```bash
58
202
# Clone the repo
@@ -71,4 +215,24 @@ npm run start:sse:prod
71
215
72
216
See the [MCP server README](https://github.com/PipedreamHQ/pipedream/blob/master/modelcontextprotocol/README.md) for detailed instructions on customization options.
73
217
74
-
</Steps>
218
+
### Use the MCP inspector
219
+
220
+
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/#user-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,5 @@ 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
-
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.
173
-
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