SSC MCP Server

Servidor MCP para SecurityScorecard, con búsqueda semántica híbrida en los 628 endpoints de la API.

Documentación

SSC MCP Server

npm version License: MIT

Un servidor integral de Model Context Protocol (MCP) construido por la comunidad que se integra con la API de SecurityScorecard. Funciona a través de stdio, por lo que es compatible con cualquier cliente MCP — Claude Desktop, Claude Code, Cursor, VS Code y otros.

Publicado en npm como @callmarcus/securityscorecard-mcp y listado en el Registro MCP como io.github.CallMarcus/securityscorecard-mcp.

Aviso legal: Este es un proyecto independiente de código abierto construido por la comunidad. No está afiliado, respaldado, patrocinado ni asociado con SecurityScorecard, Inc. de ninguna manera. Está construido únicamente sobre la documentación de API pública de SecurityScorecard. "SecurityScorecard" y todos los nombres, marcas y logotipos relacionados son marcas comerciales de SecurityScorecard, Inc. y se utilizan aquí solo con fines de identificación. Debe proporcionar sus propias credenciales de API y cumplir con los términos de servicio de SecurityScorecard.

Inicio Rápido

Requisitos Previos

  1. Node.js 20+ - Descargar
  2. Token de API de SecurityScorecard - Obténgalo desde su panel de SecurityScorecard

Opción A — Instalar desde npm (recomendado)

No se requiere clonar ni compilar. El servidor funciona a través de stdio mediante npx, por lo que cualquier cliente compatible con MCP puede iniciarlo. npx -y siempre obtiene la última versión publicada.

La mayoría de los clientes — Claude Desktop, Cursor, Cline, Windsurf y otros — comparten el mismo JSON de mcpServers. Agregue este bloque a la configuración MCP del cliente:

{
  "mcpServers": {
    "security-scorecard": {
      "command": "npx",
      "args": ["-y", "@callmarcus/securityscorecard-mcp"],
      "env": {
        "SECURITY_SCORECARD_API_TOKEN": "your-api-token-here",
        "COMPANY_DOMAIN": "example.com"
      }
    }
  }
}

Dónde se encuentra ese archivo de configuración:

ClienteArchivo de configuración
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Cursor~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto)

Reemplace las credenciales con las suyas propias y luego reinicie el cliente.

Claude Code — agréguelo desde la CLI en su lugar:

claude mcp add security-scorecard \
  --env SECURITY_SCORECARD_API_TOKEN=your-api-token-here \
  --env COMPANY_DOMAIN=example.com \
  -- npx -y @callmarcus/securityscorecard-mcp

En Windows, envuelva el lanzador en cmd /c: ... -- cmd /c npx -y @callmarcus/securityscorecard-mcp.

VS Code (Copilot) — usa una clave servers con un type explícito, en .vscode/mcp.json:

{
  "servers": {
    "security-scorecard": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@callmarcus/securityscorecard-mcp"],
      "env": {
        "SECURITY_SCORECARD_API_TOKEN": "your-api-token-here",
        "COMPANY_DOMAIN": "example.com"
      }
    }
  }
}

Opción B — Ejecutar desde el código fuente (para desarrollo)

# Clone the repository
git clone https://github.com/CallMarcus/security-scorecard-mcp.git
cd security-scorecard-mcp

# Install dependencies
npm install

# Build (use build:fast to avoid memory issues)
npm run build:fast

Luego apunte su cliente MCP a la compilación local. Para clientes que usan el formato mcpServers (Claude Desktop, Cursor, …):

{
  "mcpServers": {
    "security-scorecard": {
      "command": "node",
      "args": ["/path/to/security-scorecard-mcp/build/index.js"],
      "env": {
        "SECURITY_SCORECARD_API_TOKEN": "your-api-token-here",
        "COMPANY_DOMAIN": "example.com"
      }
    }
  }
}

Importante: Reemplace la ruta y las credenciales con sus valores reales, luego reinicie su cliente MCP. (Para Claude Code, ejecute claude mcp add security-scorecard --env SECURITY_SCORECARD_API_TOKEN=your-api-token-here -- node /path/to/security-scorecard-mcp/build/index.js.)

