MCP Security Scanner

MCP Security Scanner

Enables comprehensive security scanning of code projects, detecting vulnerabilities in dependencies, code patterns (XSS, eval, etc.), and exposed secrets, with detailed reports in Spanish prioritized by severity.

Category
Visit Server

README

🔒 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured