⚠️ 重要通知:此MCP服务器仅为参考实现,不再积极维护。对于生产用途,我们建议使用Pipedream的远程MCP服务器。
为了获得最佳体验,请使用Pipedream托管的MCP服务器,它提供:
🚀 开始使用:Pipedream MCP文档
🎮 现在试用:查看我们的开源聊天应用在chat.pipedream.com
此参考实现实现了以下功能:
请参阅mcp.pipedream.com上的消费者面向的MCP服务器的实际操作,并在chat.pipedream.com上查看开发者产品的演示。
我们发布此代码作为参考,以便您更好地了解如何使用Pipedream Connect来构建此类应用程序。这是一个专门用于自托管服务器的参考实现,可能没有完全记录。
对于生产用途,我们强烈建议使用我们的远程MCP服务器。
Pipedream的MCP服务器使用Pipedream Connect API来管理和发起API请求。要运行一个MCP服务器,您需要一个Pipedream项目和Pipedream API凭据。
.env.example)(直接在您的shell会话、点文件等中设置):PIPEDREAM_CLIENT_ID=your_client_id
PIPEDREAM_CLIENT_SECRET=your_client_secret
PIPEDREAM_PROJECT_ID=your_project_id
PIPEDREAM_PROJECT_ENVIRONMENT=development
如果您正在为您的应用程序运行MCP服务器,您可能会想要使用SSE接口。SSE服务器接受两个路由参数:
external_user_id — 这是您系统中用户的ID,即您用来唯一标识他们的任何内容。对该路由的所有请求都与该最终用户相关联,并且会使用Pipedream为此用户存储的身份验证信息。参见文档以获取更多详细信息。app — 应用程序的“名称别名”(应用程序的唯一标识符),可以在任何Pipedream应用程序的身份验证部分找到。例如,Slack的应用程序别名为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服务器启用应用发现。
cp .env.example .env 并填写您开发项目的详细信息。
pnpm install
pnpm dev:http
您可以使用可选的环境变量PD_SDK_DEBUG打印出所有发送到Connect API的请求和响应
PD_SDK_DEBUG=true pnpm dev:http
然后运行检查器:
npx @modelcontextprotocol/inspector
使用http://localhost:3010/v1/{external_user_id}/{app}进行流式HTTP传输或使用http://localhost:3010/{external_user_id}/{app}进行SSE传输。
这些URL也可以被其他客户端(例如Cursor)使用。
Stdio仅在MCP检查器中进行了测试。
npx @modelcontextprotocol/inspector bun src/stdio.ts
查看检查器URL的日志。
确保检查器左侧匹配以下内容:
然后点击“列出工具”以获取MCP工具列表。
Pipedream源码可用许可证版本1.0 - 查看许可证