Herramientas Disponibles

El servidor (index.js) proporciona 9 herramientas especializadas:

HerramientaPropósito
security_dashboardPuntuación, calificación y métricas clave de seguridad
analyze_security_risksPriorización de problemas y análisis de riesgos
create_improvement_planHojas de ruta de remediación accionables
discover_assetsInventario de activos con contexto de seguridad
analyze_email_securityAnálisis de SPF/DMARC/DKIM
api_discoveryBúsqueda en 517 endpoints de API con búsqueda híbrida semántica/por palabras clave
analyze_issue_typesDesgloses granulares por tipo de problema
validate_data_completenessVerificación de datos entre herramientas
query_security_dataAcceso directo a la API con descubrimiento

Modos de Respuesta

Cada herramienta admite tres modos de respuesta para eficiencia de tokens:

  • minimal - Respuestas rápidas (15-50 tokens)
  • standard - Resumen con contexto (200-300 tokens)
  • detailed - Análisis integral (800+ tokens)

Variables de Entorno

VariableRequeridaDescripción
SECURITY_SCORECARD_API_TOKENSu token de API
COMPANY_DOMAINNoDominio predeterminado para consultas
DEBUG_MODENoEstablezca true para registro detallado

Limitación de velocidad y caché opcionales:

REQUEST_CACHE_TTL_MS=300000
REQUESTS_PER_INTERVAL=5
REQUEST_INTERVAL_MS=1000

Descubrimiento de API

El servidor incluye búsqueda híbrida (semántica + por palabras clave) para encontrar endpoints de la API de SecurityScorecard:

Use api_discovery to search for "email security"

Esto busca en 517 endpoints indexados y devuelve rutas coincidentes con puntuaciones de confianza, parámetros requeridos y ejemplos de curl.

Para actualizar la referencia de API después de cambios:

npm run api:embed    # Regenerate semantic embeddings
npm run api:update   # Regenerate docs + embeddings

Desarrollo

Comandos de Compilación

npm run build:fast   # Recommended - uses esbuild (~130ms)
npm run build        # TypeScript compiler (may OOM on some systems)
npm test             # Run tests

Estructura del Proyecto

src/
  index.ts               # MCP server (9 tools)
  api/client.ts          # SecurityScorecard API client
  integration/           # API discovery system
docs/api/                # Self-contained API reference
  index.jsonl            # Endpoint index (517 endpoints)
  index-embeddings.json  # Semantic search embeddings
build/                   # Compiled JavaScript

Pruebas

npm test             # Run test suite

Solución de Problemas

La compilación falla por falta de memoria

Use la compilación rápida en su lugar:

npm run build:fast

Errores de "Cannot find module"

Reinstale las dependencias:

rm -rf node_modules
npm install
npm run build:fast

La búsqueda semántica se degrada a solo palabras clave (Windows + WSL)

Instale para la plataforma que ejecuta el servidor. Claude Desktop en Windows inicia el servidor con node de Windows, por lo que si npm install se ejecutó bajo WSL los módulos nativos (onnxruntime-node, sharp) solo tienen binarios de Linux — la capa de embeddings no se carga y api_discovery se degrada silenciosamente a búsqueda solo por palabras clave (los resultados aún regresan, pero la puntuación de confianza es más rudimentaria). Ejecute npm install && npm run build:fast desde PowerShell o cmd en el directorio del repositorio en su lugar — o mantenga dos clones, uno por plataforma.

Su cliente no ve el servidor

  1. Verifique la ubicación del archivo de configuración para su cliente (consulte Inicio Rápido)
  2. Para una instalación desde el código fuente, verifique que la ruta a build/index.js sea correcta
  3. Reinicie el cliente por completo
  4. Verifique que el servidor se inicie por sí solo: npx -y @callmarcus/securityscorecard-mcp (debería iniciarse y esperar silenciosamente en stdio)

La API devuelve 401 No Autorizado

Su token de API no es válido o ha expirado. Obtenga uno nuevo desde el panel de SecurityScorecard.

Licencia

MIT

Enlaces