Pipedream

Official

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Mentioned as a potential data store for session persistence when customizing the implementation, suggesting the server can be extended to use Redis for data storage.

  • Provides tools for connecting to Slack workspaces and making API requests, enabling interaction with Slack channels, messages, users, and other Slack resources.

Pipedream MCP サーバー

2,500 を超えるアプリと APIに対応する独自の MCP サーバーを実行します。

あなたはできる:

⭐ 特徴

  • 2,500以上のアプリで独自のMCPサーバーを実行
  • 独自のアプリでユーザーのサーバーを管理します。
  • アカウントの接続、パラメータの設定、APIリクエストの送信はすべてツールを介して行います
  • 完全に管理された OAuth および資格情報ストレージ ( セキュリティ ドキュメントを参照)

🚀 はじめに

PipedreamのMCPサーバーは、認証管理とAPIリクエストの送信にPipedream Connect APIを使用します。MCPサーバーを実行するには、PipedreamプロジェクトとPipedream API認証情報が必要です。

  1. Pipedreamに登録する
  2. プロジェクトを作成します。MCP 経由で接続されたアカウントはすべてここに保存されます。
  3. Pipedream OAuthクライアントを作成する
  4. 好みの方法 (シェル セッション、ドット ファイルなどで直接) を使用して、次の環境変数を設定します。
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サーバーは2つのルートパラメータを受け入れます。

  1. external_user_id — システム内でのユーザーIDです。ユーザーを一意に識別するために使用するIDです。このルートへのリクエストはすべてエンドユーザーに紐付けられ、Pipedreamが保存する認証情報が使用されます。詳細はドキュメントをご覧ください
  2. app — アプリの「名前スラッグ」(アプリ固有の識別子)。Pipedreamアプリ認証セクションに表示されます。例えば、 Slackのアプリスラッグはslackです。

ユーザー123 slack MCPサーバーに接続したい場合、MCPクライアントは/123/slackルートにリクエストを送信します。詳細は、以下のSSEドキュメントをご覧ください

開発のためにローカルでサーバーを実行する

sse

npm run dev:sse

標準入出力

npm run dev:stdio

オプションで、上記のコマンドに環境変数PD_SDK_DEBUG=trueを追加して、Pipecream Connect API へのリクエストと応答をダンプすることもできます。

sse

PD_SDK_DEBUG=true npm run dev:sse

標準入出力

PD_SDK_DEBUG=true npm run dev:stdio

npx経由でサーバーを実行する

Pipedream MCP サーバーは、クライアントが接続できる2 つのインターフェイスを提供します。

  1. Stdio : 標準入出力を使用します。アカウントを接続し、編集者や他のローカルMCPクライアントからMCPリクエストを送信する場合に最適です。テストにも最適です。
  2. SSE : クライアントとの通信にServer-Sent Eventsを使用します。他のサービスや顧客が利用できるインターネット対応のMCPサーバーをホストする場合に使用します。

スタジオ

まず、環境でこれらの変数を設定します

特定のアプリの stdio サーバーを実行し、アプリの名前スラッグを--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 サーバーが公開され、ルートでアプリ名のスラッグを直接渡すことで、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>に投稿します。ここで、
    • <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に設定します。

カスタマイズ

この実装は、次のように好きなようにカスタマイズできます。

  1. config.tsを修正してデフォルト設定を変更する
  2. registerComponentTools.tsを拡張して、追加のツールを追加したり、ツールを固定セットに制限したりします。
  3. 最新バージョンの MCP 仕様を活用するために実装を改善します。
  4. セッション データを Redis または使用する任意のデータ ストアに保存します。

ライセンス

Pipedream Source 利用可能なライセンス バージョン 1.0 - https://github.com/PipedreamHQ/pipedream/blob/master/LICENSEを参照してください

-
security - not tested
F
license - not found
-
quality - not tested

2,500 を超えるアプリと API に対応する独自の MCP サーバーを実行します。

  • 2,500 以上の API に対応する独自の MCP サーバーを実行
  • 独自のアプリでユーザーのサーバーを管理します。
  • アカウントの接続、パラメータの設定、APIリクエストの送信はすべてツールを介して行います
  • 完全に管理された OAuth および資格情報ストレージ)
  1. ⭐ Features
    1. 🚀 Getting Started
      1. Pipedream concepts to understand
      2. Running the server via locally for development
      3. Running the server via npx
    2. Hosting your own server
      1. Using the Dockerfile
      2. Step-by-step
    3. Authorization
      1. Debugging
        1. Customization
          1. License
            ID: lruuh4uf7k