DeepSource MCP Server

by sapientpants
Integrations
  • Retrieves code metrics and analysis results from GitHub repositories through DeepSource integration

  • Connects to DeepSource via GraphQL API to fetch code analysis data

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

  1. Editar claude_desktop_config.json :
    • Abra Claude Desktop
    • Vaya a Settings -> Developer -> Edit Config
    • Agregue una de las siguientes configuraciones a la sección mcpServers
  2. 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:

What issues are in the JavaScript files of my project?

Esto utilizaría la herramienta project_issues con filtros:

{ "projectKey": "your-project-key", "path": "src/", "analyzerIn": ["javascript"], "first": 10 }

Para filtrar las ejecuciones de análisis:

Show me the most recent Python analysis runs

Esto utilizaría la herramienta project_runs con filtros:

{ "projectKey": "your-project-key", "analyzerIn": ["python"], "first": 5 }

Para las métricas de calidad del código:

What's my code coverage percentage? Is it meeting our thresholds?

Esto utilizaría la herramienta quality_metrics :

{ "projectKey": "your-project-key", "shortcodeIn": ["LCV", "BCV", "CCV"] }

Para informes de cumplimiento de seguridad:

Are we compliant with OWASP Top 10 security standards?

Esto utilizaría la herramienta compliance_report :

{ "projectKey": "your-project-key", "reportType": "OWASP_TOP_10" }

Para establecer umbrales:

Update our line coverage threshold to 80%

Esto utilizaría la herramienta update_metric_threshold :

{ "projectKey": "your-project-key", "repositoryId": "repo-id", "metricShortcode": "LCV", "metricKey": "AGGREGATE", "thresholdValue": 80 }

Estibador

{ "mcpServers": { "deepsource": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "DEEPSOURCE_API_KEY", "sapientpants/deepsource-mcp-server" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

NPX

{ "mcpServers": { "deepsource": { "command": "npx", "args": [ "-y", "deepsource-mcp-server@1.1.0" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

Herramientas disponibles

El servidor MCP de DeepSource proporciona las siguientes herramientas:

  1. projects : enumera todos los proyectos de DeepSource disponibles
    • Parámetros:
      • No hay parámetros requeridos
  2. project_issues : Obtener problemas de un proyecto DeepSource con filtrado
    • Parámetros:
      • projectKey (obligatorio): el identificador único del proyecto DeepSource
      • Parámetros de paginación:
        • offset (opcional): número de elementos que se omitirán para la paginación
        • first (opcional) - Número de artículos a devolver (predeterminado 10)
        • after (opcional) - Cursor para paginación hacia adelante
        • before (opcional) - Cursor para paginación hacia atrás
        • last (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ífica
        • analyzerIn (opcional): filtra problemas por analizadores específicos (por ejemplo, ["python", "javascript"])
        • tags (opcional) - Filtrar problemas por etiquetas
  3. project_runs : enumera las ejecuciones de análisis para un proyecto DeepSource con filtrado
    • Parámetros:
      • projectKey (obligatorio): el identificador único del proyecto DeepSource
      • Parámetros de paginación:
        • offset (opcional): número de elementos que se omitirán para la paginación
        • first (opcional) - Número de artículos a devolver (predeterminado 10)
        • after (opcional) - Cursor para paginación hacia adelante
        • before (opcional) - Cursor para paginación hacia atrás
        • last (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"])
  4. run : obtiene una ejecución de análisis específica por su runUid o commitOid
    • Parámetros:
      • runIdentifier (obligatorio): el runUid (UUID) o commitOid (hash de confirmación) para identificar la ejecución
  5. dependency_vulnerabilities : Obtener vulnerabilidades de dependencia de un proyecto DeepSource
    • Parámetros:
      • projectKey (obligatorio): el identificador único del proyecto DeepSource
      • Parámetros de paginación:
        • offset (opcional): número de elementos que se omitirán para la paginación
        • first (opcional) - Número de artículos a devolver (predeterminado 10)
        • after (opcional) - Cursor para paginación hacia adelante
        • before (opcional) - Cursor para paginación hacia atrás
        • last (opcional) - Número de elementos a devolver antes del cursor 'antes' (predeterminado: 10)
  6. quality_metrics : Obtenga métricas de calidad de un proyecto DeepSource con filtrado
    • Parámetros:
      • projectKey (obligatorio): el identificador único del proyecto DeepSource
      • shortcodeIn (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.
  7. update_metric_threshold : Actualiza el umbral para una métrica de calidad específica
    • Parámetros:
      • projectKey (obligatorio): el identificador único del proyecto DeepSource
      • repositoryId (obligatorio): el ID del repositorio GraphQL
      • metricShortcode (obligatorio): el código corto de la métrica que se actualizará
      • metricKey (obligatorio): la clave de idioma o contexto para la métrica
      • thresholdValue (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
  8. update_metric_setting : Actualizar la configuración de una métrica de calidad
    • Parámetros:
      • projectKey (obligatorio): el identificador único del proyecto DeepSource
      • repositoryId (obligatorio): el ID del repositorio GraphQL
      • metricShortcode (obligatorio): el código corto de la métrica que se actualizará
      • isReported (obligatorio): si se debe informar la métrica
      • isThresholdEnforced (obligatorio): si se debe aplicar el umbral (puede fallar las comprobaciones)
  9. compliance_report : Obtener informes de cumplimiento de seguridad de un proyecto de DeepSource
    • Parámetros:
      • projectKey (obligatorio): el identificador único del proyecto DeepSource
      • reportType (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

  1. Clonar el repositorio:
git clone https://github.com/sapientpants/deepsource-mcp-server.git cd deepsource-mcp-server
  1. Instalar dependencias:
pnpm install
  1. Construir el proyecto:
pnpm run build
  1. Configurar Claude Desktop
{ "mcpServers": { "deepsource": { "command": "node", "args": [ "/path/to/deepsource-mcp-server/dist/index.js" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

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 TypeScript
  • pnpm run start - Iniciar el servidor
  • pnpm run dev - Inicia el servidor en modo de desarrollo
  • pnpm run test - Ejecutar pruebas
  • pnpm run lint - Ejecutar ESLint
  • pnpm run format - Formatear código con Prettier

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor de protocolo de contexto de modelo 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.

  1. Descripción general
    1. Características
      1. Uso con Claude Desktop
        1. Consultas de ejemplo
        2. Estibador
        3. NPX
      2. Herramientas disponibles
        1. Desarrollo
          1. Prerrequisitos
          2. Guiones
        2. Licencia

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.
            Last updated -
            5
            6
            Python
            Apache 2.0
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.
            Last updated -
            1
            Python
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A 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 -
            3
            Python
            Apache 2.0
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A 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 -
            16
            TypeScript

          View all related MCP servers

          ID: u4wlvmu5z8