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 서버는 Pipedream Connect API를 사용하여 인증을 관리하고 API 요청을 수행합니다. MCP 서버를 실행하려면 Pipedream 프로젝트와 Pipedream API 사용자 인증 정보가 필요합니다.

  1. Pipedream에 가입하세요
  2. 프로젝트를 생성하세요 . MCP를 통해 연결된 모든 계정이 여기에 저장됩니다.
  3. Pipedream OAuth 클라이언트 만들기
  4. 선호하는 방법(셸 세션에서 직접, dot 파일 등)을 사용하여 다음 환경 변수를 설정합니다.

지엑스피1

이해하기 위한 파이프드림 개념

앱에 MCP 서버를 사용하는 경우 SSE 인터페이스를 사용하는 것이 좋습니다. SSE 서버는 두 가지 경로 매개변수를 허용합니다.

  1. external_user_id — 시스템에서 사용자의 ID입니다. 사용자를 고유하게 식별하는 데 사용하는 ID입니다. 해당 경로에 대한 모든 요청은 해당 최종 사용자와 연결되며, Pipedream에서 해당 사용자에 대해 저장한 인증을 사용합니다. 자세한 내용은 문서를 참조하세요 .
  2. app — 앱의 "이름 슬러그"(앱의 고유 식별자)로, 모든 Pipedream 앱인증 섹션에서 찾을 수 있습니다. 예를 들어 Slack 의 앱 슬러그는 slack 입니다.

사용자 123 slack MCP 서버에 연결하려면 MCP 클라이언트가 /123/slack 경로로 요청을 보냅니다. 자세한 내용은 아래 SSE 문서를 참조하세요 .

개발을 위해 로컬로 서버 실행

세세

npm run dev:sse

stdio

npm run dev:stdio

선택적으로 위 명령에 env var PD_SDK_DEBUG=true 추가하여 Pipecream Connect API에 대한 요청과 응답을 덤프할 수 있습니다.

세세

PD_SDK_DEBUG=true npm run dev:sse

stdio

PD_SDK_DEBUG=true npm run dev:stdio

npx 를 통해 서버 실행

Pipedream MCP 서버는 클라이언트가 연결할 수 있는 두 가지 인터페이스를 제공합니다.

  1. Stdio : 표준 입출력(STD)을 사용합니다. 계정을 연결하고 편집자 및 다른 로컬 MCP 클라이언트로부터 MCP 요청을 보내려는 경우에 적합합니다. 테스트에 유용합니다.
  2. SSE : 서버 전송 이벤트를 사용하여 클라이언트와 통신합니다. 다른 서비스/고객이 사용할 수 있는 인터넷 연결 MCP 서버를 호스팅하려는 경우 이 기능을 사용하세요.

스튜디오

먼저, 환경에서 다음 변수를 설정하세요 .

--app 옵션에 앱의 이름 슬러그를 전달하여 특정 앱에 대한 stdio 서버를 실행합니다.

npx @pipedream/mcp stdio --app slack

또한 앱에서 사용자를 식별하는 데 사용하는 ID인 선택적 외부 사용자 ID를 지정할 수 있습니다(그렇지 않으면 무작위 UUID가 생성됩니다).

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

남남동

먼저, 환경에서 다음 변수를 설정하세요 .

SSE 서버를 실행합니다.

npx @pipedream/mcp sse

이는 앱의 이름 슬러그를 경로에 직접 전달하여 2,500개 이상의 앱에 연결할 수 있는 일반 MCP 서버를 제공합니다.

❯ 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 소스 사용 가능 라이센스 버전 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