Skip to main content
Glama

# 🚀 SAG RANK MCP Server

npm version MCP Protocol License: MIT Node.js

El servidor oficial de Model Context Protocol (MCP) para SAG RANK — la suite integral de diagnóstico, optimización y auditoría para la era de la inteligencia artificial.

Permite a tus asistentes y agentes de programación (Cursor, Windsurf, Claude Desktop, Antigravity, Roo Code, Cline y VS Code) auditar, comparar y optimizar cualquier sitio web directamente desde tu chat o workflow de desarrollo.


✨ Capacidades Principales

  • 🎯 Score SAG RANK Global (0 - 100): Algoritmo unificado ponderado que combina Rendimiento, SEO, AEO, GEO y Acceso de IA.

  • Core Web Vitals & Rendimiento: Métricas reales de Google Lighthouse (FCP, LCP, TBT, CLS, Speed Index).

  • 🤖 AEO (Answer Engine Optimization): Análisis de semántica HTML y validación de datos estructurados Schema.org (JSON-LD).

  • 🧠 GEO (Generative Engine Optimization): Evaluación de señales EEAT, citabilidad para LLMs y patrones de preguntas/respuestas (Q&A).

  • ⚔️ Comparativa Competitiva (A vs B): Compara dos sitios web lado a lado, detecta al ganador, analiza ventajas competitivas y brechas técnicas.

  • 🛡️ Auditoría de 8 Rastreadores de IA: Verificación granular en robots.txt para GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, Bytespider y CCBot.

  • 🛠️ Generador de Soluciones Inmediatas: Genera /llms.txt, Schema JSON-LD y robots.txt balanceado listos para guardar en tu proyecto.


Related MCP server: Seonix SEO MCP

⚡ Inicio Rápido (Zero Install)

No necesitas clonar ni compilar nada. Ejecútalo directamente con npx:

npx -y sagrank-mcp

🛠️ Configuración en Editores y Asistentes

1. Cursor

Añade el servidor en tu configuración de MCP en Cursor:

Opción A — Archivo .cursor/mcp.json o ~/.cursor/mcp.json:

{
  "mcpServers": {
    "sagrank": {
      "command": "npx",
      "args": ["-y", "sagrank-mcp"]
    }
  }
}

Opción B — Desde la Interfaz de Cursor:

  1. Abre Cursor Settings (Ctrl + , o Cmd + ,).

  2. Ve a Features > MCP Servers.

  3. Haz clic en + Add New MCP Server.

  4. Nombre: sagrank

  5. Tipo: command

  6. Comando: npx -y sagrank-mcp


2. Windsurf (Codeium)

Añade el servidor en ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "sagrank": {
      "command": "npx",
      "args": ["-y", "sagrank-mcp"]
    }
  }
}

3. Claude Desktop

Edita el archivo de configuración según tu sistema operativo:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "sagrank": {
      "command": "npx",
      "args": ["-y", "sagrank-mcp"]
    }
  }
}

4. Google Antigravity & Agentic IDEs

Configura en tu bloque de herramientas MCP:

{
  "name": "sagrank-mcp",
  "command": "npx",
  "args": ["-y", "sagrank-mcp"]
}

5. VS Code (Roo Code / Cline / Continue / Copilot)

En la configuración MCP de la extensión seleccionada:

{
  "mcpServers": {
    "sagrank": {
      "command": "npx",
      "args": ["-y", "sagrank-mcp"]
    }
  }
}

📚 Herramientas Disponibles

1. sagrank_audit

Realiza una auditoría completa de un sitio web.

Parámetros:

  • url (string, obligatorio): Dominio o URL a auditar (ej. https://miweb.com).

  • estrategia (string, opcional, por defecto "mobile"): "mobile" o "desktop".

  • psi_key (string, opcional): Clave de Google PageSpeed Insights API si deseas cuota dedicada.

Ejemplo de prompt en el chat:

"Audita mi sitio https://miweb.com con sagrank_audit y dime qué necesito mejorar para aparecer en Perplexity y SearchGPT."


2. sagrank_compare

Compara competitivamente dos sitios web (Sitio A vs Sitio B) lado a lado.

Parámetros:

  • url1 (string, obligatorio): URL del primer sitio (tu web o Sitio A).

  • url2 (string, obligatorio): URL del segundo sitio (competidor o Sitio B).

  • estrategia (string, opcional, por defecto "mobile"): "mobile" o "desktop".

  • psi_key (string, opcional): Clave opcional de Google PageSpeed Insights API.

Ejemplo de prompt en el chat:

"Compara mi web https://miempresa.com contra el competidor https://competidor.com usando sagrank_compare y muéstrame la tabla de ventajas."

Respuesta generada:

  • Score global y delta de puntos con ganador proclamado.

  • Tabla comparativa lado a lado (Lighthouse, SEO, AEO, GEO, AI Bots, llms.txt, SPA).

  • Desglose de fortalezas exclusivas del Sitio A y del Sitio B.

  • Recomendación estratégica para superar al competidor.


3. sagrank_check_ai_crawlers

Audita de forma exhaustiva el archivo robots.txt para 8 motores y rastreadores de IA.

Parámetros:

  • url (string, obligatorio): URL del sitio web.

Rastreadores analizados:

  1. GPTBot (OpenAI - ChatGPT & SearchGPT)

  2. ChatGPT-User (OpenAI - Navegación web en vivo)

  3. ClaudeBot (Anthropic - Claude & Claude Search)

  4. PerplexityBot (Perplexity AI)

  5. Google-Extended (Google Gemini & Vertex AI)

  6. Applebot-Extended (Apple Intelligence & Siri)

  7. Bytespider (ByteDance & TikTok IA)

  8. CCBot (Common Crawl - Conjunto masivo de entrenamiento LLM)

Ejemplo de prompt en el chat:

"Verifica con sagrank_check_ai_crawlers si GPTBot y PerplexityBot tienen permiso de indexar mi web https://miweb.com."


4. sagrank_generate_fixes

Genera código listo para copiar y pegar para solventar las deficiencias detectadas.

Parámetros:

  • url (string, obligatorio): URL base del sitio.

  • nombre_sitio (string, opcional): Nombre de la marca o proyecto.

  • descripcion (string, opcional): Breve resumen de la propuesta de valor.

Archivos generados:

  1. /llms.txt: Archivo estándar en Markdown que guía a los LLMs sobre la estructura, propósito y APIs de tu web.

  2. Schema.org JSON-LD: Bloque estructurado con entidades WebSite, Organization y FAQPage.

  3. robots.txt: Directivas equilibradas que abren las puertas a los motores de IA mientras restringen áreas administrativas.


🏗️ Arquitectura y Flujo de Peticiones

+-------------------------------------------------------------+
|               Entorno de Desarrollo / IA                    |
|      (Cursor, Windsurf, Claude Desktop, Antigravity)        |
+-------------------------------------------------------------+
                              |
                     JSON-RPC sobre stdio
                              |
                              v
+-------------------------------------------------------------+
|                     sagrank-mcp (Local)                     |
|           Cliente ligero en Node.js (< 1 MB)                |
+-------------------------------------------------------------+
          /                                   \
     (HTTPS)                                 (HTTPS)
        v                                       v
+-----------------------+              +----------------------+
|  SAG RANK Cloud API   |              |  Google PageSpeed    |
|  (Vercel Serverless)  |              |  Insights API v5     |
|                       |              |                      |
| - AEO & Semántica     |              | - Core Web Vitals    |
| - GEO & EEAT Signals  |              | - FCP, LCP, TBT, CLS |
| - AI Bots robots.txt  |              | - Score Rendimiento  |
| - SPA / CSR Detection |              | - SEO On-Page        |
| - Security Headers    |              +----------------------+
+-----------------------+

⚙️ Variables de Entorno Opcionales

Puedes configurar variables de entorno para personalizar el comportamiento del servidor:

Variable

Descripción

Valor por defecto

SAGRANK_API_URL

URL del endpoint de diagnóstico de SAG RANK

https://sag-rank-blue.vercel.app/api/diagnostico

PAGESPEED_API_KEY

Clave API de Google Cloud para PageSpeed Insights

(Opcional, utiliza llamadas públicas si no se define)


💻 Desarrollo Local

Si deseas contribuir o modificar el servidor MCP:

# 1. Clonar el repositorio
git clone https://github.com/Kreiros/sagrank-mcp.git
cd sagrank-mcp

# 2. Instalar dependencias
npm install

# 3. Probar en modo desarrollo
npm start

📄 Licencia

Distribuido bajo la Licencia MIT. Consulta LICENSE para más detalles.


Desarrollado con ❤️ por Kreiros • Potenciado por SAG RANK

Available Tools

4 tools
sagrank_auditB

Audita un sitio web completo con el algoritmo oficial de SAG RANK. Calcula el Score Global (0-100), Core Web Vitals (FCP, LCP, TBT, CLS), SEO On-Page, AEO (Answer Engine Optimization con Schema y Semántica), GEO (Generative Engine Optimization con EEAT y Q&A), estado de 8 bots de IA en robots.txt, detección de SPA/CSR, y entrega las prioridades de optimización.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLa URL completa o dominio del sitio web a auditar (ej. 'https://miweb.com' o 'miweb.com').
psi_keyNoOpcional: Clave personal de Google PageSpeed Insights API para evitar límites de cuota.
estrategiaNoEstrategia de análisis de rendimiento: 'mobile' (predeterminado) o 'desktop'.mobile

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for disclosing side effects, permissions, or destructive actions. It only describes the audit as a calculation and reporting activity, but does not explicitly state whether it is read-only, whether it makes network requests, or if there are any rate limits or costs. There is no contradiction, but transparency is lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, moderately long sentence that packs a lot of information. It is clear and free of fluff, but the list of outputs is quite extensive and could be structured into bullet points for easier scanning. Overall, it is still concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main functionality and outputs comprehensively, listing all major audit components. It does not mention the output format or any limitations, but since there is no output schema, this is not strictly required. Given the complexity, the description is fairly complete, though it could benefit from a note about response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all three parameters have descriptions), so the baseline is 3. The tool description does not add extra semantic detail about parameters beyond what the schema already provides. The schema itself adequately explains 'url', 'psi_key', and 'estrategia'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it audits a website using the official SAG RANK algorithm. It enumerates the specific outputs (Global Score, Core Web Vitals, SEO On-Page, AEO, GEO, AI bot status, SPA/CSR detection, optimization priorities), making the functionality unambiguous. This distinctively differentiates it from sibling tools like 'compare' or 'generate_fixes'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus the siblings. It does not mention scenarios such as 'use for a comprehensive audit' or 'use sagrank_compare for side-by-side comparisons'. The list of features implies a full audit, but no direct comparison or exclusion is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sagrank_check_ai_crawlersB

Verifica específicamente el acceso de los 8 principales rastreadores y motores de IA (GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, Bytespider, CCBot) en el robots.txt del sitio web. Indica si están Permitidos, Bloqueados o Restringidos y las directivas exactas.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLa URL o dominio del sitio web a inspeccionar.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It states the action (checks robots.txt) and the output (status per crawler) but does not mention whether the operation is read-only, if it requires permissions, what happens if robots.txt is missing, or any side effects. This leaves the agent without key behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the main purpose, lists the specific crawlers, and states the output. No filler or redundancy; every word contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema, the description adequately explains what the tool returns (status and exact directives). It covers the scope (8 crawlers) and the action. However, it does not address edge cases like missing robots.txt, redirects, or error handling, but for a focused check tool this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single parameter (url) with a clear description ('La URL o dominio del sitio web a inspeccionar.'). The tool description does not add additional meaning beyond that, but with 100% schema coverage, the baseline of 3 is appropriate. No extra guidance on URL format or validation is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: checking the access status of 8 specific AI crawlers in a website's robots.txt, and it explicitly lists the crawlers and the types of outcomes (Permitidos, Bloqueados, Restringidos). This verb+resource specificity distinguishes it from siblings like sagrank_audit (broader audit) and sagrank_compare (comparison).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not mention when to use this tool versus alternatives, nor does it provide any exclusions or context for selection. It simply describes the action without guiding the agent on appropriate scenarios or trade-offs compared to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sagrank_compareA

Compara competitivamente dos sitios web (Sitio A vs Sitio B) con SAG RANK. Genera una tabla comparativa exhaustiva lado a lado: Score Global SAG RANK, Core Web Vitals, SEO, AEO (Schema & Semántica), GEO (EEAT & Citabilidad), Acceso de Bots de IA, llms.txt, detección SPA/CSR, y concluye con el ganador y las fortalezas competitivas clave de cada uno.

