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
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
- Requisitos Previos
- Instalación
- Configuración
- Ejemplos de Uso
- Herramientas MCP
- Solución de Problemas
- Desarrollo
- Límites de Tasa de API
- Contribuciones
- Soporte
- Licencia
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 usort- 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 deliverycon métricas de visibilidad" - "Obtén los principales resultados de búsqueda para la palabra clave
laptop computersmostrando 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 Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| get_domains_info | Obtener información SEO para múltiples dominios | domains, se, filters |
| get_domain_competitors | Obtener lista de dominios competidores | domain, se, size, filters |
| get_domain_keywords | Obtener palabras clave por las que el dominio aparece en rankings | domain, se, page, size |
| get_domain_urls | Obtener URLs dentro de un dominio y sus recuentos de palabras clave | domain, se, page, size |
| get_domain_regions_count | Obtener recuento de palabras clave por región para un dominio | domain, sort, order |
| get_domain_uniq_keywords | Obtener palabras clave únicas para dos dominios no clasificadas por un tercer dominio | se, domains, minusDomain |
| get_market_categories | Obtener lista completa de más de 1000 categorías de investigación de mercado | none |
| get_category_top_domains | Obtener dominios de mejor rendimiento en una categoría de mercado específica con métricas SEO | category_id, se, filters, sort, page, size |
Herramientas de Investigación de Palabras Clave
| Nombre de la Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| get_keywords | Obtener palabras clave orgánicas relacionadas para una palabra clave dada | keyword, se, filters |
| get_related_keywords | Obtener palabras clave semánticamente relacionadas con datos de frecuencia, CPC, competencia y dificultad | keyword, se, filters, sort |
| get_keyword_suggestions | Obtener sugerencias de búsqueda para una palabra clave usando búsqueda de texto completo con información de nombres geográficos | keyword, se, filters |
| get_keywords_info | Obtener resumen de palabras clave con volumen, CPC, competencia, dificultad y características SERP | keywords, se, withIntents |
| get_keyword_full_top | Obtener los 100 principales resultados de búsqueda de Google para palabras clave analizadas | keyword, se, size |
| get_keyword_top_urls | Obtener páginas web que aparecen en rankings para la mayor cantidad de variaciones de palabras clave analizadas | keyword, se, page, page_size |
| get_keyword_competitors | Obtener dominios que aparecen en rankings para la palabra clave dada en los 20 principales resultados de Google con análisis de competidores | keyword, se, filters, sort |
| get_keyword_top | Obtener los 100 principales resultados de búsqueda de Google para la palabra clave analizada con posición, URL y características SERP | keyword, se, filters, size |
Herramientas de Análisis de URL
| Nombre de la Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| get_url_summary_traff | Obtener estadísticas de tráfico y palabras clave para páginas web que coinciden con una máscara de URL específica | se, domain, urlContains |
| get_url_competitors | Obtener lista de competidores de URL mostrando dominios que compiten por las mismas palabras clave en los 10 principales resultados | se, url, sort, page |
| get_url_keywords | Obtener palabras clave para las cuales la URL especificada aparece en los 100 principales resultados de Google y los 50 principales de Bing | se, url, filters, sort |
| get_url_missing_keywords | Obtener palabras clave por las que los competidores aparecen en rankings pero la URL dada no, identificando brechas de palabras clave | url, se, filters, sort |
Herramientas de Análisis de Backlinks
| Nombre de la Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| get_backlinks_summary | Obtén un resumen completo de backlinks con dominios de referencia, métricas de calidad y cambios | domain, subdomain |
| get_anchors | Obtén análisis de texto ancla para backlinks con métricas de dominios de referencia y backlinks | query, searchType, anchor, sort |
| get_active_backlinks | Obtén una lista de backlinks activos que muestre páginas de enlace, páginas de destino y atributos de enlace | query, searchType, sort, page |
| get_referring_domains | Obtén una lista de dominios de referencia con métricas de rango de dominio y número de páginas de referencia | query, searchType, sort, page |
| get_lost_backlinks | Obtén una lista de backlinks perdidos que muestre páginas de enlace, páginas de destino y fechas de eliminación | query, searchType, sort, page |
| get_top_pages_by_backlinks | Obtén una lista de las mejores páginas por backlinks con varios parámetros de filtrado y ordenación | query, searchType, sort, size |
| get_top10_anchors | Obtén los 10 mejores anclas con el número de backlinks y dominios de referencia | query, searchType |
| get_backlinks_intersection | Obtén backlinks de dominios que enlazan a múltiples sitios analizados para análisis competitivo | query, intersect, sort, page |
| get_active_outlinks | Obtén enlaces salientes activos de un dominio o URL con URLs de destino y texto ancla | query, searchType, sort, filters |
| get_active_outlink_domains | Obtén dominios externos que reciben enlaces salientes del dominio analizado | query, searchType, sort, filters |
| get_threat_backlinks | Obtén backlinks maliciosos que apuntan al dominio analizado desde sitios marcados por amenazas de seguridad | query, searchType, sort, filters |
Herramientas de Gestión de Proyectos
| Nombre de la Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| create_project | Crea un nuevo proyecto en Serpstat para el seguimiento de métricas SEO y auditorías de sitios | domain, name, groups |
| delete_project | Elimina un proyecto existente de Serpstat por ID de proyecto | project_id |
| list_projects | Recupera una lista de proyectos asociados a la cuenta con paginación | page, size |
Herramientas de Créditos y Monitoreo de Uso
| Nombre de la Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| get_credits_for_audit_stats | Consulta los créditos de auditoría disponibles (auditoría de una página, escaneo de JavaScript, límites de rastreo) Sin costo | none |
| get_credits_stats | Consulta el uso de créditos de API, información de cuenta y límites de complementos del navegador Sin costo | none |
Herramientas de Seguimiento de Posiciones
| Nombre de la Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| get_rt_projects_list | Obtén proyectos de seguimiento de posiciones con ID, nombre, dominio, fecha de creación y estado de seguimiento Sin costo | page, pageSize |
| get_rt_project_status | Comprueba si el proyecto de seguimiento de posiciones está analizando (true=procesando, false=listo) Sin costo | projectId, regionId |
| get_rt_project_regions_list | Obtén la lista de regiones para un proyecto de seguimiento de posiciones con estado, tipo de SERP, dispositivo y ubicación Sin costo | projectId |
| get_rt_project_keyword_serp_history | Obtén el historial de SERP de los 100 principales de Google para palabras clave de seguimiento de posiciones con posiciones y URLs Sin costo | projectId, projectRegionId, page |
| get_rt_project_url_serp_history | Obtén el historial de posiciones de URLs para palabras clave de seguimiento de posiciones con datos históricos de posición Sin costo | projectId, projectRegionId, page |
Herramientas de Auditoría de Sitios
| Nombre de la Herramienta | Descripción | Parámetros Clave |
|---|---|---|
| get_site_audit_settings | Obtén la configuración de auditoría para un proyecto, incluidos parámetros de escaneo, programación y umbrales de error Sin costo | projectId |
| set_site_audit_settings | Actualiza la configuración de auditoría para un proyecto con configuración de escaneo, programación y notificaciones Sin costo | projectId, mainSettings, ... |
| start_site_audit | Inicia 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_audit | Detén la sesión de auditoría activa para un proyecto Sin costo | projectId |
| get_site_audit_results_by_categories | Obtén estadísticas de resultados de auditoría agrupadas por categorías de problemas (estado de páginas, metaetiquetas, enlaces, etc.) Sin costo | reportId |
| get_site_audit_history | Obtén datos históricos de recuento de errores para un tipo de error específico en múltiples informes de auditoría Sin costo | projectId, errorName, limit, offset |
| get_site_audits_list | Obtén la lista de todos los informes de auditoría para un proyecto con estadísticas resumidas e información de progreso Sin costo | projectId, limit, offset |
| get_site_audit_scanned_urls_list | Obtén la lista de URLs que se escanearán según la configuración de escaneo del proyecto Sin costo | projectId |
| get_site_audit_project_default_settings | Obtén la plantilla de configuración de auditoría predeterminada para usar al crear nuevos proyectos Sin costo | - |
| get_site_audit_bref_info | Obté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 costo | reportId |
| get_site_audit_deteailed_report | Obtén el número de errores categorizados por tipo con comparación con el informe anterior mostrando countAll, countNew y countFixed Sin costo | reportId, compareReportId (opcional) |
| get_site_audit_pages_spec_errors | Obté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 costo | reportId, compareReportId, projectId, errorName, mode, limit, offset |
| get_site_audit_elements_with_issues | Obtén la lista de subelementos (URLs) que contienen errores específicos usando CRC de la respuesta de get_site_audit_pages_spec_errors Sin costo | reportId, projectId, errorName, crc, compareReportId (opcional), mode, limit, offset |
Herramientas de Auditoría de Una Página
| Nombre de la herramienta | Descripción | Parámetros clave |
|---|---|---|
| page_audit_start_scan | Escanea 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_scans | Obté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 costo | limit (opcional, predeterminado 30), offset (opcional, predeterminado 0), teamMemberId (opcional) |
| page_audit_get_reports_for_page | Obté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 costo | pageId, limit (opcional), offset (opcional) |
| page_audit_get_results_report | Obté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 costo | pageId (de page_audit_get_last_scans o page_audit_start_scan) |
| page_audit_rescan | Vuelve 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_stop | Detiene un escaneo de auditoría de una página activo. Devuelve un booleano que indica éxito Sin costo | pageId |
| page_audit_delete | Elimina permanentemente un proyecto de auditoría de una página de la lista de proyectos del cliente. Devuelve un booleano Sin costo | pageId |
| page_audit_get_report_by_categories | Obté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 costo | reportId, compareReportId (opcional, habilita el seguimiento de cambios) |
| page_audit_report_drill_down | Obté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 costo | reportId, error (debe coincidir con error.key), mode (all/new/solved, opcional), compareReportId (opcional), page (opcional), size (opcional, máx. 1000) |
| page_audit_get_scan_names | Obté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 costo | teamMemberId (opcional) |
| page_audit_scan_logs | Obté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 costo | reportId (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 Unidog_ca- Google Canadág_au- Google Australiag_de- Alemaniag_fr- Google Franciag_es- Google Españag_it- Google Italiag_pl- Google Poloniag_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_TOKENesté 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-serveren la terminal
"No se puede encontrar npx"
- Necesitas instalar Node.js - descarga e instala Node.js
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
-
Clona el repositorio:
git clone git@github.com:SerpstatGlobal/serpstat-mcp-server-js.git cd serpstat-mcp-server-js -
Instala las dependencias:
npm install -
Configura las variables de entorno:
cp .env.example .env # Edit .env with your Serpstat API token -
Compila el proyecto:
npm run build -
Inicia el servidor:
npm start -
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 endist/)npm start— Ejecuta el servidor compilado desdedist/npm run dev— Ejecuta el servidor en modo de desarrollo con recarga en calientenpm test— Ejecuta todas las pruebasnpm run lint— Ejecuta el lintingnpm 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:
- Haz un fork del repositorio
- Crea una rama de funcionalidad:
git checkout -b feature/amazing-feature - Realiza tus cambios
- Añade pruebas para la nueva funcionalidad
- Asegúrate de que las pruebas pasen:
npm test - Haz commit de tus cambios:
git commit -m 'Add amazing feature' - Sube a la rama:
git push origin feature/amazing-feature - 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
- Model Context Protocol por Anthropic
- API de Serpstat para servicios de datos SEO
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