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.

Servidor MCP de Pipedream

Ejecute su propio servidor MCP para más de 2500 aplicaciones y API .

Puede:

⭐ Características

  • Ejecute su propio servidor MCP para más de 2500 aplicaciones
  • Administra servidores para tus usuarios desde tu propia aplicación.
  • Conectar cuentas, configurar parámetros y realizar solicitudes API, todo a través de herramientas
  • Almacenamiento de credenciales y OAuth totalmente administrado ( consulte la documentación de seguridad )

🚀 Primeros pasos

Los servidores MCP de Pipedream utilizan la API de Pipedream Connect para gestionar la autenticación y realizar solicitudes a la API. Para ejecutar un servidor MCP, necesitará un proyecto de Pipedream y las credenciales de la API de Pipedream.

  1. Regístrate en Pipedream
  2. Crea un proyecto . Todas las cuentas conectadas mediante MCP se almacenarán aquí.
  3. Crear un cliente OAuth de Pipedream
  4. Establezca las siguientes variables de entorno utilizando su método preferido (directamente en su sesión de shell, archivos de puntos, etc.)
PIPEDREAM_CLIENT_ID=your_client_id PIPEDREAM_CLIENT_SECRET=your_client_secret PIPEDREAM_PROJECT_ID=your_project_id PIPEDREAM_PROJECT_ENVIRONMENT=development

Conceptos de Pipedream para entender

Si utiliza servidores MCP para su aplicación, probablemente le convenga usar la interfaz SSE . El servidor SSE acepta dos parámetros de ruta:

  1. external_user_id — Este es el ID de su usuario en su sistema, el que utiliza para identificarlo de forma única. Cualquier solicitud realizada a esa ruta se asocia a ese usuario final y utilizará la autenticación que Pipedream almacena para ese usuario. Consulte la documentación para obtener más información.
  2. app — El "slug del nombre" de la app (el identificador único de la app), que se encuentra en la sección de Autenticación de cualquier app de Pipedream . Por ejemplo, el slug de la app para Slack es slack .

Si el usuario 123 desea conectarse al servidor MCP slack , el cliente MCP realizará una solicitud a la ruta /123/slack . Consulte la documentación de SSE a continuación para obtener más información.

Ejecutar el servidor localmente para desarrollo

sse

npm run dev:sse

estudio

npm run dev:stdio

Opcionalmente, puede agregar la variable de entorno PD_SDK_DEBUG=true a los comandos anteriores para volcar solicitudes y respuestas a la API de Pipecream Connect.

sse

PD_SDK_DEBUG=true npm run dev:sse

estudio

PD_SDK_DEBUG=true npm run dev:stdio

Ejecutando el servidor a través de npx

Los servidores MCP de Pipedream proporcionan dos interfaces a las que los clientes pueden conectarse:

  1. Stdio : Utiliza entrada/salida estándar. Ideal para conectar cuentas y realizar solicitudes MCP desde editores y otros clientes MCP locales. Ideal para pruebas.
  2. SSE : Utiliza eventos enviados por el servidor para comunicarse con los clientes. Úselo cuando desee alojar un servidor MCP con conexión a internet que otros servicios o sus clientes puedan usar.

Estudio

Primero, configure estas variables en su entorno .

Ejecute el servidor stdio para una aplicación específica, pasando el slug del nombre de la aplicación a la opción --app :

npx @pipedream/mcp stdio --app slack

También puede especificar un ID de usuario externo opcional: cualquier ID que utilice para identificar a su usuario en su aplicación (de lo contrario, se generará un UUID aleatorio):

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

SSE

Primero, configure estas variables en su entorno .

Ejecute el servidor SSE:

npx @pipedream/mcp sse

Esto expone un servidor MCP genérico que le permite conectarse a cualquiera de nuestras más de 2500 aplicaciones pasando el slug del nombre de la aplicación directamente en la ruta :

❯ 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

Para conectarse al servidor:

  1. Conéctese a http://localhost:3010/:external_user_id/:app donde:
    • :external_user_id es un identificador único para la sesión
    • :app es la aplicación de Pipedream que se debe utilizar (por ejemplo, "slack")
  2. El servidor establecerá una conexión SSE y registrará herramientas para la aplicación especificada.
  3. Para enviar mensajes, publíquelos en http://localhost:3010/:external_user_id/:app/messages?sessionId=<sessionId> donde:
    • <sessionId> se proporciona en la respuesta de la conexión inicial

También puede especificar una aplicación y un puerto a través de 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

Hospedaje de su propio servidor

Usando el Dockerfile

Si tiene Docker instalado localmente, puede compilar y ejecutar el contenedor:

> docker build -t pipedream-connect . > docker run -d --name pd-mcp -p 3010:3010 --env-file .env pipedream-connect:latest

Esto expone un servidor MCP genérico en http://localhost:3010/:external_user_id/:app .

Paso a paso

El servidor SSE se ejecuta como una aplicación Node.js Express. La implementación es sencilla y sirve como referencia. Debe agregar la autorización y personalizar la aplicación según sus necesidades .

Clonar el repositorio e instalar las dependencias:

npm install

Establezca estas variables en su entorno utilizando el almacén de env/secrets que utilice en su infraestructura. Para probarlo localmente, copie el archivo .env.example :

cp .env.example .env

y rellena los valores:

# 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

Ejecutar la compilación:

npm run build

Y ejecuta el servidor SSE:

npm run start:sse:prod

Autorización

MCP ha añadido recientemente compatibilidad con servidores que autorizan solicitudes mediante OAuth . Si aloja su propio servidor, debería implementar la compatibilidad con OAuth para proteger el acceso a los datos de sus clientes.

Depuración

Primero, configure estas variables en su entorno .

Utilice el Inspector MCP o su cliente MCP preferido para conectarse al servidor:

npx @modelcontextprotocol/inspector node ./dist/src/cli.js stdio --app APP --external-user-id USER_ID

Abra http://localhost:5173/ y configure el tipo de transporte en STDIO .

Personalización

Puedes personalizar esta implementación de cualquier forma que desees, por ejemplo:

  1. Modificar config.ts para cambiar la configuración predeterminada
  2. Ampliar registerComponentTools.ts para agregar herramientas adicionales o limitar las herramientas a un conjunto fijo.
  3. Mejorar la implementación para aprovechar la última versión de la especificación MCP.
  4. Persistir datos de sesión en Redis, o cualquier almacén de datos que utilice.

Licencia

Versión de licencia disponible de Pipedream Source 1.0: consulte https://github.com/PipedreamHQ/pipedream/blob/master/LICENSE

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

Ejecute su propio servidor MCP para más de 2500 aplicaciones y API.

  • Ejecute su propio servidor MCP para más de 2500 API
  • Administra servidores para tus usuarios, en tu propia aplicación.
  • Conectar cuentas, configurar parámetros y realizar solicitudes API, todo a través de herramientas
  • Almacenamiento de credenciales y OAuth totalmente administrado)
  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