使用说明
Pipedream MCP服务器
跑 您自己的MCP服务器 为了 2500多个应用程序和API.
你可以:
⭐ 特性
- 为2500多个应用程序运行自己的MCP服务器
- 管理服务器 为您的用户,在您自己的应用程序中。
- 连接帐户、配置参数和发出API请求,所有这些都通过工具实现
- 完全管理的OAuth和凭据存储(请参阅安全文档)
🚀 入门指南
Pipedream的MCP服务器使用 Piped梦连接API 以管理身份验证并发出API请求。要运行MCP服务器,您需要一个Pipeddream项目和Pipeddreamneneneba API证书。
- 注册Pipedream
- 创建项目。通过MCP连接的任何帐户都将存储在此处。
- 创建Pipedream OAuth客户端
- 使用首选方法(直接在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服务器接受两个路由参数:
external_user_id--这是您系统中的用户ID,无论您使用什么来唯一标识它们。对该路由的任何请求都会耦合到该最终用户,并将使用该用户的身份验证Pipedream存储。 查看文档 了解更多细节。app--应用程序的“name slug”(应用程序的唯一标识符),位于 认证 部分 任何Pipedream应用程序例如,应用程序slug Slack 是slack.
如果你的用户 123 想要连接到 slack MCP服务器,您的MCP客户端将向 /123/slack 路线。 请参阅下面的SSE文件 了解更多细节。
通过以下方式运行服务器 npx
Pipedream MCP服务器提供 两个接口 客户端可以连接到:
- 工作室:使用标准输入/输出。如果您想连接帐户并从编辑器和其他本地MCP客户端发出MCP请求,这是理想的选择。非常适合测试。
- 上海证券交易所:用途 服务器发送的事件 与客户沟通。当您想托管其他服务/客户可以使用的面向互联网的MCP服务器时,请使用此功能。
工作室
第一, 在您的环境中设置这些变量.
运行特定应用程序的stdio服务器,将应用程序的名称slug传递给 --app 选项:
npx @pipedream/mcp stdio --app slack
您还可以指定一个可选 外部用户ID --无论您在应用程序中使用什么ID来标识您的用户(否则将生成随机UUID):
npx @pipedream/mcp stdio --app slack --external-user-id user123
上海证券交易所
第一, 在您的环境中设置这些变量.
运行SSE服务器:
npx @pipedream/mcp sse
这暴露了一个通用的MCP服务器,允许您通过以下方式连接到我们2500多个应用程序中的任何一个 应用程序的名称slug 直接在路线上:
❯ 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
要连接到服务器,请执行以下操作:
-
连接到
http://localhost:3010/:external_user_id/:app哪里::external_user_id是会话的唯一标识符:app是否要使用Pipedream应用程序(例如“slack”)
-
服务器将为指定的应用程序建立SSE连接并注册工具。
-
要发送消息,请发布到
http://localhost:3010/:external_user_id/:app/messages?sessionId=<sessionId>哪里:<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
这暴露了一个通用的MCP服务器 http://localhost:3010/:external_user_id/:app.
一步一步
SSE服务器作为Node.js Express应用程序运行。实现很简单,仅供参考。你应该 添加授权 和 自定义您需要的应用程序.
克隆仓库并安装依赖项:
npm install
在您的环境中设置这些变量 在使用infra中使用的任何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检查员 或您首选的MCP客户端连接到服务器:
npx @modelcontextprotocol/inspector node ./dist/src/cli.js stdio --app APP --external-user-id USER_ID
打开 http://localhost:5173/ 并将传输类型设置为 工作室.
定制
您可以以任何方式自定义此实现,例如:
- 修改
config.ts更改默认设置 - 延伸
registerComponentTools.ts以添加额外的工具或将工具限制在固定的集合中。 - 改进实施以利用 最新版本 MCP规范。
- 在Redis或您使用的任何数据存储中持久化会话数据。
许可证
Pipedream源代码可用许可证版本1.0-请参阅https://github.com/PipedreamHQ/pipedream/blob/master/LICENSE
