Skip to content

Commit c3c2dca

Browse files
Update README.md
1 parent 5598719 commit c3c2dca

File tree

1 file changed

+38
-18
lines changed

1 file changed

+38
-18
lines changed

modelcontextprotocol/README.md

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
# Pipedream MCP Server
22

3-
This is a reference implementation of the Pipedream MCP server.
3+
This is a reference implementation of the Pipedream MCP server. You can run **your own MCP server** for [over 2,500 apps and APIs](https://pipedream.com/apps) and is powered by [Pipedream Connect](https://pipedream.com/docs/connect/).
44

5-
You can run this server yourself or use the hosted version at mcp.pipedream.com and chat.pipedream.com.
6-
You can also directly integrate with [Pipedream Connect](https://pipedream.com/docs/connect/) to get
7-
access to all the integrations.
5+
You can:
6+
7+
- [Run the servers locally](#running-the-server-via-npx) with `npx @pipedream/mcp`
8+
- [Host the servers yourself](#hosting-your-own-server) to use them within your app or company
9+
10+
See the server in action at [mcp.pipedream.com](https://mcp.pipedream.com) and [chat.pipedream.com](https://chat.pipedream.com)
811

912
We published this code as a reference, so you can better understand how to use Pipedream Connect for such
1013
an application. This is still a work in progress, and not fully documented. Please reach out to us if you
1114
have any questions.
15+
1216
## ⭐ Features
1317

1418
- Run **your own MCP server** for [over 2,500 apps and APIs](https://pipedream.com/apps)
@@ -23,23 +27,40 @@ Pipedream's MCP servers use the [Pipedream Connect API](https://pipedream.com/do
2327
1. [Sign up for Pipedream](https://pipedream.com/auth/signup)
2428
2. [Create a project](https://pipedream.com/docs/workflows/projects/#creating-projects). Any accounts connected via MCP will be stored here.
2529
3. [Create a Pipedream OAuth client](https://pipedream.com/docs/rest-api/auth/#creating-an-oauth-client)
26-
4. Set the environment variables (See `.env.example`) (directly in your shell session, dot files, etc.)
30+
4. Set the environment variables (See `.env.example`) (directly in your shell session, dot files, etc.):
31+
32+
```bash
33+
PIPEDREAM_CLIENT_ID=your_client_id
34+
PIPEDREAM_CLIENT_SECRET=your_client_secret
35+
PIPEDREAM_PROJECT_ID=your_project_id
36+
PIPEDREAM_PROJECT_ENVIRONMENT=development
37+
```
38+
39+
### Pipedream concepts to understand
40+
41+
If you're running MCP servers for your app, you'll likely want to use the [SSE interface](#sse). The SSE server accepts two route params:
2742

28-
There are two ways to use this MCP server.
43+
1. `external_user_id` — This is your user’s ID, in your system — whatever you use to uniquely identify them. Any requests made to that route are coupled to that end user, and would use the auth Pipedream stores for that user. [See the docs](https://pipedream.com/docs/connect/api/#external-users) for more detail.
44+
2. `app` — The app's "name slug" (the unique identifier for the app), found in the **Authentication** section of [any Pipedream app](https://pipedream.com/apps). For example, the app slug for [Slack](https://pipedream.com/apps/slack) is `slack`.
45+
46+
If your user `123` wants to connect to the `slack` MCP server, your MCP client would make a request to the `/123/slack` route. [See the SSE docs below](#sse) for more detail.
47+
48+
## Server overview
49+
50+
There are two ways to use this MCP server.
2951

3052
1 - App specific
31-
`/{uid}/{app}`
32-
This is currently available at [mcp.pipedream.com](mcp.pipedream.com). You can use an endpoint for each app.
33-
All the tools available for that app will be available at that endpoint.
53+
`/{external_user_id}/{app}`
54+
This is currently available at [mcp.pipedream.com](mcp.pipedream.com). You can use an endpoint for each app.
55+
All the tools available for that app will be available at that endpoint.
3456

3557
2 - Dynamic
36-
`/{uid}`
37-
This is a more experimental version, since it relies on tools being able to update dynamically.
38-
We use this server to power the tools on [chat.pipedream.com](chat.pipedream.com).
58+
`/{external_user_id}`
59+
This is an experimental version, since it relies on tools being able to update dynamically.
60+
We use this server to power the tools on [chat.pipedream.com](https://chat.pipedream.com).
3961

4062
> [!NOTE]
41-
> We made the code for the dynamic MCP server available in this repo. However you will not yet be able to run it locally.
42-
> It relies on our internal Supabase instance.
63+
> The code for the dynamic MCP server is available in this repo but you will not _yet_ be able to run it locally since it relies on an internal db.
4364
>
4465
> Please let us know if you'd like to run this yourself.
4566
@@ -56,7 +77,6 @@ If you have Docker installed locally, you can build and run the container:
5677

5778
This exposes a generic MCP server at [http://localhost:3010/:external_user_id/:app](http://localhost:3010/:external_user_id/:app).
5879

59-
6080
## Development
6181

6282
`cp .env.example .env` and fill in the details of your dev project.
@@ -66,6 +86,7 @@ pnpm install
6686
```
6787

6888
### Start the server with Streamable HTTP Transport
89+
6990
```bash
7091
pnpm dev:http
7192
```
@@ -82,12 +103,12 @@ Then run the inspector:
82103
npx @modelcontextprotocol/inspector
83104
```
84105

85-
Use `http://localhost:3010/v1/{uuid}/{app}` for Streamable HTTP Transport or `http://localhost:3010/{uuid}/{app}` for SSE Transport.
106+
Use `http://localhost:3010/v1/{external_user_id}/{app}` for Streamable HTTP Transport or `http://localhost:3010/{external_user_id}/{app}` for SSE Transport.
86107

87108
These URLs can also be used by other clients (e.g. Cursor).
88109

89-
90110
### Stdio Transport setup
111+
91112
Stdio has only been tested with the MCP Inspector.
92113

93114
```bash
@@ -100,7 +121,6 @@ Ensure the left side of the inspector matches this:
100121

101122
![Screenshot 2025-03-12 at 1 05 37 PM](https://github.com/user-attachments/assets/cc650999-353c-45da-add8-7d8de867d6ed)
102123

103-
104124
Then press "List Tools" to fetch the list of MCP tools.
105125

106126
## License

0 commit comments

Comments
 (0)