Сервер 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_API_KEY(обязательно): Ваш ключ API DeepSource для аутентификацииLOG_FILE(необязательно): Путь к файлу, в который должны записываться логи. Если не задано, логи записываться не будутLOG_LEVEL(необязательно): Минимальный уровень журнала для записи (DEBUG, INFO, WARN, ERROR). По умолчанию DEBUG
Пример конфигурации с ведением журнала:
Докер
НПХ
Доступные инструменты
Сервер 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 (хэш коммита) для идентификации запуска
recent_run_issues: получение проблем из последнего анализа, выполненного в определенной ветке, с поддержкой постраничного просмотраПараметры:
projectKey(обязательно) — уникальный идентификатор проекта DeepSource.branchName(обязательно) — имя ветки, из которой необходимо получить последний запуск.Параметры пагинации:
first(необязательно) — количество возвращаемых вопросов (по умолчанию 10)after(необязательно) - Курсор для прямой пагинацииlast(необязательно) — количество возвращаемых проблем перед курсором (по умолчанию: 10)before(необязательно) - Курсор для обратной пагинации
Возврат:
Информация о последнем прогоне на ветке
Текущие проблемы в проекте (примечание: проблемы касаются уровня репозитория, а не конкретного запуска)
Информация о пагинации, включая курсоры и статус страницы
Метаданные о запуске и ветвлении
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
Поиск неисправностей
Включить отладочное ведение журнала
Если у вас возникли проблемы, включите ведение журнала отладки, чтобы увидеть подробную информацию:
Установите переменную среды
LOG_FILEна путь к файлу, куда должны записываться журналы.Установите
LOG_LEVELнаDEBUG(это значение по умолчанию)Проверьте файл журнала для получения подробной информации об ошибке.
Пример конфигурации:
Затем проверьте файл журнала:
Общие проблемы
Ошибка аутентификации : убедитесь, что ваш
DEEPSOURCE_API_KEYправильный и имеет необходимые разрешения.Журналы не отображаются : убедитесь, что путь
LOG_FILEдоступен для записи и родительский каталог существует.Ошибки инструмента : проверьте файл журнала на наличие подробных сообщений об ошибках и трассировок стека.
Лицензия
Массачусетский технологический институт
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