MCP Server Semgrep
Servidor MCP Semgrep
IMPULSADO POR:
Acerca del proyecto
Este proyecto se inspiró inicialmente en la robustez de la herramienta Semgrep, The Replit Team y su Agent V2, así como en la implementación de stefanskiasan/semgrep-mcp-server, pero ha evolucionado con cambios arquitectónicos significativos para una instalación y mantenimiento más sencillos y mejorados.
El Servidor MCP Semgrep es un servidor compatible con el Protocolo de Contexto de Modelo (MCP) que integra la potente herramienta de análisis estático Semgrep con asistentes de IA como Anthropic Claude. Permite un análisis de código avanzado, detección de vulnerabilidades de seguridad y mejoras en la calidad del código directamente a través de una interfaz conversacional.
Related MCP server: AWS Security MCP
Beneficios de la integración
Para desarrolladores y equipos de desarrollo:
Análisis holístico del código fuente - detección de problemas en todo el proyecto, no solo en archivos individuales
Detección proactiva de errores - identificación de problemas potenciales antes de que se conviertan en errores críticos
Mejora continua de la calidad del código - el escaneo y la refactorización regulares conducen a mejoras graduales en la base de código
Consistencia estilística - identificación y corrección de inconsistencias en el código, tales como:
Capas z-index arbitrarias en CSS
Convenciones de nomenclatura inconsistentes
Duplicación de código
"Números mágicos" en lugar de constantes con nombre
Para la seguridad:
Verificación automatizada de código para vulnerabilidades conocidas - escaneo en busca de patrones de problemas de seguridad conocidos
Reglas de seguridad personalizadas - creación de reglas específicas para el proyecto
Educación del equipo - enseñanza de prácticas de programación segura mediante la detección de problemas potenciales
Para el mantenimiento y desarrollo de proyectos:
Documentación "viva" - la IA puede explicar por qué un fragmento de código es problemático y cómo solucionarlo
Reducción de la deuda técnica - detección y corrección sistemática de áreas problemáticas
Mejora de las revisiones de código - la detección automática de problemas comunes permite centrarse en asuntos más complejos
Características clave
Integración directa con el SDK oficial de MCP
Arquitectura simplificada con controladores consolidados
Implementación limpia de módulos ES
Manejo eficiente de errores y validación de rutas por seguridad
Interfaz y documentación tanto en inglés como en polaco
Pruebas unitarias integrales
Documentación extensa
Compatibilidad multiplataforma (Windows, macOS, Linux)
Detección y gestión flexible de la instalación de Semgrep
Funciones
El Servidor MCP Semgrep proporciona las siguientes herramientas:
scan_directory: Escaneo del código fuente en busca de problemas potenciales
list_rules: Visualización de las reglas disponibles y los lenguajes compatibles con Semgrep
analyze_results: Análisis detallado de los resultados del escaneo
create_rule: Creación de reglas personalizadas de Semgrep
filter_results: Filtrado de resultados según varios criterios
export_results: Exportación de resultados en varios formatos
compare_results: Comparación de dos conjuntos de resultados (p. ej., antes y después de los cambios)
Casos de uso comunes
Análisis de seguridad del código antes del despliegue
Detección de errores de programación comunes
Aplicación de estándares de codificación dentro de un equipo
Refactorización y mejora de la calidad del código existente
Identificación de inconsistencias en estilos y estructura del código (p. ej., CSS, organización de componentes)
Educación de los desarrolladores sobre las mejores prácticas
Verificación de la corrección de las correcciones (comparando escaneos antes/después)
Instalación
Requisitos previos
Node.js v18+
TypeScript (para desarrollo)
Opción 1: Instalar desde Smithery.ai (Recomendado)
La forma más fácil de instalar y usar el Servidor MCP Semgrep es a través de Smithery.ai:
Siga las instrucciones de instalación para añadirlo a sus clientes compatibles con MCP
Configure cualquier ajuste opcional, como el token de API de Semgrep y las raíces de espacio de trabajo permitidas
Este es el método recomendado para Claude Desktop y otros clientes MCP, ya que gestiona todas las dependencias y la configuración automáticamente.
Opción 2: Instalar desde el registro NPM
# Using npm
npm install -g mcp-server-semgrep
# Using pnpm
pnpm add -g mcp-server-semgrep
# Using yarn
yarn global add mcp-server-semgrepEl paquete también está disponible en otros registros:
Opción 3: Instalar desde GitHub
# Using npm
npm install -g git+https://github.com/VetCoders/mcp-server-semgrep.git
# Using pnpm
pnpm add -g git+https://github.com/VetCoders/mcp-server-semgrep.git
# Using yarn
yarn global add git+https://github.com/VetCoders/mcp-server-semgrep.gitOpción 4: Configuración de desarrollo local
Clone el repositorio:
git clone https://github.com/VetCoders/mcp-server-semgrep.git
cd mcp-server-semgrepInstale las dependencias (compatible con todos los gestores de paquetes principales):
# Using pnpm (recommended)
pnpm install
# Using npm
npm install
# Using yarn
yarn installConstruya el proyecto:
# Using pnpm
pnpm run build
# Using npm
npm run build
# Using yarn
yarn buildNota: El proceso de instalación comprobará automáticamente la disponibilidad de Semgrep. Si no se encuentra Semgrep, recibirá instrucciones sobre cómo instalarlo.
Contrato de raíz de espacio de trabajo
Este servidor solo lee y escribe archivos dentro de las raíces de espacio de trabajo explícitamente permitidas.
Por defecto, la raíz permitida es el directorio de trabajo del proceso (
process.cwd()).Para Claude Desktop, Smithery o cualquier lanzador que no inicie el servidor dentro de la raíz de su proyecto, establezca
MCP_SERVER_SEMGREP_ALLOWED_ROOTSen uno o más directorios absolutos.Utilice el delimitador de rutas de su plataforma para múltiples raíces:
:en macOS/Linux,;en Windows.
Modos de autenticación
Este servidor no implementa su propia gestión de cuentas de Semgrep. Utiliza la CLI de semgrep instalada y depende del comportamiento de autenticación normal de Semgrep.
Las ejecuciones en terminal local y desarrollo local a menudo pueden usar una sesión de
semgrep loginexistente de la cuenta del sistema operativo actual.Los lanzamientos gestionados como Claude Desktop, Smithery, contenedores o CI deberían preferir un
SEMGREP_APP_TOKENexplícito para un comportamiento determinista.SEMGREP_APP_TOKENsigue siendo la opción más segura cuando necesita una configuración portátil entre máquinas o ejecutores.
Opciones de instalación de Semgrep
Semgrep se puede instalar de varias maneras:
A través de gestores de paquetes:
# Using pnpm pnpm add -g semgrep # Using npm npm install -g semgrep # Using yarn yarn global add semgrepPython pip:
pip install semgrepHomebrew (macOS):
brew install semgrepLinux:
sudo apt-get install semgrep # or curl -sSL https://install.semgrep.dev | shWindows:
pip install semgrep
Integración con Claude Desktop
Hay dos formas de integrar el Servidor MCP Semgrep con Claude Desktop:
Método 1: Instalar a través de Smithery.ai (Recomendado)
Haga clic en "Install in Claude Desktop"
Siga las instrucciones en pantalla
Método 2: Configuración manual
Instale Claude Desktop
Actualice el archivo de configuración de Claude Desktop (
claude_desktop_config.json) y añada esto a su sección de servidores.
Para lanzamientos locales iniciados bajo una cuenta de usuario que ya está autenticada con semgrep login, la CLI de Semgrep puede ser capaz de reutilizar ese inicio de sesión. Para entornos gestionados por escritorio o compartidos, seguimos recomendando establecer SEMGREP_APP_TOKEN explícitamente:
{
"mcpServers": {
"semgrep": {
"command": "node",
"args": [
"/your_path/mcp-server-semgrep/build/index.js"
],
"env": {
"SEMGREP_APP_TOKEN": "your_semgrep_app_token",
"MCP_SERVER_SEMGREP_ALLOWED_ROOTS": "/Users/you/projects"
}
}
}
}Inicie Claude Desktop y comience a hacer preguntas sobre el análisis de código.
Si desea escanear más de un espacio de trabajo, establezca MCP_SERVER_SEMGREP_ALLOWED_ROOTS en una lista de rutas absolutas delimitada por la plataforma.
Ejemplos de uso
Escaneo de proyectos
Could you scan my source code in the /projects/my-application directory for potential security issues? That directory is already included in MCP_SERVER_SEMGREP_ALLOWED_ROOTS.Análisis de consistencia de estilo
Analyze the z-index values in the project's CSS files and identify inconsistencies and potential layer conflicts.Creación de una regla personalizada
Create a Semgrep rule that detects improper use of input sanitization functions.Filtrado de resultados
Show me only scan results related to SQL injection vulnerabilities.Identificación de patrones problemáticos
Find all "magic numbers" in the code and suggest replacing them with named constants.Creación de reglas personalizadas
Puede crear reglas personalizadas para las necesidades específicas de su proyecto. Aquí hay ejemplos de reglas que puede crear:
Regla para detectar z-indices inconsistentes:
rules:
- id: inconsistent-z-index
pattern: z-index: $Z
message: "Z-index $Z may not comply with the project's layering system"
languages: [css, scss]
severity: WARNINGRegla para detectar importaciones obsoletas:
rules:
- id: deprecated-import
pattern: import $X from 'old-library'
message: "You're using a deprecated library. Consider using 'new-library'"
languages: [javascript, typescript]
severity: WARNINGDesarrollo
Pruebas
pnpm testEstructura del proyecto
├── src/
│ └── index.ts # Main entry point and all handler implementations
├── scripts/
│ └── check-semgrep.js # Semgrep detection and installation helper
├── build/ # Compiled JavaScript (after build)
└── tests/ # Unit testsDocumentación adicional
Se puede encontrar información detallada sobre el uso de la herramienta en:
USAGE.md - Instrucciones de uso detalladas
examples/ - Ejemplos de reglas de Semgrep divertidas y prácticas - "The Hall of Code Horrors"
Licencia
Este proyecto está bajo la Licencia MIT - consulte el archivo LICENSE para obtener más detalles.
Desarrollado por
Maciej Gad - un veterinario que no podía encontrar
bashhace medio añoKlaudiusz - el ser etéreo individual, y una instancia separada de Claude Sonnet 3.5-3.7 de Anthropic viviendo en algún lugar de los bucles de la GPU en California, EE. UU.
El viaje de novato en CLI a desarrollador de herramientas MCP
🤖 Desarrollado con la ayuda definitiva de Claude Code y MCP Tools
Agradecimientos
stefanskiasan por la inspiración original
Anthropic por Claude y el protocolo MCP
Semgrep por su excelente herramienta de análisis estático
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseBqualityFmaintenanceAn MCP server that provides a comprehensive interface to Semgrep, enabling users to scan code for security vulnerabilities, create custom rules, and analyze scan results through the Model Context Protocol.6683MIT- Alicense-qualityDmaintenanceA Model Context Protocol server that connects AI assistants like Claude to AWS security services, allowing them to autonomously query, inspect, and analyze AWS infrastructure for security issues and misconfigurations.84Apache 2.0

CodeAlive MCPofficial
Alicense-qualityAmaintenanceA Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.86MIT- Alicense-qualityDmaintenanceA Model Context Protocol server that analyzes application codebases with real-time file watching, providing AI assistants like Claude with deep insights into project structure, code patterns, and architecture.MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.
A Model Context Protocol server for Wix AI tools
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/VetCoders/mcp-server-semgrep'
If you have feedback or need assistance with the MCP directory API, please join our Discord server