Serpstat API MCP Server

Un servidor TypeScript que integra la API de SEO de Serpstat con el Protocolo de Contexto de Modelo (MCP) de Anthropic, permitiendo que asistentes de IA como Claude accedan a datos SEO completos y herramientas de análisis.

Documentación

Servidor MCP de Serpstat

npm version MCP Badge License: MIT

Un servidor TypeScript que integra la API SEO de Serpstat con el Protocolo de Contexto de Modelo (MCP) de Anthropic, permitiendo que asistentes de IA como Claude accedan a datos SEO completos y herramientas de análisis.

Tabla de Contenidos

Acerca de MCP

El Protocolo de Contexto de Modelo (MCP) es un estándar abierto desarrollado por Anthropic que permite a los asistentes de IA conectarse de forma segura a fuentes de datos y herramientas externas. Este servidor implementa MCP para proporcionar a Claude y otros asistentes de IA compatibles acceso a la potente API de análisis SEO de Serpstat.

Descripción

Este proyecto implementa un servidor TypeScript que proporciona una interfaz API para trabajar con herramientas de Serpstat mediante el protocolo MCP. El servidor admite manejo de solicitudes, validación de parámetros, registro de eventos y trabajo con múltiples herramientas de análisis SEO.

Características

  • 🔍 Análisis SEO Integral: Acceso a información de dominios, investigación de palabras clave, análisis de competidores y datos de backlinks
  • ✅ Validación de Entradas: Validación robusta de parámetros usando esquemas Zod
  • 📊 Registro de Eventos: Registro detallado con Winston para depuración y monitoreo
  • ⚙️ Configuración Flexible: Configuración basada en variables de entorno con valores predeterminados sensatos
  • 🧪 Bien Probado: Pruebas Jest para validación de parámetros y lógica de negocio
  • 🚀 TypeScript: Seguridad total de tipos en todo el código base

Requisitos Previos

  • Node.js 18.0.0 o superior (Descargar Node.js)
  • Token válido de API de Serpstat (obtenga uno en Serpstat)
  • Asistente de IA compatible: Claude Desktop, Gemini CLI, o cualquier cliente compatible con MCP

Instalación

Instalación Global (Recomendada)

npm install -g @serpstat/serpstat-mcp-server

Instalación Local

npm install @serpstat/serpstat-mcp-server

Configuración

Variables de Entorno

Establezca las siguientes variables de entorno (pueden estar en un archivo .env):

  • SERPSTAT_API_TOKEN — Su token de API de Serpstat (requerido)
  • SERPSTAT_API_URL — URL de la API de Serpstat (predeterminado: https://api.serpstat.com/v4)
  • LOG_LEVEL — Nivel de registro: error, warn, info, debug (predeterminado: info)
  • SERPSTAT_ENABLED_CATEGORIES — Filtrar herramientas por categorías (opcional, separadas por comas, predeterminado: todas las categorías habilitadas)

Configuración de Claude Desktop y Gemini CLI

Agregue a su archivo de configuración de Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

Agregue a su configuración de Gemini CLI:

Linux: ~/.gemini/settings.json

{
   "mcpServers": {
      "serpstat": {
         "command": "npx",
         "args": ["-y", "@serpstat/serpstat-mcp-server"],
         "env": {
            "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE",
            "LANG": "en_US.UTF-8",
            "LC_ALL": "en_US.UTF-8"
         }
      }
   }
}

Para desarrollo local, use la ruta completa:

{
  "mcpServers": {
    "serpstat": {
      "command": "node",
      "args": ["/path/to/node_modules/serpstat-mcp-server/dist/index.js"],
      "env": {
        "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE"
      }
    }
  }
}

Filtrado de Herramientas por Categoría

Puede limitar qué herramientas están disponibles especificando la variable de entorno SERPSTAT_ENABLED_CATEGORIES. Esto es útil para:

  • Reducir el uso de la ventana de contexto en asistentes de IA
  • Enfocarse en áreas específicas de análisis SEO
  • Crear configuraciones especializadas para diferentes casos de uso

Categorías disponibles:

  • domain - Herramientas de análisis de dominios (información de dominio, competidores, palabras clave del dominio, etc.)
  • keywords - Herramientas de investigación de palabras clave (sugerencias de palabras clave, volumen de búsqueda, dificultad, etc.)
  • backlinks - Herramientas de análisis de backlinks (resumen de backlinks, anclas, dominios de referencia, etc.)
  • url - Herramientas de análisis de URL (tráfico de URL, competidores, palabras clave, etc.)
  • projects - Herramientas de gestión de proyectos (crear, listar, eliminar proyectos)
  • credits - Herramientas de monitoreo de créditos y uso
  • rt - Herramientas de seguimiento de posiciones (historial de posiciones, seguimiento SERP, etc.)
  • audit - Herramientas de auditoría de sitios (auditoría SEO completa del sitio, informes de errores, etc.)
  • page-audit - Herramientas de auditoría de una página (análisis de página individual, SEO en página, etc.)

Ejemplo: Habilitar solo herramientas de palabras clave y dominios

{
  "mcpServers": {
    "serpstat": {
      "command": "npx",
      "args": ["-y", "@serpstat/serpstat-mcp-server"],
      "env": {
        "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE",
        "SERPSTAT_ENABLED_CATEGORIES": "keywords,domain"
      }
    }
  }
}

Ejemplo: Habilitar solo análisis de backlinks

{
  "mcpServers": {
    "serpstat": {
      "command": "npx",
      "args": ["-y", "@serpstat/serpstat-mcp-server"],
      "env": {
        "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE",
        "SERPSTAT_ENABLED_CATEGORIES": "backlinks"
      }
    }
  }
}

Comportamiento predeterminado (todas las herramientas habilitadas):

Si SERPSTAT_ENABLED_CATEGORIES no se especifica o está vacío, todas las herramientas están disponibles (65 herramientas en total en todas las categorías).

Ejemplos de Uso

Después de la instalación y configuración en Claude Desktop, puede pedirle a Claude:

Análisis de Dominios

  • "Muéstrame información del dominio para example.com"
  • "Encuentra competidores para my-site.com en Google US"
  • "Obtén las 50 palabras clave principales por las que example.com aparece en rankings"

Investigación de Mercado

  • "Muéstrame todas las categorías de investigación de mercado disponibles"
  • "Encuentra los dominios principales en la categoría 'E-commerce' para Google US"
  • "Obtén los 20 dominios principales en la categoría '/Artes y Entretenimiento/TV y Video' ordenados por tráfico"
  • "Analiza el panorama competitivo en la categoría 'Negocios e Industrial' con dominios que tengan SDR superior a 50"
  • "Encuentra los actores líderes en el mercado 'Salud y Fitness' con un mínimo de 100k de tráfico mensual"

Investigación de Palabras Clave

  • "Encuentra palabras clave relacionadas con 'marketing digital'"
  • "Obtén sugerencias de palabras clave para 'iphone 15' excluyendo palabras clave 'renta'"
  • "Obtén datos completos de palabras clave para [ iphone, samsung, googel pixel ] incluyendo volumen de búsqueda, CPC y dificultad"

Análisis de Competidores

  • "Muéstrame dominios competidores que aparecen en rankings para la palabra clave pizza delivery con métricas de visibilidad"
  • "Obtén los principales resultados de búsqueda para la palabra clave laptop computers mostrando posiciones, dominios y características SERP"
  • "Obtén palabras clave únicas para domain1.com vs domain2.com"

Análisis de Backlinks

  • "Analiza el resumen de backlinks para domain.com"
  • "Obtén análisis de texto de anclas para los backlinks de domain.com"
  • "Obtén backlinks activos para domain.com mostrando páginas de enlace y URLs de destino"
  • "Obtén dominios de referencia para domain.com con métricas de autoridad de dominio"
  • "Obtén backlinks perdidos para domain.com mostrando enlaces eliminados y fechas de eliminación"
  • "Obtén las 10 anclas principales para domain.com con recuentos de backlinks y dominios de referencia"
  • "Obtén la intersección de backlinks para domain.com vs competitor1.com y competitor2.com mostrando dominios de referencia compartidos"
  • "Obtén backlinks de amenaza para domain.com mostrando enlaces maliciosos de sitios marcados por amenazas de seguridad"

Gestión de Proyectos

  • "Crea un nuevo proyecto para example.com llamado Mi Proyecto SEO"
  • "Lista todos mis proyectos con paginación"
  • "Elimina el proyecto con ID 1234567"

Monitoreo de Créditos y Uso

  • "Muéstrame mis estadísticas de créditos de auditoría"
  • "Verifica mi uso de créditos de API y la cuota restante"

Seguimiento de Posiciones

  • "Lista todos mis proyectos de seguimiento de posiciones"
  • "Verifica el estado de análisis para el proyecto 12345 en la región 2840"

Auditoría de Sitios

  • "Obtén la configuración de auditoría para el proyecto 1113915"
  • "Inicia la auditoría del sitio para el proyecto 1113915"
  • "Detén la auditoría del sitio para el proyecto 1113915"

Herramientas MCP

Herramientas de Análisis de Dominios

Nombre de la HerramientaDescripciónParámetros Clave
get_domains_infoObtener información SEO para múltiples dominiosdomains, se, filters
get_domain_competitorsObtener lista de dominios competidoresdomain, se, size, filters
get_domain_keywordsObtener palabras clave por las que el dominio aparece en rankingsdomain, se, page, size
get_domain_urlsObtener URLs dentro de un dominio y sus recuentos de palabras clavedomain, se, page, size
get_domain_regions_countObtener recuento de palabras clave por región para un dominiodomain, sort, order
get_domain_uniq_keywordsObtener palabras clave únicas para dos dominios no clasificadas por un tercer dominiose, domains, minusDomain
get_market_categoriesObtener lista completa de más de 1000 categorías de investigación de mercadonone
get_category_top_domainsObtener dominios de mejor rendimiento en una categoría de mercado específica con métricas SEOcategory_id, se, filters, sort, page, size

Herramientas de Investigación de Palabras Clave

Nombre de la HerramientaDescripciónParámetros Clave
get_keywordsObtener palabras clave orgánicas relacionadas para una palabra clave dadakeyword, se, filters
get_related_keywordsObtener palabras clave semánticamente relacionadas con datos de frecuencia, CPC, competencia y dificultadkeyword, se, filters, sort
get_keyword_suggestionsObtener sugerencias de búsqueda para una palabra clave usando búsqueda de texto completo con información de nombres geográficoskeyword, se, filters
get_keywords_infoObtener resumen de palabras clave con volumen, CPC, competencia, dificultad y características SERPkeywords, se, withIntents
get_keyword_full_topObtener los 100 principales resultados de búsqueda de Google para palabras clave analizadaskeyword, se, size
get_keyword_top_urlsObtener páginas web que aparecen en rankings para la mayor cantidad de variaciones de palabras clave analizadaskeyword, se, page, page_size
get_keyword_competitorsObtener dominios que aparecen en rankings para la palabra clave dada en los 20 principales resultados de Google con análisis de competidoreskeyword, se, filters, sort
get_keyword_topObtener los 100 principales resultados de búsqueda de Google para la palabra clave analizada con posición, URL y características SERPkeyword, se, filters, size

Herramientas de Análisis de URL

Nombre de la HerramientaDescripciónParámetros Clave
get_url_summary_traffObtener estadísticas de tráfico y palabras clave para páginas web que coinciden con una máscara de URL específicase, domain, urlContains
get_url_competitorsObtener lista de competidores de URL mostrando dominios que compiten por las mismas palabras clave en los 10 principales resultadosse, url, sort, page
get_url_keywordsObtener palabras clave para las cuales la URL especificada aparece en los 100 principales resultados de Google y los 50 principales de Bingse, url, filters, sort
get_url_missing_keywordsObtener palabras clave por las que los competidores aparecen en rankings pero la URL dada no, identificando brechas de palabras claveurl, se, filters, sort

Herramientas de Análisis de Backlinks

Nombre de la HerramientaDescripciónParámetros Clave
get_backlinks_summaryObtén un resumen completo de backlinks con dominios de referencia, métricas de calidad y cambiosdomain, subdomain
get_anchorsObtén análisis de texto ancla para backlinks con métricas de dominios de referencia y backlinksquery, searchType, anchor, sort
get_active_backlinksObtén una lista de backlinks activos que muestre páginas de enlace, páginas de destino y atributos de enlacequery, searchType, sort, page
get_referring_domainsObtén una lista de dominios de referencia con métricas de rango de dominio y número de páginas de referenciaquery, searchType, sort, page
get_lost_backlinksObtén una lista de backlinks perdidos que muestre páginas de enlace, páginas de destino y fechas de eliminaciónquery, searchType, sort, page
get_top_pages_by_backlinksObtén una lista de las mejores páginas por backlinks con varios parámetros de filtrado y ordenaciónquery, searchType, sort, size
get_top10_anchorsObtén los 10 mejores anclas con el número de backlinks y dominios de referenciaquery, searchType
get_backlinks_intersectionObtén backlinks de dominios que enlazan a múltiples sitios analizados para análisis competitivoquery, intersect, sort, page
get_active_outlinksObtén enlaces salientes activos de un dominio o URL con URLs de destino y texto anclaquery, searchType, sort, filters
get_active_outlink_domainsObtén dominios externos que reciben enlaces salientes del dominio analizadoquery, searchType, sort, filters
get_threat_backlinksObtén backlinks maliciosos que apuntan al dominio analizado desde sitios marcados por amenazas de seguridadquery, searchType, sort, filters

Herramientas de Gestión de Proyectos

Nombre de la HerramientaDescripciónParámetros Clave
create_projectCrea un nuevo proyecto en Serpstat para el seguimiento de métricas SEO y auditorías de sitiosdomain, name, groups
delete_projectElimina un proyecto existente de Serpstat por ID de proyectoproject_id
list_projectsRecupera una lista de proyectos asociados a la cuenta con paginaciónpage, size

Herramientas de Créditos y Monitoreo de Uso

Nombre de la HerramientaDescripciónParámetros Clave
get_credits_for_audit_statsConsulta los créditos de auditoría disponibles (auditoría de una página, escaneo de JavaScript, límites de rastreo) Sin costonone
get_credits_statsConsulta el uso de créditos de API, información de cuenta y límites de complementos del navegador Sin costonone

Herramientas de Seguimiento de Posiciones

Nombre de la HerramientaDescripciónParámetros Clave
get_rt_projects_listObtén proyectos de seguimiento de posiciones con ID, nombre, dominio, fecha de creación y estado de seguimiento Sin costopage, pageSize
get_rt_project_statusComprueba si el proyecto de seguimiento de posiciones está analizando (true=procesando, false=listo) Sin costoprojectId, regionId
get_rt_project_regions_listObtén la lista de regiones para un proyecto de seguimiento de posiciones con estado, tipo de SERP, dispositivo y ubicación Sin costoprojectId
get_rt_project_keyword_serp_historyObtén el historial de SERP de los 100 principales de Google para palabras clave de seguimiento de posiciones con posiciones y URLs Sin costoprojectId, projectRegionId, page
get_rt_project_url_serp_historyObtén el historial de posiciones de URLs para palabras clave de seguimiento de posiciones con datos históricos de posición Sin costoprojectId, projectRegionId, page

Herramientas de Auditoría de Sitios

Nombre de la HerramientaDescripciónParámetros Clave
get_site_audit_settingsObtén la configuración de auditoría para un proyecto, incluidos parámetros de escaneo, programación y umbrales de error Sin costoprojectId
set_site_audit_settingsActualiza la configuración de auditoría para un proyecto con configuración de escaneo, programación y notificaciones Sin costoprojectId, mainSettings, ...
start_site_auditInicia una sesión de auditoría para un proyecto y recibe reportId para el seguimiento del progreso (1 crédito/página, 10 créditos/página con renderizado JS)projectId
stop_site_auditDetén la sesión de auditoría activa para un proyecto Sin costoprojectId
get_site_audit_results_by_categoriesObtén estadísticas de resultados de auditoría agrupadas por categorías de problemas (estado de páginas, metaetiquetas, enlaces, etc.) Sin costoreportId
get_site_audit_historyObtén datos históricos de recuento de errores para un tipo de error específico en múltiples informes de auditoría Sin costoprojectId, errorName, limit, offset
get_site_audits_listObtén la lista de todos los informes de auditoría para un proyecto con estadísticas resumidas e información de progreso Sin costoprojectId, limit, offset
get_site_audit_scanned_urls_listObtén la lista de URLs que se escanearán según la configuración de escaneo del proyecto Sin costoprojectId
get_site_audit_project_default_settingsObtén la plantilla de configuración de auditoría predeterminada para usar al crear nuevos proyectos Sin costo-
get_site_audit_bref_infoObtén información resumida esencial de la última auditoría, incluida la puntuación SDO, recuentos de problemas por prioridad, progreso del escaneo y estado de finalización Sin costoreportId
get_site_audit_deteailed_reportObtén el número de errores categorizados por tipo con comparación con el informe anterior mostrando countAll, countNew y countFixed Sin costoreportId, compareReportId (opcional)
get_site_audit_pages_spec_errorsObtén la lista de todas las páginas donde se detectó un error específico con filtrado por modo (todos/nuevos/resueltos) y soporte de paginación Sin costoreportId, compareReportId, projectId, errorName, mode, limit, offset
get_site_audit_elements_with_issuesObtén la lista de subelementos (URLs) que contienen errores específicos usando CRC de la respuesta de get_site_audit_pages_spec_errors Sin costoreportId, projectId, errorName, crc, compareReportId (opcional), mode, limit, offset

Herramientas de Auditoría de Una Página

Nombre de la herramientaDescripciónParámetros clave
page_audit_start_scanEscanea una sola página web con renderizado de JavaScript. Devuelve pageId y reportId para el seguimiento. Usa page_audit_get_reports_for_page para verificar el progreso mediante los campos status y progress (10 créditos por escaneo)name, url, userAgent (recomendado: 0 para Chrome), httpAuthLogin (opcional), httpAuthPass (opcional)
page_audit_get_last_scansObtén la lista de todos los proyectos de auditoría de una página con pageId, url, name, status, lastActiveReport (resultados del último escaneo con puntuación SDO), finishedReportCount, settings Sin costolimit (opcional, predeterminado 30), offset (opcional, predeterminado 0), teamMemberId (opcional)
page_audit_get_reports_for_pageObtén el historial de todos los informes de auditoría para una página específica con reportId, auditDate, status (1=en progreso, 3=finalizando, 4=completado), puntuación SDO (0-100), conteos de errores, progreso (0-100) Sin costopageId, limit (opcional), offset (opcional)
page_audit_get_results_reportObtén resultados detallados de auditoría con un array de categorías (errores agrupados por meta_tags, headings, content, multimedia, https, pagespeed_desktop/mobile, etc.), indicador hasAdditionRows para disponibilidad de desglose Sin costopageId (de page_audit_get_last_scans o page_audit_start_scan)
page_audit_rescanVuelve a escanear un proyecto de auditoría de una página existente y crea un nuevo informe de auditoría. Devuelve reportId. Haz seguimiento del progreso mediante page_audit_get_reports_for_page (10 créditos por nuevo escaneo)pageId, name, userAgent (recomendado: 0 para Chrome), httpAuthLogin (opcional), httpAuthPass (opcional)
page_audit_stopDetiene un escaneo de auditoría de una página activo. Devuelve un booleano que indica éxito Sin costopageId
page_audit_deleteElimina permanentemente un proyecto de auditoría de una página de la lista de proyectos del cliente. Devuelve un booleano Sin costopageId
page_audit_get_report_by_categoriesObtén resultados de auditoría por categorías para un informe específico. Usa compareReportId para ver countNew (errores añadidos) y countFixed (errores resueltos) Sin costoreportId, compareReportId (opcional, habilita el seguimiento de cambios)
page_audit_report_drill_downObtén una lista detallada de elementos problemáticos. SOLO funciona para errores con hasAdditionRows=true. La respuesta varía según el tipo de error (por ejemplo, URLs de imágenes para errores multimedia) Sin costoreportId, error (debe coincidir con error.key), mode (all/new/solved, opcional), compareReportId (opcional), page (opcional), size (opcional, máx. 1000)
page_audit_get_scan_namesObtén la lista de todos los nombres de proyectos de auditoría de una página con pageId, name, url, finishedReportCount para el descubrimiento de proyectos Sin costoteamMemberId (opcional)
page_audit_scan_logsObtén un registro cronológico de eventos de escaneo con message (nombre del evento), type (info/warning/error), params (datos específicos del evento o []), timestamp created_at para depuración Sin costoreportId (opcional, todos los escaneos si no se especifica), page (opcional, predeterminado 0), pageSize (opcional, predeterminado 100)

Motores de búsqueda (parámetro se)

Códigos comunes de motores de búsqueda:

  • g_us - Google EE. UU.
  • g_uk - Google Reino Unido
  • g_ca - Google Canadá
  • g_au - Google Australia
  • g_de - Alemania
  • g_fr - Google Francia
  • g_es - Google España
  • g_it - Google Italia
  • g_pl - Google Polonia
  • g_ua - Google Ucrania

Consulta la lista completa de Nombres cortos de motores de búsqueda

Solución de problemas

Problemas comunes

"Comando no encontrado: serpstat-mcp-server"

  • Asegúrate de haber instalado el paquete globalmente con -g
  • Verifica que tu PATH incluya los binarios globales de npm: npm config get prefix
  • Intenta reinstalar: npm uninstall -g @serpstat/serpstat-mcp-server && npm install -g @serpstat/serpstat-mcp-server

"Error de token de API" o "No autorizado"

  • Verifica que SERPSTAT_API_TOKEN esté configurado correctamente en tu entorno
  • Confirma que tu token sea válido y esté activo en tu cuenta de Serpstat
  • Asegúrate de que tu token tenga suficientes créditos y permisos de API

Errores de "Módulo no encontrado"

  • Asegúrate de que todas las dependencias estén instaladas: npm install
  • Intenta reconstruir: npm run clean && npm run build

Claude Desktop no reconoce el servidor

  • Reinicia Claude Desktop después de los cambios de configuración
  • Verifica la ruta del archivo de configuración y la sintaxis JSON
  • Confirma que el servidor se inicie correctamente: ejecuta serpstat-mcp-server en la terminal

"No se puede encontrar npx"

Errores de límite de velocidad

  • La mayoría de los planes de Serpstat tienen un límite de 1 RPS (1 solicitud por segundo)
  • Espera entre solicitudes o contacta al soporte de Serpstat para límites más altos
  • Revisa tu uso de API en el panel de Serpstat

Modo de depuración

Habilita el registro de depuración configurando:

export LOG_LEVEL=debug

O en tu configuración de Claude Desktop:

{
   "mcpServers": {
      "serpstat": {
         "command": "npx",
         "args": ["-y", "@serpstat/serpstat-mcp-server"],
         "env": {
            "SERPSTAT_API_TOKEN": "YOUR_TOKEN_HERE",
            "LANG": "en_US.UTF-8",
            "LC_ALL": "en_US.UTF-8",
            "LOG_LEVEL": "debug"
         }
      }
   }
}

Desarrollo

Primeros pasos

  1. Clona el repositorio:

    git clone git@github.com:SerpstatGlobal/serpstat-mcp-server-js.git
    cd serpstat-mcp-server-js
    
  2. Instala las dependencias:

    npm install
    
  3. Configura las variables de entorno:

    cp .env.example .env
    # Edit .env with your Serpstat API token
    
  4. Compila el proyecto:

    npm run build
    
  5. Inicia el servidor:

    npm start
    
  6. Para el modo de desarrollo (recarga automática):

    npm run dev
    

Pruebas

Para ejecutar las pruebas:

npm test

Ejecuta un archivo de prueba específico:

npx jest src/__tests__/services/keyword_tools.test.ts

Ejecuta una prueba específica por nombre:

npx jest --testNamePattern="methodName"

Scripts

  • npm run build — Compila fuentes de TypeScript a JavaScript (salida en dist/)
  • npm start — Ejecuta el servidor compilado desde dist/
  • npm run dev — Ejecuta el servidor en modo de desarrollo con recarga en caliente
  • npm test — Ejecuta todas las pruebas
  • npm run lint — Ejecuta el linting
  • npm run clean — Limpia el directorio de compilación

Estructura del proyecto

serpstat-mcp-server/
├── src/
│   ├── index.ts          # Entry point
│   ├── server.ts         # Main MCP server
│   ├── handlers/         # Tool handlers
│   ├── services/         # Services for Serpstat API
│   ├── types/            # Data types
│   ├── utils/            # Utilities (config, logger, validation)
│   └── __tests__/        # Tests
├── dist/                 # Compiled JavaScript (after build)
├── package.json
├── tsconfig.json
├── README.md
└── .env.example

Límites de velocidad de API

Por defecto, la mayoría de los planes de Serpstat tienen 1 RPS (1 solicitud por segundo) - esto es suficiente para la mayoría de las tareas. Si necesitas mayor rendimiento, contacta al soporte de Serpstat para discutir mejoras de plan.

Importante: El servidor respeta los límites de velocidad automáticamente. Si encuentras errores de límite de velocidad, espera antes de realizar solicitudes adicionales.

Contribuciones

¡Agradecemos las contribuciones! Sigue estos pasos:

  1. Haz un fork del repositorio
  2. Crea una rama de funcionalidad: git checkout -b feature/amazing-feature
  3. Realiza tus cambios
  4. Añade pruebas para la nueva funcionalidad
  5. Asegúrate de que las pruebas pasen: npm test
  6. Haz commit de tus cambios: git commit -m 'Add amazing feature'
  7. Sube a la rama: git push origin feature/amazing-feature
  8. Envía una solicitud de extracción

Directrices de desarrollo

  • Sigue el estilo de código existente y las convenciones de TypeScript
  • Añade pruebas para nuevas funcionalidades
  • Actualiza la documentación según sea necesario
  • Usa mensajes de commit convencionales
  • Asegúrate de que todo el linting pase: npm run lint

Registro de cambios

Consulta CHANGELOG.md para detalles sobre los cambios en cada versión.

Soporte

La forma más efectiva de recibir soporte de Serpstat es usar su función de chat en vivo directamente dentro de la plataforma. Alternativamente, puedes enviar un correo a support@serpstat.com.

Agradecimientos

Licencia

Licencia MIT

Este proyecto está bajo la licencia MIT, lo que significa que puedes copiar, usar, modificar e incluso vender cualquier parte de este código sin problemas.

  • Consulta el archivo LICENSE para más detalles
  • ¿Quieres tomar una parte para tu proyecto? Adelante
  • ¿Quieres reescribir la mitad y lanzar un producto comercial? Siéntete libre
  • Lo único que necesitas hacer es no eliminar los derechos de autor y la licencia de los archivos que tomes, y recordar al equipo de Serpstat con una palabra amable cuando recibas ese cheque

Con amor, Equipo de I+D de Serpstat