Skip to main content
Glama

🔒 MCP Security Scanner

Servidor MCP (Model Context Protocol) para escaneo de vulnerabilidades en código y dependencias. Genera reportes detallados en español con soluciones priorizadas por criticidad.

✨ Características

  • 📦 Escaneo de dependencias usando npm audit

  • 💻 Análisis de código fuente para detectar patrones vulnerables (XSS, eval, etc.)

  • 🔑 Detección de secrets expuestos (API keys, tokens, contraseñas)

  • 🇪🇸 Reportes en español con soluciones detalladas

  • 📊 Priorización por severidad (Crítico → Alto → Medio → Bajo)

  • 📝 Reportes en Markdown fáciles de leer y versionar

📋 Requisitos

  • Node.js 18.0.0 o superior

  • npm 9.0.0 o superior

🚀 Instalación

# Navegar al proyecto cd mcp-security-scanner # Instalar dependencias npm install

📖 Uso

Con MCP Inspector (Recomendado para pruebas)

npm run mcp:inspector

Esto abrirá una interfaz web donde puedes:

  1. Conectar al servidor

  2. Listar herramientas disponibles

  3. Ejecutar escaneos de seguridad

Con Claude Desktop / Windsurf

Agrega esta configuración a tu archivo de configuración MCP:

{ "mcpServers": { "security-scanner": { "command": "npx", "args": ["tsx", "src/index.ts"], "cwd": "/ruta-proyecto/mcp-security-scanner" } } }

🛠️ Herramientas Disponibles

scan_dependencies

Escanea vulnerabilidades en las dependencias del package.json usando npm audit.

Parámetro

Tipo

Requerido

Descripción

projectPath

string

Ruta absoluta al proyecto

includeDevDeps

boolean

Incluir devDependencies (default: true)

Ejemplo:

"Escanea las dependencias del proyecto en D:/mi-proyecto"

scan_code_vulnerabilities

Escanea el código fuente buscando patrones de código vulnerable.

Parámetro

Tipo

Requerido

Descripción

projectPath

string

Ruta absoluta al proyecto

patterns

string[]

Patrones glob (default: src/**/*.{ts,tsx,js,jsx})

Detecta:

  • XSS (dangerouslySetInnerHTML, innerHTML)

  • Ejecución de código (eval, new Function)

  • Almacenamiento inseguro de tokens

  • Redirecciones abiertas

  • ReDoS potencial

scan_secrets

Detecta secrets expuestos en el código fuente.

Parámetro

Tipo

Requerido

Descripción

projectPath

string

Ruta absoluta al proyecto

patterns

string[]

Patrones glob de archivos

Detecta:

  • API Keys (Stripe, Google, GitHub, Slack)

  • Contraseñas hardcodeadas

  • Claves privadas

  • Connection strings de bases de datos

generate_security_report

Genera un reporte completo de seguridad en formato Markdown.

Parámetro

Tipo

Requerido

Descripción

projectPath

string

Ruta absoluta al proyecto

outputDir

string

Directorio de salida (default: ./reports)

projectName

string

Nombre del proyecto para el reporte

Ejemplo:

"Genera un reporte de seguridad completo para el proyecto frontend-app"

📊 Niveles de Severidad

Nivel

Emoji

Descripción

Acción Requerida

CRÍTICO

🔴

Vulnerabilidad explotable remotamente

Acción inmediata

ALTO

🟠

Riesgo significativo de seguridad

< 24 horas

MEDIO

🟡

Vulnerabilidad con impacto limitado

< 1 semana

BAJO

🟢

Riesgo mínimo

Próximo sprint

📁 Estructura del Proyecto

mcp-security-scanner/ ├── src/ │ ├── index.ts # Punto de entrada │ ├── server.ts # Configuración del servidor MCP │ ├── tools/ # Definición de herramientas │ │ ├── index.ts │ │ ├── scan-dependencies.tool.ts │ │ ├── scan-code.tool.ts │ │ ├── scan-secrets.tool.ts │ │ └── generate-report.tool.ts │ ├── services/ # Lógica de negocio │ │ ├── index.ts │ │ ├── dependency-scanner.service.ts │ │ ├── code-scanner.service.ts │ │ └── report.service.ts │ ├── patterns/ # Patrones de detección │ │ ├── index.ts │ │ └── code-patterns.ts │ ├── types/ # Tipos TypeScript │ │ └── index.ts │ └── utils/ # Utilidades │ ├── index.ts │ ├── constants.ts │ └── formatters.ts ├── docs/ │ └── GUIA_USO.md # Guía de uso detallada ├── reports/ # Reportes generados (gitignore) ├── package.json ├── tsconfig.json └── README.md

🌿 Ramas del Repositorio

Rama

Contenido

master

Código fuente del servidor MCP Security Scanner

test-vulnerable-app

Proyecto React de prueba con vulnerabilidades intencionales para validar el MCP

Proyecto de Prueba

La rama test-vulnerable-app contiene una aplicación React + TypeScript con vulnerabilidades intencionales:

  • 📦 Dependencias vulnerables: lodash, axios, minimist, node-fetch con CVEs conocidos

  • 💻 Código vulnerable: XSS, eval(), innerHTML, tokens en localStorage, redirecciones abiertas

  • 🔑 Secrets expuestos: API keys, contraseñas, connection strings

Para usar el proyecto de prueba:

# Cambiar a la rama de prueba git checkout test-vulnerable-app # Instalar dependencias npm install # Ejecutar el escaneo desde el MCP # En MCP Inspector usar: projectPath = ruta/al/proyecto

📚 Documentación

🔧 Scripts Disponibles

# Iniciar servidor MCP npm start # Iniciar con MCP Inspector npm run mcp:inspector # Verificar tipos TypeScript npm run typecheck # Compilar a JavaScript npm run build

📄 Licencia

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JMitac/mcp-security-scanner'

If you have feedback or need assistance with the MCP directory API, please join our Discord server