Pipedream Cloud

@PipedreamHQ/pipedream
0 Stars 343 次浏览 PipedreamHQ 更新于 2026-08-23

为超过2,500个应用程序和API运行您自己的MCP服务器。 - 为超过2,500个API运行您自己的MCP服务器 - 管理用户服务器,就在您自己的应用中 - 通过工具连接账户、配置参数并发出API请求 - 全托管的OAuth和凭据存储

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Pipedream MCP 服务器

运行您自己的MCP服务器,支持超过2,500个应用程序和API

您可以:

⭐ 功能

  • 为超过2,500个应用程序运行您自己的MCP服务器
  • 在您自己的应用程序中为您用户管理服务器。
  • 通过工具连接账户、配置参数并进行API请求
  • 完全托管的OAuth和凭证存储(查看安全文档

🚀 入门

Pipedream的MCP服务器使用Pipedream Connect API来管理认证并进行API请求。要运行一个MCP服务器,您需要一个Pipedream项目和Pipedream API凭据。

  1. 注册Pipedream
  2. 创建一个项目。所有通过MCP连接的账户将被存储在这里。
  3. 创建一个Pipedream OAuth客户端
  4. 使用您喜欢的方法设置以下环境变量(直接在shell会话中、点文件等)。
PIPEDREAM_CLIENT_ID=your_client_id
PIPEDREAM_CLIENT_SECRET=your_client_secret
PIPEDREAM_PROJECT_ID=your_project_id
PIPEDREAM_PROJECT_ENVIRONMENT=development

需要理解的Pipedream概念

如果您正在为您的应用程序运行MCP服务器,您可能希望使用SSE接口。SSE服务器接受两个路由参数:

  1. external_user_id — 这是您系统中的用户ID——无论您用什么来唯一标识他们。对该路由所做的任何请求都与该终端用户相关联,并将使用Pipedream为此用户存储的身份验证信息。详见文档以获取更多详情。
  2. app — 应用程序的“名称缩写”(应用程序的唯一标识符),可以在任何Pipedream应用身份验证部分找到。例如,Slack的应用程序缩写是slack

如果您的用户123想要连接到slack MCP服务器,您的MCP客户端将向/123/slack路径发起请求。详见下面的SSE文档以获取更多信息。

通过 npx 运行服务器

Pipedream MCP服务器提供了两种接口供客户端连接:

  1. Stdio: 使用标准输入/输出。如果您想从编辑器和其他本地MCP客户端连接账户并进行MCP请求,这是理想的选择。非常适合测试。
  2. SSE: 使用服务器发送事件与客户端通信。当您希望托管面向互联网的MCP服务器,供其他服务或您的客户使用时,请使用此选项。

Stdio

首先,在您的环境中设置这些变量

为特定应用程序运行stdio服务器,将应用程序的名称缩写传递给--app选项:

npx @pipedream/mcp stdio --app slack

你可以指定一个可选的外部用户ID — 无论你在应用程序中使用什么ID来标识你的用户(否则将生成一个随机的UUID):

npx @pipedream/mcp stdio --app slack --external-user-id user123

SSE

首先,在你的环境中设置这些变量

运行SSE服务器:

npx @pipedream/mcp sse

这会暴露一个通用的MCP服务器,允许你通过直接在路由中传递应用程序的名字slug来连接到我们的2,500多个应用中的任何一个:

❯ npx @pipedream/mcp sse
Server is running on port 3010
Routes configured:
- GET / - Health check
- GET /:external_user_id/:app - App-specific SSE connection endpoint
- POST /:external_user_id/:app/messages - App-specific message handler

要连接到服务器:

  1. 连接到 http://localhost:3010/:external_user_id/:app,其中:

    • :external_user_id 是会话的唯一标识符
    • :app 是要使用的Pipedream应用(例如 "slack")
  2. 服务器将建立一个SSE连接,并为指定的应用注册工具。

  3. 要发送消息,请向 http://localhost:3010/:external_user_id/:app/messages?sessionId=<sessionId> 发送POST请求,其中:

    • <sessionId> 在初始连接响应中提供

您还可以通过CLI指定应用和端口:

npx @pipedream/mcp sse --app slack --port 8080
❯ npx @pipedream/mcp sse --app slack --port 8080
Server is running on port 8080
Routes configured:
- GET / - Health check
- GET /:external_user_id/slack - App-specific SSE connection endpoint
- POST /:external_user_id/slack/messages - App-specific message handler

托管自己的服务器

使用 Dockerfile

如果你本地安装了Docker,可以构建并运行容器:

> docker build -t pipedream-connect .
> docker run -d --name pd-mcp -p 3010:3010 --env-file .env pipedream-connect:latest

这将在 http://localhost:3010/:external_user_id/:app 暴露一个通用的MCP服务器。

逐步指南

SSE服务器作为Node.js Express应用程序运行。实现很简单,旨在作为一个参考。你应该添加授权自定义所需的应用程序

克隆仓库并安装依赖项:

npm install

使用你的基础设施中任何env/secrets存储来在你的环境中设置这些变量。要在本地测试,复制 .env.example 文件:

cp .env.example .env

并填写值:

# Pipedream OAuth credentials
PIPEDREAM_CLIENT_ID=your_client_id
PIPEDREAM_CLIENT_SECRET=your_client_secret

# From the project settings
PIPEDREAM_PROJECT_ID=your_project_id
PIPEDREAM_PROJECT_ENVIRONMENT=development

# Pipedream can send you webhook notifications on account connection, account failure, etc.
PIPEDREAM_WEBHOOK_URI=https://your-webhook.m.pipedream.net

# Optional: Default app to use (defaults to "slack")
APP=slack

# Optional: Port for the SSE server (defaults to 3010)
PORT=3010

运行构建:

npm run build

然后运行SSE服务器:

npm run start:sse:prod

授权

MCP最近增加了支持服务器使用OAuth授权请求的功能。当你托管自己的服务器时,应该实现OAuth支持以保护对客户数据的访问。

调试

首先,在你的环境中设置这些变量

使用MCP Inspector或你喜欢的MCP客户端连接到服务器:

npx @modelcontextprotocol/inspector node ./dist/src/cli.js stdio --app APP --external-user-id USER_ID

打开 http://localhost:5173/ 并将传输类型设置为 STDIO

MCP inspector

自定义

你可以按照自己的需要定制此实现,例如:

  1. 修改 config.ts 以更改默认设置
  2. 扩展 registerComponentTools.ts 以添加额外工具,或将工具限制为固定集合。
  3. 改进实现以利用MCP规范的最新版本
  4. 在Redis或其他你使用的数据库中持久化会话数据。

许可证

Pipedream 源代码可用许可版本 1.0 - 请参阅 https://github.com/PipedreamHQ/pipedream/blob/master/LICENSE

相关 MCP 服务