Serveur MCP interne — betterpeople.studio

Régie

Un serveur d’orchestration qui donne à Claude et à ChatGPT un accès lisible à LinkedIn, YouTube, au registre des entreprises françaises et au référencement. 19 tools, tous en lecture, qui répondent par une synthèse plutôt que par un export.

Point de connexionhttps://mcp.dev.betterpeople.studio/mcp
19 tools actifs
Accès

Une clé dans un en-tête

Le serveur attend une clé fixe sur chaque requête. Dans Claude, laissez l’authentification sur None et ajoutez un en-tête de requête.

En-tête recommandé
x-api-key — le nom que Claude accepte sans validation préalable
Variante
Authorization: Bearer <clé>, si le client impose ce format
Autres noms acceptés
api-key, api_key, apikey — à éviter : un nom non standard peut être refusé par le client, et un underscore est souvent supprimé par les proxies
Valeur
la clé transmise séparément, jamais affichée sur cette page

Sans clé valide, tout appel MCP répond 401 avec un en-tête WWW-Authenticate. Cette page et /health restent ouverts. La clé est partagée par l’équipe : elle identifie le serveur, pas la personne. Le passage à OAuth 2.1 — un compte par utilisateur, une révocation individuelle — est câblé côté serveur et attend un fournisseur d’identité.

Montages

Une URL globale, une URL par service

Le même serveur, la même clé, plusieurs points d’entrée. Le montage global expose les 19 tools d’un coup, ce qui rend le choix plus difficile pour un agent : préférez le montage du service dont vous avez besoin. resumer_contenu figure volontairement dans deux services, parce qu’il aiguille selon l’URL reçue.

URLContenuTools
/mcpTout — pratique pour explorer, moins précis à l’usage19
/mcp/linkedinProfils, publications, activité, recherche, pages, offres d’emploi11
/mcp/youtubeTranscripts, métadonnées, miniatures, recherche, chaînes, playlists5
/mcp/entreprisesIdentité légale, dirigeants, finances, établissements4
/mcp/seoRelais authentifié vers DataForSEOrelais

Trois façons de brancher : dans Claude, Réglages puis Connecteurs, connecteur personnalisé, l’URL du montage et l’en-tête. Dans ChatGPT, mode développeur, transport Streamable HTTP. En ligne de commande, claude mcp add --transport http regie https://mcp.dev.betterpeople.studio/mcp/linkedin --header "x-api-key: <clé>".

Format des réponses

Sous quelle forme les données arrivent

Six règles valables pour tous les tools. Elles expliquent aussi bien ce qu’on reçoit que ce qu’on ne reçoit pas.

01

Du Markdown, jamais du JSON brut

Chaque tool renvoie un bloc de texte structuré, pensé pour être lu par un modèle. Les sources d’origine produisent des charges lourdes — 250 Ko pour un profil LinkedIn, soit de l’ordre de 60 000 tokens — que Régie mesure et agrège avant de répondre. Seul le montage /mcp/seo fait exception : il relaie le JSON de DataForSEO tel quel.

02

Une pagination servie depuis le cache

Les tools de liste acceptent debut et taille. Régie accumule les pages de la source dans une collection et vous en sert des tranches : demander la tranche 3 après la tranche 1 ne rappelle pas la source. Cinq pages amont au maximum par collection, ce qui borne la dépense.

03

Un cache de 24 heures, forçable

Toute réponse est gardée un jour. refresh: true sur n’importe quel tool ignore le cache et rappelle la source. Le pied de page indique systématiquement l’origine — appel réseau ou cache, avec son âge — pour qu’une donnée périmée ne passe jamais pour fraîche.

04

Un pied de page qui dit où l’on en est

Les tools paginés terminent par une ligne indiquant les éléments affichés, le total chargé, s’il reste quelque chose à charger, l’origine de la donnée et comment forcer le rafraîchissement.

05

Les échecs sont des réponses, pas des plantages

Une source indisponible, une URL non reconnue ou une clé absente donnent un message explicite marqué comme erreur, pas une exception. L’agent peut alors expliquer ou changer d’approche plutôt que de s’arrêter.

06

Tout est en lecture

Aucun tool n’écrit, ne publie ni n’envoie quoi que ce soit. Quand l’écriture arrivera, elle fonctionnera en deux temps : un tool rend un plan, un autre exécute un plan déjà écrit et relu.

LinkedIn · 11 tools

LinkedIn

https://mcp.dev.betterpeople.studio/mcp/linkedin

Source

API tierce (remocco2.xyz) qui rejoue LinkedIn. Facturée à l’appel, sans engagement de service, sans en-tête de quota : le solde de crédits n’est pas lisible depuis la réponse.

Ce que cette source ne permet pas
  • Aucune recherche de personnes : on n’atteint un profil que par son identifiant, ou indirectement via recherche_posts filtré sur l’auteur.
  • Aucun fichier CV : profil_linkedin renvoie le parcours structuré, qui en tient lieu.
  • Lecture seule : rien ne peut être publié, commenté ni envoyé.
  • Un 500 transitoire a été observé ; l’adaptateur réessaie une fois avant d’échouer.

profil_linkedin

Parcours d’une personne

Fiche complète d’un profil : identité, poste actuel, expériences, formations, audience et contenus mis en avant.

ParamètreTypeObligationRôle
profiltexteobligatoireIdentifiant (satyanadella) ou URL complète
contactbooléendéfaut fauxAjoute le bloc de coordonnées publiques, renvoyé en JSON brut
refreshbooléendéfaut fauxIgnore le cache de 24 h
Ce que la réponse contient
  • Nom, titre, présentation (tronquée à 900 caractères)
  • Abonnés, relations, entreprise actuelle, localisation
  • Statuts : Top Voice, influenceur, créateur, premium, vérifié
  • Jusqu’à 12 expériences : intitulé, entreprise, durée, lieu, en poste ou non
  • Jusqu’à 6 formations, 5 contenus mis en avant
  • Email quand le profil l’expose publiquement
Limites
  • Ne donne ni téléphone ni email privé quand le profil ne les publie pas.

ligne_editoriale

Ce dont un compte parle vraiment

Agrège les publications d’un profil ou d’une page et en tire des mesures : thèmes, formats, rythme, engagement. C’est le tool qui compresse le plus — environ 250 Ko de JSON ramenés à 4 000 caractères.

ParamètreTypeObligationRôle
cibletexteobligatoireProfil ou page entreprise, identifiant ou URL
typeprofil | entreprisedéduit de l’URLForce l’interprétation de la cible
volumeentier 20–200défaut 100Publications à analyser
refreshbooléendéfaut fauxIgnore le cache de 24 h
Ce que la réponse contient
  • Nombre de publications, fenêtre en jours, rythme hebdomadaire
  • Engagement : médiane, moyenne, maximum
  • Répartition par format avec l’engagement médian de chacun
  • 22 termes récurrents et 12 expressions de deux mots, comptés une fois par publication
  • Hashtags employés
  • Les 5 publications les plus reprises, avec extrait, date et lien
Limites
  • Ne nomme pas les thèmes : il fournit les fréquences mesurées, l’interprétation revient au modèle.
  • Les URL, mentions et hashtags sont retirés avant le comptage, sans quoi « https » et « lnkd » dominent le classement.

posts_linkedin

Publications, une tranche à la fois

Les publications avec leur texte intégral et leurs statistiques, paginées. C’est le complément de ligne_editoriale quand il faut lire plutôt que mesurer.

ParamètreTypeObligationRôle
cibletexteobligatoireProfil ou page entreprise
typeprofil | entreprisedéduitForce l’interprétation
debutentier ≥ 0défaut 0Index du premier élément
tailleentier 1–50défaut 20Éléments renvoyés
refreshbooléendéfaut fauxIgnore le cache
Ce que la réponse contient
  • Par publication : rang, date relative, type de média
  • Réactions, commentaires, republications et total
  • Texte tronqué à 1 400 caractères
  • Lien nettoyé de ses paramètres de suivi
  • Mention « relayé de @… » quand l’auteur diffère de la cible
Limites
  • Ne renvoie pas les commentaires : passer par post_linkedin avec l’URL.

activite_linkedin

Ce qu’une personne commente et aime

L’activité hors publications — souvent plus révélatrice des préoccupations réelles que ce que la personne publie elle-même.

