/ Annuaire / Playground / mcphub
● Communauté samanhappy ⚡ Instantané

mcphub

par samanhappy · samanhappy/mcphub

Lancez tous vos serveurs MCP derrière un seul point de terminaison — groupez-les, routez intelligemment par recherche vectorielle, remplacez les configs sans arrêt.

MCPHub est un hub TypeScript qui monte plusieurs serveurs MCP sous un point de terminaison HTTP unique avec routage par groupe, par serveur, ou via un routeur « intelligent » par recherche vectorielle. OAuth, connexion sociale, mode PostgreSQL pour la production. Docker est le déploiement recommandé.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

mcphub.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ],
      "_inferred": true
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcphub",
      "command": "npx",
      "args": [
        "-y",
        "mcphub"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "mcphub": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcphub"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add mcphub -- npx -y mcphub

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : mcphub

Comment exposer 20 serveurs MCP via une seule URL pour votre équipe

👤 Ingénieurs platform, responsables d'équipe ⏱ ~30 min intermediate

Quand l'utiliser : Les ingénieurs copient-collent constamment les configs locales et cassent les configurations les uns des autres.

Prérequis
  • Docker et un serveur avec un nom DNS — N'importe quel VPS bon marché fonctionne; utilisez Caddy ou nginx pour TLS
  • mcp_settings.json listant vos serveurs — Commencez par l'exemple MCPHub et ajoutez une entrée par MCP
Déroulement
  1. Déployez le hub
    Exécutez: docker run -p 3000:3000 -v $PWD/mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub✓ Copié
    → URL de connexion admin + mot de passe généré dans les logs
  2. Créez des groupes
    Dans l'interface d'administration, créez les groupes « dev » (github, filesystem, postgres) et « data » (postgres, bigquery).✓ Copié
    → Groupes visibles à /mcp/dev et /mcp/data
  3. Distribuez l'URL
    Partagez https://mcp.yourco.internal/mcp/dev avec l'équipe; ils l'ajoutent comme un seul MCP HTTP dans leur client.✓ Copié
    → Les membres de l'équipe se connectent avec une ligne de config

Résultat : Un seul point de terminaison opérationnel remplace 20 configurations par machine.

Pièges
  • Fuite du mot de passe admin des logs Docker — Définissez explicitement la variable env ADMIN_PASSWORD; renouvelez-la à la première connexion
  • Exposer le hub à Internet public — Placez-le derrière un VPN ou exigez des bearer tokens par utilisateur

Comment laisser $smart choisir automatiquement le bon MCP pour un prompt

👤 Équipes exécutant trop d'outils pour tenir dans un seul contexte ⏱ ~15 min advanced

Quand l'utiliser : Vous avez 200+ outils à travers les MCPs et dépassez le budget d'outils de votre modèle.

Déroulement
  1. Activez le point de terminaison $smart
    Pointez votre client vers https://hub.example.com/mcp/$smart au lieu d'un serveur spécifique.✓ Copié
    → Un seul méta-outil exposé qui route selon l'intention
  2. Promptez naturellement
    Trouvez les PR dans github.com/org/repo qui m'attendent et mettez-les dans mon calendrier comme un créneau d'examen de 30 min.✓ Copié
    → Le hub choisit les outils github + google-calendar en arrière-plan

Résultat : Moins d'outils en contexte, même capacité.

Pièges
  • Le routeur intelligent choisit le mauvais MCP sur des prompts ambigus — Gardez les points de terminaison par groupe disponibles comme solution de secours

Comment ajouter un nouveau serveur MCP au hub sans arrêt

👤 Opérateurs ⏱ ~5 min beginner

Quand l'utiliser : Un nouveau MCP vient de sortir et vous voulez qu'il soit en direct aujourd'hui sans expulser tout le monde.

Déroulement
  1. Modifiez mcp_settings.json via l'interface
    Dans le tableau de bord MCPHub, ajoutez une nouvelle entrée de serveur et enregistrez.✓ Copié
    → Notification de rechargement dynamique, nouveaux outils apparaissent
  2. Attribuez à un groupe
    Ajoutez le nouveau serveur au groupe « data ».✓ Copié
    → /mcp/data inclut maintenant les nouveaux outils

Résultat : Nouveau MCP en ligne en moins d'une minute, aucune reconnexion cliente requise.

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

mcphub + toolhive

Utilisez ToolHive pour containeriser les MCPs individuels, MCPHub pour router vers eux

Enregistrez mon MCP github exécuté par ToolHive dans MCPHub sous le groupe « dev ».✓ Copié
mcphub + proxy

Exposez les MCPs stdio uniquement sur HTTP pour le hub

Utilisez mcp-proxy pour relier mon MCP stdio local à HTTP pour que MCPHub puisse le monter.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
(meta) route-by-group HTTP path /mcp/{group} Utilisation régulière — réduisez votre rayon d'impact free
(meta) route-by-server /mcp/{server} Quand vous voulez exactement la surface d'un serveur free
(meta) $smart semantic router /mcp/$smart Quand vous avez trop d'outils pour le contexte 1 vector search per call

Coût et limites

Coût d'exécution

Quota d'API
Aucun imposé par le hub; les MCPs en aval conservent leurs propres quotas
Tokens par appel
Ajoute ~50 tokens de surcharge de métadonnées d'outils
Monétaire
Gratuit (open source, Apache 2.0)
Astuce
Utilisez les routes de groupe, pas $smart, pour un comportement déterministe et zéro coût de recherche vectorielle supplémentaire.

Sécurité

Permissions, secrets, portée

Portées minimales : Jeton Bearer par utilisateur Restriction au niveau du réseau aux clients de confiance
Stockage des identifiants : Variable env ADMIN_PASSWORD; secrets MCP en aval via mcp_settings.json ou gestionnaire de secrets
Sortie de données : Le hub fait uniquement du proxy — vos données vont où chaque MCP en aval les envoie
Ne jamais accorder : Exposition publique sans authentification Interface d'administration sur Internet public

Dépannage

Erreurs courantes et correctifs

Impossible de se connecter / mot de passe inconnu

Vérifiez les logs du conteneur au premier démarrage pour le mot de passe généré ou définissez ADMIN_PASSWORD.

Vérifier : docker logs mcphub | grep -i password
Le nouveau MCP apparaît mais aucun outil

Le MCP en aval n'a probablement pas démarré. Cliquez sur « Logs » sur la carte du serveur.

Le routeur intelligent retourne « aucun outil correspondant »

Réindexez le magasin vectoriel depuis Paramètres > Outils d'indexation.

Décalage de redirection OAuth

Enregistrez l'URL de rappel exacte chez votre fournisseur OAuth (doit correspondre à l'URL publique du hub).

Alternatives

mcphub vs autres

AlternativeQuand l'utiliserCompromis
Unla (MCP Gateway)Vous voulez une conversion REST-to-MCP pilotée par YAML plus multi-locataireBasé sur Go, modèle opérateur différent
ToolHiveVous voulez l'isolation au niveau du conteneur par MCPSe concentre sur l'exécution des MCPs, moins sur le routage/l'agrégation
mcp-proxyVous avez juste besoin de pontage de transport, pas d'agrégation multi-serveurServeur unique; pas d'interface

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills