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

rankflow-mcp

v1.1.1

Published

Serveur MCP RankFlow SEO par Vincent Hego : audit on-page et scoring identiques a l'extension Chrome (bareme 2.48), pages construites en JavaScript lues par le navigateur installe, utilisables directement par un agent IA (Claude Code, Claude Desktop, Curs

Readme

RankFlow SEO : le MCP

Serveur MCP qui donne a ton assistant IA (Claude Code, Claude Desktop, Cursor...) l'audit SEO on-page complet de n'importe quelle URL : score /100, 16 signaux GEO, modules qualite, Core Web Vitals, plan d'action chiffre.

La note est celle de l'extension Chrome RankFlow, a la decimale pres. Meme bareme, memes mesures, memes verdicts : le connecteur execute le code de mesure de l'extension lui-meme (son content script, copie tel quel) et assemble la note comme le popup de l'extension. L'extension reste la reference : le MCP ne reinvente rien, il porte.

Guide d'installation pas a pas, avec ta cle inseree dans les extraits : https://www.vincenthego.com/rankflow/mcp/ (aussi dans INSTALLATION.md).

Claude Desktop et Claude Code sont DEUX applications : chacune a sa propre configuration et ses propres autorisations. Installer dans l'une n'installe pas dans l'autre.

claude mcp add --scope user rankflow-seo -e RANKFLOW_LICENSE_KEY=TA_CLE -- npx -y rankflow-mcp

--scope user : sans lui, le connecteur n'est installe que dans le dossier courant.