ParamètreTypeObligationRôle
profiltexteobligatoireIdentifiant ou URL
genrecommentaires | reactions | les-deuxdéfaut les-deuxNature de l’activité
debutentier ≥ 0défaut 0
tailleentier 1–50défaut 20Répartie entre les deux genres si les-deux
refreshbooléendéfaut faux
Ce que la réponse contient
  • Commentaires : date, texte, extrait de la publication commentée, lien
  • Réactions : nature de la réaction, auteur du post, extrait, lien
Limites
  • Ne dit pas qui a réagi aux publications de la personne — c’est l’inverse : ce à quoi elle a réagi.

post_linkedin

Une publication et ses réponses

Le détail d’une publication et son fil de commentaires : comment un message a été reçu, et par qui.

ParamètreTypeObligationRôle
urltexteobligatoireURL linkedin.com/posts/…
commentairesentier 0–50défaut 15Commentaires affichés ; 0 pour n’avoir que la publication
refreshbooléendéfaut faux
Ce que la réponse contient
  • Auteur et son titre, texte intégral de la publication
  • Réactions, commentaires, republications
  • Par commentaire : auteur, titre, date, réactions, texte tronqué à 320 caractères
Limites
  • Les réponses aux commentaires ne sont pas dépliées.

recherche_posts

Trouver des gens par ce qu’ils publient

Recherche de publications par mot-clé, avec filtres sur l’auteur. Comme l’API n’offre pas de recherche de profils, c’est le seul chemin vers des personnes qu’on ne connaît pas encore — et le signal est souvent meilleur qu’un annuaire.

ParamètreTypeObligationRôle
motcletextefacultatifMots-clés recherchés
poste_auteurtextefacultatifIntitulé de poste, ex. head of growth
entreprises_auteurtextefacultatifURN d’entreprises séparés par des virgules
secteurs_auteurtextefacultatifURN de secteurs séparés par des virgules
periodepast-24h | past-week | past-monthfacultatif
trirelevance | date_postedfacultatif
debutentier ≥ 0défaut 0
tailleentier 1–50défaut 20
refreshbooléendéfaut faux
Ce que la réponse contient
  • Par résultat : auteur, son titre, date, réactions, commentaires
  • Texte tronqué à 600 caractères, hashtags
  • Lien du profil auteur et lien de la publication
Limites
  • Les URN d’entreprise et de secteur sont des identifiants LinkedIn : il faut les connaître, ils ne se devinent pas.

entreprise_linkedin

Fiche d’une page entreprise

La page LinkedIn d’une entreprise, telle qu’elle se présente — à distinguer de sa fiche légale, qui relève du service Entreprises.

ParamètreTypeObligationRôle
entreprisetexteobligatoireNom court (google) ou URL de page
refreshbooléendéfaut faux
Ce que la réponse contient
  • Nom, accroche, secteur, effectif déclaré, abonnés
  • Site web, chemin de la page
  • Description tronquée à 1 200 caractères
Limites
  • Données déclaratives : l’effectif affiché est celui que l’entreprise revendique, pas celui du registre.

recherche_pages_linkedin

Chercher des pages entreprise

Recherche de pages entreprise par mot-clé, avec filtres de lieu, de secteur et de taille.

ParamètreTypeObligationRôle
motcletexteobligatoire
lieuxtextefacultatifIdentifiants de lieux LinkedIn, virgules
secteurstextefacultatifIdentifiants de secteurs, virgules
taillestextefacultatifCodes de taille, ex. B,C,D
debutentier ≥ 0défaut 0
tailleentier 1–50défaut 20
refreshbooléendéfaut faux
Ce que la réponse contient
  • Par entreprise : nom, secteur, lieu, abonnés, description courte, lien
Limites
  • Pour une liste fondée sur des données légales — SIREN, CA, dirigeants — préférer recherche_entreprises.

offres_emploi

Ce qu’une entreprise recrute

Les offres publiées, par entreprise ou par marché. Un signal d’intention lisible : les recrutements disent où une entreprise investit avant qu’elle ne communique dessus.

