Servidor MCP de DeepSource
Un servidor de Protocolo de Contexto de Modelo (MCP) que se integra con DeepSource para proporcionar a los asistentes de IA acceso a métricas de calidad del código, problemas y resultados de análisis.
Descripción general
El servidor MCP de DeepSource permite a los asistentes de IA interactuar con las capacidades de análisis de calidad del código de DeepSource a través del Protocolo de Contexto de Modelo. Esta integración permite a los asistentes de IA:
Recuperar métricas de código y resultados de análisis
Problemas de acceso y filtrado
Comprobar el estado de la calidad
Analizar la calidad del proyecto a lo largo del tiempo
Características
Integración de API de DeepSource : se conecta a DeepSource a través de la API GraphQL
Compatibilidad con el protocolo MCP : implementa el protocolo de contexto de modelo para la integración del asistente de IA
Métricas y umbrales de calidad : recupere y administre métricas de calidad del código con umbrales
Informes de cumplimiento de seguridad : acceda a los informes de cumplimiento de OWASP Top 10, SANS Top 25 y MISRA-C
Vulnerabilidades de dependencia : acceda a información de vulnerabilidad de seguridad sobre dependencias
TypeScript/Node.js : Creado con TypeScript para seguridad de tipos y funciones modernas de JavaScript
Multiplataforma : funciona en Linux, macOS y Windows
Manejo robusto de errores : manejo integral de errores para problemas de red, autenticación y análisis
Uso con Claude Desktop
Editar
claude_desktop_config.json:Abra Claude Desktop
Vaya a
Settings->Developer->Edit ConfigAgregue una de las siguientes configuraciones a la sección
mcpServers
Reinicie Claude Desktop para aplicar los cambios
Consultas de ejemplo
Una vez conectado, su asistente de IA puede usar datos de DeepSource con consultas como:
Esto utilizaría la herramienta project_issues con filtros:
Para filtrar las ejecuciones de análisis:
Esto utilizaría la herramienta project_runs con filtros:
Para las métricas de calidad del código:
Esto utilizaría la herramienta quality_metrics :
Para informes de cumplimiento de seguridad:
Esto utilizaría la herramienta compliance_report :
Para establecer umbrales:
Esto utilizaría la herramienta update_metric_threshold :
Variables de entorno
El servidor admite las siguientes variables de entorno:
DEEPSOURCE_API_KEY(obligatorio): Su clave API de DeepSource para autenticaciónLOG_FILE(opcional): Ruta al archivo donde se escribirán los registros. Si no se configura, no se escribirán registros.LOG_LEVEL(opcional): Nivel mínimo de registro para escribir (DEBUG, INFO, WARN, ERROR). El valor predeterminado es DEBUG.
Ejemplo de configuración con registro:
Estibador
NPX
Herramientas disponibles
El servidor MCP de DeepSource proporciona las siguientes herramientas:
projects: enumera todos los proyectos de DeepSource disponiblesParámetros:
No hay parámetros requeridos
project_issues: Obtener problemas de un proyecto DeepSource con filtradoParámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourceParámetros de paginación:
offset(opcional): número de elementos que se omitirán para la paginaciónfirst(opcional) - Número de artículos a devolver (predeterminado 10)after(opcional) - Cursor para paginación hacia adelantebefore(opcional) - Cursor para paginación hacia atráslast(opcional) - Número de elementos a devolver antes del cursor 'antes' (predeterminado: 10)
Parámetros de filtrado:
path(opcional) - Filtrar problemas por ruta de archivo específicaanalyzerIn(opcional): filtra problemas por analizadores específicos (por ejemplo, ["python", "javascript"])tags(opcional) - Filtrar problemas por etiquetas
project_runs: enumera las ejecuciones de análisis para un proyecto DeepSource con filtradoParámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourceParámetros de paginación:
offset(opcional): número de elementos que se omitirán para la paginaciónfirst(opcional) - Número de artículos a devolver (predeterminado 10)after(opcional) - Cursor para paginación hacia adelantebefore(opcional) - Cursor para paginación hacia atráslast(opcional) - Número de elementos a devolver antes del cursor 'antes' (predeterminado: 10)
Parámetros de filtrado:
analyzerIn(opcional): filtra las ejecuciones por analizadores específicos (por ejemplo, ["python", "javascript"])
run: obtiene una ejecución de análisis específica por su runUid o commitOidParámetros:
runIdentifier(obligatorio): el runUid (UUID) o commitOid (hash de confirmación) para identificar la ejecución
recent_run_issues: obtiene los problemas del análisis más reciente ejecutado en una rama específica con soporte de paginaciónParámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourcebranchName(obligatorio): el nombre de la rama desde la cual se obtendrá la ejecución más recienteParámetros de paginación:
first(opcional) - Número de números a devolver (predeterminado: 10)after(opcional) - Cursor para paginación hacia adelantelast(opcional) - Número de números a devolver antes de un cursor (predeterminado: 10)before(opcional) - Cursor para paginación hacia atrás
Devoluciones:
Información sobre la ejecución más reciente en la sucursal
Problemas actuales en el proyecto (nota: los problemas son a nivel de repositorio, no específicos de la ejecución)
Información de paginación, incluidos los cursores y el estado de la página.
Metadatos sobre la ejecución y la rama
dependency_vulnerabilities: Obtener vulnerabilidades de dependencia de un proyecto DeepSourceParámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourceParámetros de paginación:
offset(opcional): número de elementos que se omitirán para la paginaciónfirst(opcional) - Número de artículos a devolver (predeterminado 10)after(opcional) - Cursor para paginación hacia adelantebefore(opcional) - Cursor para paginación hacia atráslast(opcional) - Número de elementos a devolver antes del cursor 'antes' (predeterminado: 10)
quality_metrics: Obtenga métricas de calidad de un proyecto DeepSource con filtradoParámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourceshortcodeIn(opcional): filtra métricas por códigos cortos específicos (por ejemplo, ["LCV", "BCV"])
Devuelve métricas como:
Cobertura de línea (LCV)
Cobertura de sucursales (BCV)
Cobertura de la documentación (DCV)
Porcentaje de código duplicado (DDP)
Cada métrica incluye valores actuales, umbrales y estado de aprobación/reprobación.
update_metric_threshold: Actualiza el umbral para una métrica de calidad específicaParámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourcerepositoryId(obligatorio): el ID del repositorio GraphQLmetricShortcode(obligatorio): el código corto de la métrica que se actualizarámetricKey(obligatorio): la clave de idioma o contexto para la métricathresholdValue(opcional): el nuevo valor de umbral o nulo para eliminar el umbral
Ejemplo: Establecer un umbral de cobertura de línea del 80 %: metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80
update_metric_setting: Actualizar la configuración de una métrica de calidadParámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourcerepositoryId(obligatorio): el ID del repositorio GraphQLmetricShortcode(obligatorio): el código corto de la métrica que se actualizaráisReported(obligatorio): si se debe informar la métricaisThresholdEnforced(obligatorio): si se debe aplicar el umbral (puede fallar las comprobaciones)
compliance_report: Obtener informes de cumplimiento de seguridad de un proyecto de DeepSource
Parámetros:
projectKey(obligatorio): el identificador único del proyecto DeepSourcereportType(obligatorio): el tipo de informe de cumplimiento que se obtendrá ( OWASP Top 10 , SANS Top 25 o MISRA-C )
Devuelve datos completos de cumplimiento de seguridad que incluyen:
Estadísticas de problemas de seguridad por categoría y gravedad
Estado de cumplimiento (aprobado/reprobado)
Datos de tendencias que muestran cambios a lo largo del tiempo
Análisis y recomendaciones para mejorar la postura de seguridad
Desarrollo
Clonar el repositorio:
Instalar dependencias:
Construir el proyecto:
Configurar Claude Desktop
Prerrequisitos
Node.js 20 o superior
pnpm 10.7.0 o superior
Docker (para compilaciones de contenedores)
Guiones
pnpm run build: compila el código TypeScriptpnpm run start- Iniciar el servidorpnpm run dev- Inicia el servidor en modo de desarrollopnpm run test- Ejecutar pruebaspnpm run lint- Ejecutar ESLintpnpm run format- Formatear código con Prettier
Solución de problemas
Habilitar el registro de depuración
Si tiene problemas, habilite el registro de depuración para ver información detallada:
Establezca la variable de entorno
LOG_FILEen una ruta de archivo donde se deben escribir los registrosEstablezca
LOG_LEVELenDEBUG(este es el valor predeterminado)Consulte el archivo de registro para obtener información detallada del error
Ejemplo de configuración:
A continuación, compruebe el archivo de registro:
Problemas comunes
Error de autenticación : asegúrese de que su
DEEPSOURCE_API_KEYsea correcta y tenga los permisos necesariosNo aparecen registros : verifique que la ruta
LOG_FILEsea escribible y que el directorio principal existaErrores de la herramienta : consulte el archivo de registro para obtener mensajes de error detallados y seguimientos de la pila
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.Last updated -2533
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.Last updated -370MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enhances AI-generated code quality through comprehensive analysis across 10 critical dimensions, helping identify issues before they become problems.Last updated -172Apache 2.0
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -52