DeepSource MCP Server
Сервер DeepSource MCP
Сервер Model Context Protocol (MCP), который интегрируется с DeepSource, чтобы предоставить помощникам на базе искусственного интеллекта доступ к показателям качества кода, проблемам и результатам анализа.
Обзор
DeepSource MCP Server позволяет помощникам ИИ взаимодействовать с возможностями анализа качества кода DeepSource через Model Context Protocol. Эта интеграция позволяет помощникам ИИ:
Извлечение метрик кода и результатов анализа
Проблемы с доступом и фильтрацией
Проверить статус качества
Анализ качества проекта с течением времени
Related MCP server: CodeAlive MCP
Функции
Интеграция с 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 с такими запросами:
What issues are in the JavaScript files of my project?Для этого будет использоваться инструмент project_issues с фильтрами:
{
"projectKey": "your-project-key",
"path": "src/",
"analyzerIn": ["javascript"],
"first": 10
}Для фильтрации результатов анализа:
Show me the most recent Python analysis runsДля этого будет использоваться инструмент project_runs с фильтрами:
{
"projectKey": "your-project-key",
"analyzerIn": ["python"],
"first": 5
}Для показателей качества кода:
What's my code coverage percentage? Is it meeting our thresholds?Для этого будет использоваться инструмент quality_metrics :
{
"projectKey": "your-project-key",
"shortcodeIn": ["LCV", "BCV", "CCV"]
}Для отчетов о соответствии требованиям безопасности:
Are we compliant with OWASP Top 10 security standards?Для этого будет использоваться инструмент compliance_report :
{
"projectKey": "your-project-key",
"reportType": "OWASP_TOP_10"
}Для установки пороговых значений:
Update our line coverage threshold to 80%Для этого будет использоваться инструмент update_metric_threshold :
{
"projectKey": "your-project-key",
"repositoryId": "repo-id",
"metricShortcode": "LCV",
"metricKey": "AGGREGATE",
"thresholdValue": 80
}Переменные среды
Сервер поддерживает следующие переменные среды:
DEEPSOURCE_API_KEY(обязательно): Ваш ключ API DeepSource для аутентификацииLOG_FILE(необязательно): Путь к файлу, в который должны записываться логи. Если не задано, логи записываться не будутLOG_LEVEL(необязательно): Минимальный уровень журнала для записи (DEBUG, INFO, WARN, ERROR). По умолчанию DEBUG
Пример конфигурации с ведением журнала:
{
"mcpServers": {
"deepsource": {
"command": "npx",
"args": [
"-y",
"deepsource-mcp-server@1.1.0"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key",
"LOG_FILE": "/tmp/deepsource-mcp.log",
"LOG_LEVEL": "DEBUG"
}
}
}
}Докер
{
"mcpServers": {
"deepsource": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DEEPSOURCE_API_KEY",
"-e",
"LOG_FILE=/tmp/deepsource-mcp.log",
"-v",
"/tmp:/tmp",
"sapientpants/deepsource-mcp-server"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key",
"LOG_FILE": "/tmp/deepsource-mcp.log"
}
}
}
}НПХ
{
"mcpServers": {
"deepsource": {
"command": "npx",
"args": [
"-y",
"deepsource-mcp-server@1.1.0"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key"
}
}
}
}Доступные инструменты
Сервер 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 )
Возвращает комплексные данные о соответствии требованиям безопасности, включая:
Статистика проблем безопасности по категориям и серьезности
Статус соответствия (пройдено/не пройдено)
Данные о тенденциях, показывающие изменения с течением времени
Анализ и рекомендации по улучшению состояния безопасности
Разработка
Клонируйте репозиторий:
git clone https://github.com/sapientpants/deepsource-mcp-server.git
cd deepsource-mcp-serverУстановить зависимости:
pnpm installСоздайте проект:
pnpm run buildНастроить рабочий стол Клода
{
"mcpServers": {
"deepsource": {
"command": "node",
"args": [
"/path/to/deepsource-mcp-server/dist/index.js"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key"
}
}
}
}Предпосылки
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(это значение по умолчанию)Проверьте файл журнала для получения подробной информации об ошибке.
Пример конфигурации:
{
"mcpServers": {
"deepsource": {
"command": "npx",
"args": ["-y", "deepsource-mcp-server@1.1.0"],
"env": {
"DEEPSOURCE_API_KEY": "your-api-key",
"LOG_FILE": "/tmp/deepsource-mcp.log",
"LOG_LEVEL": "DEBUG"
}
}
}
}Затем проверьте файл журнала:
tail -f /tmp/deepsource-mcp.logОбщие проблемы
Ошибка аутентификации : убедитесь, что ваш
DEEPSOURCE_API_KEYправильный и имеет необходимые разрешения.Журналы не отображаются : убедитесь, что путь
LOG_FILEдоступен для записи и родительский каталог существует.Ошибки инструмента : проверьте файл журнала на наличие подробных сообщений об ошибках и трассировок стека.
Лицензия
Массачусетский технологический институт
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
- FlicenseDqualityDmaintenanceA comprehensive Model Context Protocol server for advanced code analysis that provides tools for syntax analysis, dependency visualization, and AI-assisted development workflow support.287

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- -licenseBquality-maintenanceA Model Context Protocol server that enables AI assistants to fetch and understand GitHub repository documentation on-demand from DeepWiki during conversations.3
- 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…
A Model Context Protocol server for Wix AI tools
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
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/sapientpants/deepsource-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server