ParamètreTypeObligationRôle
motclestextefacultatifex. growth marketing
lieutextefacultatifPays ou ville, ex. France
entreprise_idtextefacultatifIdentifiant LinkedIn de l’entreprise
ancienneteday | week | monthfacultatif
distancielonsite | remote | hybridfacultatif
niveauinternship → executivefacultatifSix niveaux d’expérience
equipebooléendéfaut fauxAjoute l’équipe de recrutement de la première offre
debutentier ≥ 0défaut 0
tailleentier 1–50défaut 20
refreshbooléendéfaut faux
Ce que la réponse contient
  • Par offre : intitulé, entreprise, lieu, mode de travail, date
  • Nombre de candidats, candidature simplifiée, offre sponsorisée
  • Description tronquée à 260 caractères, lien de l’offre
Limites
  • Le nombre de candidats est souvent absent côté LinkedIn.

equipe_recrutement

Les décideurs derrière une offre

Les personnes rattachées à une offre — recruteur, manager. Un chemin direct vers des interlocuteurs identifiés, sans passer par un annuaire.

ParamètreTypeObligationRôle
offretexteobligatoireIdentifiant ou URL linkedin.com/jobs/view/…
refreshbooléendéfaut faux
Ce que la réponse contient
  • Liste des membres exposés, en JSON (structure variable selon l’offre)
Limites
  • La plupart des offres n’exposent aucun contact : une réponse vide est un résultat normal, pas une erreur.

resumer_contenu

Lire une URL, quelle que soit sa source

Aiguille automatiquement selon le lien fourni : vidéo YouTube ou publication LinkedIn. Utile quand on a une URL sans savoir d’où elle vient.

ParamètreTypeObligationRôle
urltexteobligatoireURL YouTube ou LinkedIn
transcriptbooléendéfaut vraiPour une vidéo, récupérer le transcript
Ce que la réponse contient
  • Vidéo : voir video_youtube
  • Publication : auteur, texte intégral, statistiques
Limites
  • Toute autre source renvoie un message expliquant les formats reconnus.
YouTube · 5 tools

YouTube

https://mcp.dev.betterpeople.studio/mcp/youtube

Source

transcriptapi.com, facturé à l’appel. Les miniatures viennent directement de img.youtube.com, sans clé ni coût.

Ce que cette source ne permet pas
  • L’accès direct aux sous-titres est impossible depuis un serveur : l’API interne de YouTube répond « Video unavailable » depuis une IP de datacenter, sur les quatre clients testés. D’où le fournisseur tiers.
  • Pas de commentaires de vidéos, pas de statistiques d’abonnés, pas de publication.
  • Une vidéo sans sous-titres n’a pas de transcript : la recherche indique lesquelles en ont.

video_youtube

Tout sur une vidéo

Métadonnées, langues de sous-titres disponibles, miniatures et transcript complet à partir d’une URL.

ParamètreTypeObligationRôle
urltexteobligatoirewatch, youtu.be, shorts, embed, live, ou l’identifiant à 11 caractères
transcriptbooléendéfaut vraiRécupérer le transcript
languetextefacultatifCode de langue, ex. fr. Défaut : langue d’origine
refreshbooléendéfaut fauxIgnore le cache de 24 h
Ce que la réponse contient
  • Titre, chaîne et son URL, lien de la vidéo
  • Langues de sous-titres disponibles, avec leur code
  • Quatre URL de miniatures plus la meilleure réellement servie
  • Transcript en texte continu, avec durée et langue
Limites
  • maxresdefault n’existe pas pour toutes les vidéos : la meilleure qualité est vérifiée avant d’être annoncée.
  • Le transcript est renvoyé sans horodatage, pour rester lisible.

recherche_youtube

Chercher vidéos ou chaînes

Recherche par mot-clé. Chaque résultat indique s’il possède des sous-titres, ce qui évite de demander un transcript qui n’aboutira pas.

ParamètreTypeObligationRôle
requetetexteobligatoire
genrevideo | channeldéfaut video
debutentier ≥ 0défaut 0
tailleentier 1–50défaut 20
refreshbooléendéfaut faux
Ce que la réponse contient
  • Titre, chaîne, durée, ancienneté, nombre de vues
  • Présence ou absence de sous-titres
  • Lien de la vidéo ou de la chaîne

chaine_youtube

Les vidéos d’une chaîne