ParametersJSON Schema
NameRequiredDescriptionDefault
url1YesPrimera URL a comparar (Sitio A o web principal).
url2YesSegunda URL a comparar (Sitio B o competidor directo).
psi_keyNoOpcional: Clave de Google PageSpeed Insights API.
estrategiaNoEstrategia de análisis: 'mobile' (predeterminado) o 'desktop'.mobile

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full responsibility for disclosing side effects, permissions, or non-destructive behavior. It only describes the output (a comparison table) without mentioning whether it performs read-only analysis, accesses external APIs (other than the optional PSI key), or has rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-organized sentence that lists all comparison dimensions. It is slightly verbose due to the detailed enumeration, but remains focused and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides a full picture of what the tool does and what output to expect (comparison table, winner, strengths). It does not mention any prerequisites or dependencies, but these are not necessary for the core understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides clear descriptions for all 4 parameters (url1, url2, psi_key, estrategia) with enum values for estrategia. The description adds no additional meaning to the parameters, so it stays at the baseline for fully covered schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's function: comparing two websites and generating a side-by-side comparison table. It is distinct from sibling tools (audit, check_ai_crawlers, generate_fixes) by clearly targeting pairwise competitive analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly defines the use case: use when you need a competitive head-to-head comparison of two sites. However, it does not explicitly contrast with siblings (e.g., 'use this instead of sagrank_audit when comparing two URLs'), leaving some room for inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sagrank_generate_fixesA

Genera código y archivos listos para producción para solucionar problemas detectados por SAG RANK: 1) Archivo /llms.txt estándar optimizado para modelos de lenguaje, 2) Datos estructurados Schema.org JSON-LD (WebSite, Organization, FAQPage), y 3) Archivo robots.txt balanceado que permite el rastreo de IA protegiendo rutas privadas.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL del sitio web para personalizar metadatos y enlaces.
descripcionNoOpcional: Breve descripción del negocio o contenido del sitio.
nombre_sitioNoOpcional: Nombre de la marca o proyecto.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states that it generates code and files, but does not clarify whether it writes to the filesystem or returns the content, nor does it mention side effects, authentication, or rate limits. The behavior is partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, consisting of two sentences that efficiently convey the tool's purpose and the three deliverables. No unnecessary fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 3 parameters and no output schema, the description provides enough context to understand what the tool does and what it produces. It does not specify return format or error handling, but these are not critical for basic usage. The listing of the three outputs gives sufficient completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions cover 100% of the parameters (url, descripcion, nombre_sitio) with clear meaning. The tool description text itself does not add extra parameter semantics beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates production-ready code and files to fix problems detected by SAG RANK, and explicitly lists the three specific outputs (llms.txt, Schema.org JSON-LD, robots.txt). This distinguishes it from sibling audit/compare/check tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when issues are found by SAG RANK audit, but does not explicitly mention alternatives or prerequisites. It gives enough context for an agent to infer when to use this tool versus the audit/compare tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedsagrank_audit
    • First observedsagrank_check_ai_crawlers
    • First observedsagrank_compare
    • First observedsagrank_generate_fixes

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly defined purpose: single-site audit, two-site comparison, dedicated AI-crawler access check, and fix generation. Even where audit and compare mention bot status, the descriptions make their different scopes unambiguous.

Naming Consistency4/5

All tool names share the clear sagrank_ prefix and use snake_case, giving the set a cohesive feel. However, sagrank_audit and sagrank_compare are bare verbs while the other two follow a verb_noun pattern, which is a minor inconsistency.

Tool Count5/5

Four tools is a well-scoped count for a specialized SAG RANK auditing server. Each tool has a distinct role, and the set avoids both bloat and an overly thin surface.

Completeness4/5

The tool set covers the core workflow: audit a site, compare sites, inspect AI crawler access, and generate actionable fixes. Minor gaps exist, such as no explicit re-audit or page-level audit tool, but agents can work around them using the provided tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Lets any AI agent audit any website for SEO, GEO/AEO, and speed problems, reporting issues and recommendations without modifying the site.
    4
    MIT
  • -
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to perform comprehensive SEO and GEO measurements, including site audits, keyword research, ranking tracking, and brand visibility analysis across search engines and generative AI platforms.
    -