npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@closiqode/mcp-server-unipile

v0.1.10

Published

Serveur MCP pour l'API Unipile

Readme

MCP Server Unipile

Serveur MCP (Model Context Protocol) pour l'API Unipile, permettant d'intégrer les fonctionnalités de messagerie, email, calendrier et réseaux sociaux d'Unipile dans les modèles de langage.

Description

Ce serveur MCP permet aux modèles de langage d'accéder aux fonctionnalités de l'API Unipile, qui offre une intégration unifiée de divers canaux de communication comme LinkedIn, WhatsApp, Gmail, et bien d'autres. Le serveur expose un ensemble d'outils permettant d'interagir avec ces services via une interface standardisée.

Fonctionnalités

  • Gestion des comptes : Lister, consulter, supprimer et resynchroniser les comptes connectés à Unipile
  • Messagerie : Lister les conversations, envoyer des messages, consulter les participants
  • Emails : Lister, envoyer, consulter et supprimer des emails
  • Calendriers : Gérer les calendriers et les événements
  • LinkedIn : Effectuer des recherches et consulter les projets de recrutement
  • Invitations : Envoyer et lister les invitations aux utilisateurs

Prérequis

  • Node.js v16 ou supérieur
  • Un compte Unipile avec un Access Token
  • Un DSN (Data Source Name) Unipile

Installation

npm install @closiqode/mcp-server-unipile

Configuration