Toutes les vidéos d’une chaîne, paginées, ou une recherche à l’intérieur de cette chaîne. Permet de lire la ligne éditoriale vidéo d’une marque.

ParamètreTypeObligationRôle
chainetexteobligatoireHandle @nom, URL de chaîne ou identifiant UC…
recherchetextefacultatifFiltre par mots-clés dans la chaîne
recentesbooléendéfaut fauxLes 15 dernières via le flux RSS : plus rapide, sans pagination
debutentier ≥ 0défaut 0
tailleentier 1–50défaut 20
refreshbooléendéfaut faux
Ce que la réponse contient
  • Par vidéo : titre, durée, date, vues, lien
Limites
  • Le mode recentes ignore la pagination : il rend exactement les 15 dernières.

playlist_youtube

Les vidéos d’une playlist

Le contenu d’une playlist, paginé.

ParamètreTypeObligationRôle
playlisttexteobligatoireURL de playlist ou identifiant
debutentier ≥ 0défaut 0
tailleentier 1–50défaut 20
refreshbooléendéfaut faux
Ce que la réponse contient
  • Par vidéo : titre, durée, date, vues, lien

resumer_contenu

Lire une URL, quelle que soit sa source

Le même point d’entrée que côté LinkedIn : donne l’URL, Régie aiguille.

ParamètreTypeObligationRôle
urltexteobligatoire
transcriptbooléendéfaut vrai
Ce que la réponse contient
  • Selon la source : voir video_youtube ou la publication LinkedIn
Entreprises françaises · 4 tools

Entreprises françaises

https://mcp.dev.betterpeople.studio/mcp/entreprises

Source

API Recherche d’entreprises de l’État (recherche-entreprises.api.gouv.fr). Ouverte : aucun jeton, aucun quota négocié, aucun coût. Alimentée par l’INSEE et le registre national des entreprises.

Ce que cette source ne permet pas
  • Entreprises françaises uniquement.
  • Les finances se limitent aux comptes publiés : chiffre d’affaires et résultat net, quand la société ne s’oppose pas à la publication. Ni bilan détaillé, ni compte de résultat complet, ni actes déposés — c’est là que les offres payantes comme Pappers gardent un avantage.
  • Les dirigeants sont ceux du registre légal, pas l’organigramme opérationnel : on y trouve le président et les commissaires aux comptes, pas le directeur marketing.
  • Une recherche géographique porte sur les établissements, pas sur le siège.

entreprise_fiche

Fiche légale complète

L’identité officielle d’une entreprise française par SIREN ou par nom.

ParamètreTypeObligationRôle
entreprisetexteobligatoireSIREN à 9 chiffres, ou raison sociale
etablissementsbooléendéfaut fauxListe jusqu’à 25 établissements
refreshbooléendéfaut faux
Ce que la réponse contient
  • SIREN, numéro de TVA intracommunautaire
  • Forme juridique traduite, code d’activité NAF et sa section
  • Date de création, état administratif, date de cessation
  • Tranche d’effectif traduite en clair, catégorie (PME, ETI, GE)
  • Nombre d’établissements, dont ouverts
  • Adresse et SIRET du siège
  • Finances par année : CA, résultat net, marge brute, EBITDA quand publiés
  • Dirigeants : personnes physiques avec année de naissance, et personnes morales avec leur SIREN
Limites
  • Une recherche par nom retient le premier résultat : pour lever toute ambiguïté, passer le SIREN.

recherche_entreprises

Construire une liste de comptes

Recherche multicritère sur des données légales : activité, localisation, taille, catégorie, état. Le point de départ d’un ciblage fondé sur des faits déclarés à l’administration plutôt que sur du déclaratif.

ParamètreTypeObligationRôle
requetetextefacultatifRaison sociale, enseigne ou dirigeant
code_naftextefacultatifCode d’activité, ex. 62.01Z
section_naftextefacultatifSection sur une lettre, ex. J
departementtextefacultatifex. 69
code_postaltextefacultatif
regiontextefacultatifCode INSEE de région
categoriePME | ETI | GEfacultatif
effectif_mintextefacultatifCode de tranche INSEE, ex. 12 pour 20 à 49 salariés
actives_seulementbooléendéfaut vraiExclut les entreprises cessées
debutentier ≥ 0défaut 0
tailleentier 1–25défaut 10
refreshbooléendéfaut faux
Ce que la réponse contient
  • Par entreprise : nom, SIREN, forme juridique, code NAF
  • Lieu retenu par le filtre, et le siège entre parenthèses s’il diffère
  • Tranche d’effectif, état, dernier chiffre d’affaires publié
Limites
  • Le filtre géographique retient les entreprises ayant un établissement dans la zone : une société dont le siège est à Paris ressort sur le Rhône si elle y a un bureau. Le lieu affiché est celui qui a déclenché la correspondance.

entreprises_proches

Prospection territoriale

Les entreprises situées dans un rayon autour de coordonnées GPS.

ParamètreTypeObligationRôle
latitudenombreobligatoireDegrés décimaux
longitudenombreobligatoireDegrés décimaux
rayon_kmnombre 0,1–50défaut 1
tailleentier 1–25défaut 10
refreshbooléendéfaut faux
Ce que la réponse contient
  • Nombre total dans le rayon, puis la même ligne que la recherche
Limites
  • Ne filtre pas par activité : combiner avec recherche_entreprises pour cibler un secteur.

dirigeants_entreprise

Qui dirige légalement

Les dirigeants déclarés au registre national, personnes physiques comme personnes morales.

ParamètreTypeObligationRôle
entreprisetexteobligatoireSIREN ou raison sociale
refreshbooléendéfaut faux
Ce que la réponse contient
  • Personnes physiques : prénoms, nom, rôle, date ou année de naissance, nationalité
  • Personnes morales : dénomination, rôle, SIREN
Limites
  • Une réponse vide est normale pour un entrepreneur individuel ou certaines associations.
Référencement · relais

Référencement

https://mcp.dev.betterpeople.studio/mcp/seo

Source

Serveur MCP DataForSEO, relayé derrière l’authentification de Régie. Facturé à l’appel par DataForSEO.

Ce que cette source ne permet pas
  • Ce montage n’est pas un playbook Régie : il expose tel quel le catalogue de tools DataForSEO, avec ses noms et ses formats d’origine.
  • Les réponses ne passent pas par la compression Markdown de Régie : elles arrivent en JSON, telles que DataForSEO les produit.
  • Modules activés : SERP, mots-clés, on-page, DataForSEO Labs, backlinks, données d’entreprise, analyse de domaines.

Les tools exposés sont ceux du serveur DataForSEO ; leur liste complète s’obtient en appelant tools/list sur ce montage.

Périmètre

Ce que Régie ne fait pas

Autant que les capacités, les impossibilités méritent d’être écrites : elles évitent de chercher longtemps une fonction qui n’existe pas.

Aucune écriture, nulle part

Rien ne peut être publié sur LinkedIn ou YouTube, aucun email ne part, aucun CRM n’est modifié. Régie lit.

Pas de recherche de personnes sur LinkedIn

L’API ne l’offre pas. Le contournement est recherche_posts filtré sur l’intitulé de poste, le secteur ou l’entreprise de l’auteur.

Pas de fichier CV

LinkedIn n’expose pas de CV téléchargeable. profil_linkedin rend le parcours structuré, qui en tient lieu.

Pas de bilans comptables détaillés

Le service Entreprises donne le chiffre d’affaires et le résultat net publiés. Les liasses fiscales et les actes déposés restent hors de portée d’une source gratuite.

Pas d’organigramme opérationnel

Le registre livre les mandataires sociaux. Pour atteindre un responsable métier, croiser avec recherche_posts ou equipe_recrutement.

Pas de données non françaises côté Entreprises

Le registre couvre la France. Pour une société étrangère, se rabattre sur sa page LinkedIn.

Pas de commentaires YouTube

Le fournisseur ne les expose pas.

Données

Ce qui est conservé, et combien de temps

Les réponses des sources sont gardées en mémoire vive pendant 24 heures, jamais sur disque. Un redémarrage du serveur vide tout. Régie ne constitue pas de base de profils : les données personnelles issues de LinkedIn transitent pour répondre à une question précise, et disparaissent.

Les journaux du serveur enregistrent la méthode, le chemin et le code de réponse — pas le contenu des réponses ni les paramètres d’appel. La clé d’accès n’y figure pas.