Il faut une cle RankFlow (https://www.vincenthego.com/rankflow/) : sans elle, le serveur demarre mais refuse d'auditer.


L'outil

rankflow_audit_page(url, { keyword, pagespeed, checkLinks, resources, rendu })

Score SEO on-page /100

25 criteres notes, repartis en 5 categories (Technique 25, Meta & SERP 15, Contenu 30, Liens 20, Perf 10), avec malus (plafonnes a -20), caps bloquants (noindex, canonical externe, contenu trop mince), bonus Excellence, et les verdicts Optimal / Solide / Passable / Insuffisant / Critique.

La reponse expose aussi totalPrecis (la note au dixieme) et pendingWeight (le poids du bareme qui n'a PAS pu etre mesure) : la note est un pourcentage de ce qui a ete reellement evalue, il faut pouvoir le verifier.

16 signaux GEO (citabilite par les IA)

Un par un, avec sa valeur et son explication : auteur, date de publication, date de mise a jour, citations externes, JSON-LD, schema Article, schema Produit, schema FAQ, fil d'Ariane, Organization, canonique, indexabilite, sections H2, questions, tableaux, listes, paragraphes citables, fraicheur. Plus la note /10 et les correctifs.

Modules qualite

Helpful / profondeur, E-E-A-T (expertise, autorite, confiance), intention SEO, lisibilite, scanabilite, sur-optimisation (densite + ancres + titres), risque Core Update, detection de contenu IA.

Placement du mot-cle principal (bloc placement)

Le mot-cle principal (keyword s'il est fourni, sinon celui que l'extension detecte sur la page) et chacun de ses mots significatifs, cherches dans le title, le H1, la meta description, l'URL, le premier paragraphe, les H2-H6, les alt, les ancres et le gras. Meme note en etoiles que le tableau « Placement des mots-cles » de l'extension (son code, execute tel quel). Puis des conseils classes par impact, avec le texte actuel et un exemple : title, H1 et premier paragraphe d'abord, puis au moins un H2, puis l'URL (jamais exigee sur une page d'accueil ; sur une page deja positionnee, pas de changement d'URL pour le SEO seul), la meta description (clic, pas classement), et alt, ancres, gras seulement s'ils viennent naturellement. L'expression exacte repetee dans le title, les Hn ou les ancres est signalee (sur-optimisation). Resume en francais dans placement.resume, renvoye aussi en second bloc de texte. Hors note /100.

Le reste

  • Couverture semantique (si keyword est fourni) : le vocabulaire du top-N de la SERP, ce que la page couvre, ce qui lui manque.
  • Core Web Vitals reels via PageSpeed Insights (LCP, CLS, Speed Index, INP terrain), affiches hors note : depuis le bareme 2.48 ils sont « non mesures » dans la note /100, dans l'extension comme ici. Necessite RANKFLOW_PSI_KEY, gratuite.
  • Liens casses (sur demande, checkLinks: true) : echantillon de 15 liens internes teste en HTTP. Par defaut ils ne sont pas testes, comme dans l'extension, et la reponse le dit.
  • Pages construites en JavaScript (rendu) : voir plus bas.
  • robots.txt et sitemap.xml.
  • Plan d'action chiffre : chaque correctif avec les points qu'il rapporte.

Les limites, dites franchement

Pages construites en JavaScript. Par defaut (rendu: 'auto'), le HTML est lu tel qu'il est servi, sauf si la page porte les signes d'une application JavaScript (tres peu de texte, une racine #root, #__next, #app... et des scripts) ou si son texte rendu differe nettement : elle est alors ouverte dans le navigateur deja installe (Chrome, Edge, Brave, Chromium), sans fenetre, 15 s au plus, et c'est le DOM rendu qui est note, par le meme moteur. Aucun Chromium n'est telecharge : puppeteer-core est une dependance facultative. Sans navigateur ni puppeteer-core, le HTML servi est note et la reponse previent : « page construite en JavaScript : note a verifier dans l'extension ». rendu: 'js' force le rendu, rendu: 'statique' l'interdit (ou la variable d'environnement RANKFLOW_RENDU=statique pour tous les audits). Le champ rendu de la reponse dit toujours le mode employe et pourquoi.

Pas de CSS ni de mise en page. Un element masque en CSS est compte comme visible, et la taille des cibles tactiles (critere Mobile) ne peut pas etre mesuree : elle est reputee correcte.

La SERP semantique n'est pas Google. L'extension lit la SERP Google depuis ton navigateur ; un serveur ne le peut pas (Google ne rend plus de resultats sans JavaScript, verifie : reponse 200, zero resultat). Le MCP passe donc par un autre moteur. Les reglages sont ceux de l'extension (un terme retenu des qu'il apparait dans 2 pages du top-N, liste plafonnee a 200, presence testee dans le corps + title + meta + Hn), mais la liste de termes peut differer legerement de celle de l'extension. C'est pourquoi la couverture semantique, comme les Core Web Vitals de PageSpeed, est affichee a part et ne change pas la note /100 : dans l'extension non plus, la note affichee ne les contient pas.

Ce qui sort de ta machine. A chaque audit, RankFlow recoit ta cle, l'URL auditee, le score, la version du bareme, et un identifiant d'appareil anonyme (aucun nom de machine ni d'utilisateur). Le contenu des pages, lui, ne sort jamais. Detail complet dans INSTALLATION.md.


Versions

  • 1.1.0 : barème 2.48 (5 corrections), lecture des pages construites en JavaScript, People Also Ask retiré. Notes plus justes : 5 corrections du barème ; les notes peuvent bouger de quelques points. Core Web Vitals « non mesurés » dans la note, hreflang neutre pour un site monolingue, nofollow internes comptés une fois, ancres descriptives reconnues, note indépendante de l'ordre d'arrivée des mesures. Liens cassés vérifiés seulement sur demande, comme l'extension. Chaque audit envoie la version du barème (moteur). Vérifié par node banc/banc-moteurs.mjs (20 pages + une application JavaScript rendue par le Chrome installé, égalité stricte avec l'extension 2.48). Placement du mot-clé principal (bloc placement) : présences et note en étoiles du tableau « Placement des mots-clés » de l'extension (kwplacement.js exécuté tel quel), conseils par impact, sur-optimisation ; le paramètre keyword le pilote. Vérifié par node banc/banc-placement.mjs (23 pages, 28 cas).
  • 1.0.5 : notes identiques à l'extension 2.47. Le connecteur exécute le code de mesure de l'extension et assemble la note comme son popup ; Core Web Vitals et couverture sémantique sont affichés hors note ; seuls les liens en 404, 410, 414 ou 451 comptent comme cassés. Vérifié par node banc/banc-moteurs.mjs (14 pages, égalité stricte critère par critère).

Developpement local

npm install                                    # Node >= 18
node src/cli.js https://www.vincenthego.com/   # audit en ligne de commande
node src/cli.js https://exemple.fr/ --rendu=js --liens   # rendu JavaScript force, liens verifies
node banc/banc-moteurs.mjs                     # egalite stricte avec l'extension (Chrome installe : rendu JS teste aussi)
node banc/banc-placement.mjs                   # placement du mot-cle : memes presences et meme note en etoiles que l'extension

Par Vincent Hego · [email protected]