Le serveur MCP Unipile utilise les variables d'environnement suivantes :

  • UNIPILE_API_URL : L'URL de base de l'API Unipile, incluant votre DSN (ex: https://votre-dsn.unipile.com/api/v1)
  • UNIPILE_API_KEY : Votre clé API Unipile (Access Token)

Utilisation

En ligne de commande

# Installation globale
npm install -g @closiqode/mcp-server-unipile

# Exécution
UNIPILE_API_URL=https://votre-dsn.unipile.com/api/v1 UNIPILE_API_KEY=votre-cle-api mcp-server-unipile

Dans un projet Node.js

import { spawn } from 'child_process';
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';

const __dirname = dirname(fileURLToPath(import.meta.url));
const mcpPath = join(__dirname, 'node_modules', '@closiqode', 'mcp-server-unipile', 'dist', 'index.js');

const mcp = spawn('node', [mcpPath], {
  env: {
    ...process.env,
    UNIPILE_API_URL: 'https://votre-dsn.unipile.com/api/v1',
    UNIPILE_API_KEY: 'votre-cle-api'
  },
  stdio: ['pipe', 'pipe', 'pipe']
});

// Communication avec le serveur MCP
mcp.stdin.write(JSON.stringify({
  jsonrpc: '2.0',
  id: '1',
  method: 'mcp.listTools',
  params: {}
}) + '\n');

mcp.stdout.on('data', (data) => {
  console.log('Réponse du serveur MCP:', data.toString());
});

Outils disponibles

Le serveur MCP Unipile expose les outils suivants :

Comptes

  • unipile_accounts_list : Liste tous les comptes connectés
  • unipile_account_details : Obtient les détails d'un compte spécifique
  • unipile_account_delete : Supprime un compte
  • unipile_account_resync : Resynchronise les données de messagerie d'un compte
  • unipile_account_solve_checkpoint : Résout un point de contrôle de code
  • unipile_account_resend_checkpoint : Renvoie une notification de point de contrôle
  • unipile_account_restart : Redémarre un compte
  • unipile_account_connect_hosted : Connecte un compte avec authentification hébergée
  • unipile_account_connect_native : Connecte un compte avec authentification native
  • unipile_account_reconnect : Reconnecte un compte existant

Messagerie

  • unipile_chats_list : Liste toutes les conversations
  • unipile_chat_details : Obtient les détails d'une conversation
  • unipile_chat_messages : Liste les messages d'une conversation
  • unipile_send_message : Envoie un message dans une conversation
  • unipile_chat_attendees : Liste les participants d'une conversation
  • unipile_start_chat : Démarre une nouvelle conversation
  • unipile_chat_action : Effectue une action sur une conversation
  • unipile_chat_sync : Synchronise une conversation depuis son début
  • unipile_message_details : Obtient les détails d'un message
  • unipile_forward_message : Transfère un message
  • unipile_messages_list : Liste tous les messages
  • unipile_message_attachment : Récupère une pièce jointe d'un message
  • unipile_react_to_message : Ajoute une réaction à un message
  • unipile_mark_message_read : Marque un message comme lu

Participants

  • unipile_attendees_list : Liste tous les participants
  • unipile_attendee_details : Obtient les détails d'un participant
  • unipile_attendee_picture : Télécharge la photo d'un participant
  • unipile_attendee_chats : Liste les conversations d'un participant
  • unipile_attendee_messages : Liste les messages d'un participant

Emails

  • unipile_emails_list : Liste tous les emails
  • unipile_email_details : Obtient les détails d'un email
  • unipile_send_email : Envoie un email
  • unipile_delete_email : Supprime un email
  • unipile_update_email : Met à jour un email
  • unipile_email_attachment : Récupère une pièce jointe d'un email
  • unipile_email_folders_list : Liste les dossiers d'emails
  • unipile_email_folder_details : Obtient les détails d'un dossier

Calendriers

  • unipile_calendars_list : Liste tous les calendriers
  • unipile_calendar_details : Obtient les détails d'un calendrier
  • unipile_calendar_events : Liste les événements d'un calendrier
  • unipile_event_details : Obtient les détails d'un événement
  • unipile_create_event : Crée un événement
  • unipile_update_event : Modifie un événement
  • unipile_delete_event : Supprime un événement

LinkedIn

  • unipile_linkedin_search : Effectue une recherche sur LinkedIn
  • unipile_linkedin_projects : Récupère les projets de recrutement

Posts

  • unipile_post_details : Obtient les détails d'un post
  • unipile_post_comments : Récupère les commentaires d'un post
  • unipile_add_post_comment : Ajoute un commentaire à un post
  • unipile_react_to_post : Ajoute une réaction à un post

Utilisateurs

  • unipile_invitations_list : Liste les invitations envoyées
  • unipile_send_invitation : Envoie une invitation

Webhooks

  • unipile_webhooks_list : Liste tous les webhooks
  • unipile_create_webhook : Crée un webhook
  • unipile_delete_webhook : Supprime un webhook

Publication sur npm

Pour publier ce package sur npm, suivez ces étapes :

  1. Assurez-vous d'avoir un compte npm et d'être connecté :

    npm login
  2. Vérifiez que votre package est correctement configuré :

    npm pack --dry-run
  3. Publiez le package :

    npm publish

Si vous utilisez un scope (comme @closiqode), assurez-vous d'avoir les droits nécessaires pour publier sous ce scope.

Création d'une image Docker

Vous pouvez également créer une image Docker pour ce serveur MCP :

FROM node:lts-alpine

WORKDIR /app

# Copier les fichiers package et installer les dépendances
COPY package*.json ./
RUN npm install --ignore-scripts

# Copier le reste du code source
COPY . .

# Compiler le projet
RUN npm run build

# Exposer le serveur MCP sur stdio
CMD [ "node", "dist/index.js" ]

Pour construire et exécuter l'image Docker :

# Construire l'image
docker build -t mcp-server-unipile .

# Exécuter le conteneur
docker run -e UNIPILE_API_URL=https://votre-dsn.unipile.com/api/v1 -e UNIPILE_API_KEY=votre-cle-api mcp-server-unipile

Licence

MIT

Exemple d'utilisation avec Claude

Installation sur Claude Desktop

  1. Assurez-vous que Node.js est installé sur votre ordinateur pour que npx fonctionne.
  2. Allez dans : Paramètres > Développeur > Modifier la configuration
  3. Ajoutez ce qui suit à votre fichier claude_desktop_config.json :
{
  "mcpServers": {
    "unipile": {
      "command": "npx",
      "args": [
        "-y",
        "@closiqode/mcp-server-unipile"
      ],
      "env": {
        "UNIPILE_API_URL": "https://votre-dsn.unipile.com/api/v1",
        "UNIPILE_API_KEY": "votre_clé_api_unipile"
      }
    }
  }
}
  1. Redémarrez Claude Desktop et commencez à utiliser l'API Unipile !

Exemple de prompt pour Claude

Je veux que tu m'aides à gérer mes communications avec l'API Unipile.
Voici ma clé API : [VOTRE_CLE_API].

Peux-tu me montrer la liste de tous mes comptes connectés ?

Auteur

ClosiQode (https://closiqode.com)