Сервер DeepSource MCP
Сервер Model Context Protocol (MCP), который интегрируется с DeepSource, чтобы предоставить помощникам на базе искусственного интеллекта доступ к показателям качества кода, проблемам и результатам анализа.
Обзор
DeepSource MCP Server позволяет помощникам ИИ взаимодействовать с возможностями анализа качества кода DeepSource через Model Context Protocol. Эта интеграция позволяет помощникам ИИ:
- Извлечение метрик кода и результатов анализа
- Проблемы с доступом и фильтрацией
- Проверить статус качества
- Анализ качества проекта с течением времени
Функции
- Интеграция с DeepSource API : подключение к DeepSource через GraphQL API
- Поддержка протокола MCP : реализует протокол контекста модели для интеграции помощника на основе искусственного интеллекта.
- Метрики и пороговые значения качества : получение и управление метриками качества кода с помощью пороговых значений.
- Отчеты о соответствии требованиям безопасности : доступ к отчетам о соответствии OWASP Top 10, SANS Top 25 и MISRA-C
- Уязвимости зависимостей : доступ к информации об уязвимостях безопасности зависимостей
- TypeScript/Node.js : создан с использованием TypeScript для обеспечения безопасности типов и современных функций JavaScript.
- Кроссплатформенность : работает на Linux, macOS и Windows
- Надежная обработка ошибок : комплексная обработка ошибок, связанных с сетью, аутентификацией и анализом.
Использование с Claude Desktop
- Редактировать
claude_desktop_config.json
:- Открыть рабочий стол Клода
- Перейдите в
Settings
->Developer
->Edit Config
- Добавьте одну из конфигураций ниже в раздел
mcpServers
- Перезапустите Claude Desktop, чтобы изменения вступили в силу.
Примеры запросов
После подключения ваш помощник на базе искусственного интеллекта сможет использовать данные DeepSource с такими запросами:
Для этого будет использоваться инструмент project_issues
с фильтрами:
Для фильтрации результатов анализа:
Для этого будет использоваться инструмент project_runs
с фильтрами:
Для показателей качества кода:
Для этого будет использоваться инструмент quality_metrics
:
Для отчетов о соответствии требованиям безопасности:
Для этого будет использоваться инструмент compliance_report
:
Для установки пороговых значений:
Для этого будет использоваться инструмент update_metric_threshold
:
Докер
НПХ
Доступные инструменты
Сервер DeepSource MCP предоставляет следующие инструменты:
projects
: список всех доступных проектов DeepSource- Параметры:
- Нет обязательных параметров
- Параметры:
project_issues
: Получить проблемы из проекта DeepSource с фильтрацией- Параметры:
projectKey
(обязательно) — уникальный идентификатор проекта DeepSource.- Параметры пагинации:
offset
(необязательно) — количество элементов, которые необходимо пропустить при разбивке на страницы.first
(необязательно) — количество возвращаемых элементов (по умолчанию 10)after
(необязательно) - Курсор для прямой пагинацииbefore
(необязательно) - Курсор для обратной пагинацииlast
(необязательно) — количество возвращаемых элементов перед курсором «before» (по умолчанию: 10)
- Параметры фильтрации:
path
(необязательно) — фильтрация проблем по определенному пути к файлуanalyzerIn
(необязательно) — фильтрация проблем по определенным анализаторам (например, ["python", "javascript"])tags
(необязательно) — фильтрация проблем по тегам
- Параметры:
project_runs
: список запусков анализа для проекта DeepSource с фильтрацией- Параметры:
projectKey
(обязательно) — уникальный идентификатор проекта DeepSource.- Параметры пагинации:
offset
(необязательно) — количество элементов, которые необходимо пропустить при разбивке на страницы.first
(необязательно) — количество возвращаемых элементов (по умолчанию 10)after
(необязательно) - Курсор для прямой пагинацииbefore
(необязательно) - Курсор для обратной пагинацииlast
(необязательно) — количество возвращаемых элементов перед курсором «before» (по умолчанию: 10)
- Параметры фильтрации:
analyzerIn
(необязательно) — фильтрация запусков определенных анализаторов (например, ["python", "javascript"])
- Параметры:
run
: Получить определенный анализ, запущенный по его runUid или commitOid- Параметры:
runIdentifier
(обязательно) — runUid (UUID) или commitOid (хэш коммита) для идентификации запуска
- Параметры:
dependency_vulnerabilities
: получение уязвимостей зависимостей из проекта DeepSource- Параметры:
projectKey
(обязательно) — уникальный идентификатор проекта DeepSource.- Параметры пагинации:
offset
(необязательно) — количество элементов, которые необходимо пропустить при разбивке на страницы.first
(необязательно) — количество возвращаемых элементов (по умолчанию 10)after
(необязательно) - Курсор для прямой пагинацииbefore
(необязательно) - Курсор для обратной пагинацииlast
(необязательно) — количество возвращаемых элементов перед курсором «before» (по умолчанию: 10)
- Параметры:
quality_metrics
: получение показателей качества из проекта DeepSource с помощью фильтрации- Параметры:
projectKey
(обязательно) — уникальный идентификатор проекта DeepSource.shortcodeIn
(необязательно) — фильтрация показателей по определенным коротким кодам (например, ["LCV", "BCV"])
- Возвращает такие показатели, как:
- Линейное покрытие (LCV)
- Покрытие филиалов (BCV)
- Покрытие документации (DCV)
- Процент дублирующегося кода (DDP)
- Каждая метрика включает текущие значения, пороговые значения и статус «пройдено/не пройдено».
- Параметры:
update_metric_threshold
: обновить пороговое значение для определенной метрики качества- Параметры:
projectKey
(обязательно) — уникальный идентификатор проекта DeepSource.repositoryId
(обязательно) — идентификатор репозитория GraphQLmetricShortcode
(обязательно) — короткий код метрики для обновления.metricKey
(обязательно) — ключ языка или контекста для метрики.thresholdValue
(необязательно) — новое пороговое значение или null для удаления порога.
- Пример: Установить порог покрытия линии 80%: metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80
- Параметры:
update_metric_setting
: Обновить настройки для метрики качества- Параметры:
projectKey
(обязательно) — уникальный идентификатор проекта DeepSource.repositoryId
(обязательно) — идентификатор репозитория GraphQLmetricShortcode
(обязательно) — короткий код метрики для обновления.isReported
(обязательно) — следует ли сообщать метрикуisThresholdEnforced
(обязательно) — следует ли принудительно применять пороговое значение (может не пройти проверку)
- Параметры:
compliance_report
: получение отчетов о соответствии требованиям безопасности из проекта DeepSource- Параметры:
projectKey
(обязательно) — уникальный идентификатор проекта DeepSource.reportType
(обязательно) — тип отчета о соответствии, который необходимо получить ( OWASP Top 10 , SANS Top 25 или MISRA-C )
- Возвращает комплексные данные о соответствии требованиям безопасности, включая:
- Статистика проблем безопасности по категориям и серьезности
- Статус соответствия (пройдено/не пройдено)
- Данные о тенденциях, показывающие изменения с течением времени
- Анализ и рекомендации по улучшению состояния безопасности
- Параметры:
Разработка
- Клонируйте репозиторий:
- Установить зависимости:
- Создайте проект:
- Настроить рабочий стол Клода
Предпосылки
- Node.js 20 или выше
- pnpm 10.7.0 или выше
- Docker (для сборки контейнеров)
Скрипты
pnpm run build
— сборка кода TypeScriptpnpm run start
- Запустить серверpnpm run dev
- Запустить сервер в режиме разработкиpnpm run test
- Запустить тестыpnpm run lint
- Запустить ESLintpnpm run format
- Форматирование кода с помощью Prettier
Лицензия
Массачусетский технологический институт
You must be authenticated.
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.
Tools
Сервер Model Context Protocol, который интегрируется с DeepSource, чтобы предоставить помощникам на базе искусственного интеллекта доступ к показателям качества кода, проблемам и результатам анализа.
Related MCP Servers
- AsecurityAlicenseAqualityA 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 -56PythonApache 2.0
- -securityFlicense-qualityA 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 -1Python
- -securityAlicense-qualityA 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 -3PythonApache 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 -16TypeScript