首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
pipedream2025-05-290分享
github
可运行超 2500 个应用程序与 API 的专属 MCP 服务器。能在自有应用中管理用户服务器,借助工具实现账户连接、参数配置及 API 请求,还提供全托管 OAuth 服务与凭据存储,功能完备。
By PipedreamHQ
2025-05-290
github
详情内容

Pipedream MCP 服务器

这是 Pipedream MCP 服务器的参考实现。你可以为超过 2,500 个应用和 API 运行你自己的 MCP 服务器,并由 Pipedream Connect 提供支持。

你可以:

你可以在 mcp.pipedream.comchat.pipedream.com 查看实际运行的服务器。

我们发布这段代码作为参考,以便你更好地理解如何在这种应用中使用 Pipedream Connect。这仍然是一个进行中的工作,尚未完全文档化。如果你有任何问题,请随时联系我们。

⭐ 功能

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

🚀 入门指南

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

  1. 注册 Pipedream
  2. 创建一个项目。通过 MCP 连接的任何账户都将存储在此处。
  3. 创建一个 Pipedream OAuth 客户端
  4. 设置环境变量(参见 .env.example)(直接在 shell 会话、dot 文件等中设置):
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 — 应用的 "名称 slug"(应用的唯一标识符),可以在任何 Pipedream 应用Authentication 部分找到。例如,Slack 的应用 slug 是 slack

如果你的用户 123 想要连接到 slack MCP 服务器,你的 MCP 客户端将向 /123/slack 路由发出请求。查看下面的 SSE 文档 获取更多详细信息。

服务器概述

有两种方式可以使用这个 MCP 服务器。

1 - 应用特定
/{external_user_id}/{app}
目前可以在 mcp.pipedream.com 上使用。你可以为每个应用使用一个端点。
该应用的所有工具都将在该端点上可用。

2 - 动态
/{external_user_id}
这是一个实验性版本,因为它依赖于工具能够动态更新。
我们使用这个服务器来支持 chat.pipedream.com 上的工具。

[!NOTE]
动态 MCP 服务器的代码在此仓库中可用,但你目前无法在本地运行它,因为它依赖于内部数据库。

如果你希望自行运行此服务器,请告诉我们。

托管你自己的服务器

使用 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 服务器。

开发

cp .env.example .env 并填写你的开发项目的详细信息。

pnpm install

使用 Streamable HTTP Transport 启动服务器

pnpm dev:http

你可以使用可选的 env 变量 PD_SDK_DEBUG 来打印出所有发送到 Connect API 的请求和响应

PD_SDK_DEBUG=true pnpm dev:http

然后运行检查器:

npx @modelcontextprotocol/inspector

使用 http://localhost:3010/v1/{external_user_id}/{app} 进行 Streamable HTTP Transport 或 http://localhost:3010/{external_user_id}/{app} 进行 SSE Transport。

这些 URL 也可以被其他客户端(例如 Cursor)使用。

Stdio Transport 设置

Stdio 仅与 MCP 检查器一起测试过。

npx @modelcontextprotocol/inspector bun src/stdio.ts

查看检查器的日志以获取 URL。

确保检查器的左侧与此匹配:

Screenshot 2025-03-12 at 1 05 37 PM

然后按 "List Tools" 获取 MCP 工具列表。

许可证

Pipedream 源可用许可证版本 1.0 - 参见 https://github.com/PipedreamHQ/pipedream/blob/master/LICENSE

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档