by arvindand (community) Claude Desktop, Claude Code, OpenCode, любой MCP-клиент, Java 21+, Docker, Spring Boot 4.1.0+, Spring AI 2.0.0+
MCP-сервер, дающий AI-ассистентам данные о зависимостях Maven Central для всех JVM-инструментов сборки (Maven, Gradle, SBT, Mill). Интеграция с Context7 для документации.
MCP-сервер для доступа к актуальной документации библиотек прямо в контексте LLM. Вместо устаревших обучающих данных — …
Официальный MCP от команды Chrome DevTools: дает AI-агентам полный доступ к инструментам разработчика браузера. Автоматизация через …
Официальный MCP-сервер от Microsoft для управления браузером через Playwright. Использует accessibility tree вместо скриншотов — быстрее, …
Официальный MCP-сервер от GitHub: управление репозиториями, issues, pull requests, code search и Actions прямо из AI-агента.
# STDIO + Context7 (стандартный вариант для десктопных MCP-клиентов) docker run -i --rm arvindand/maven-tools-mcp:latest # STDIO без Context7 (если Context7 заблокирован или не требуется) docker run -i --rm arvindand/maven-tools-mcp:latest-noc7 # HTTP-транспорт (для стриминговых HTTP-клиентов и сайдкаров) docker run -i --rm arvindand/maven-tools-mcp:latest-http
Сервер Maven Tools MCP Server предоставляет клиентам, поддерживающим MCP, практическое средство для анализа зависимостей JVM с использованием данных из живого Maven Central.
Он предназначен для разработчиков и агентов, которым нужно больше, чем просто поиск версии: фильтрация по стабильности, сравнение версий для обновления, сигналы о состоянии зависимостей, данные о лицензиях, проверка уязвимостей (CVE) и необязательные запросы документации через Context7.

Используйте Maven Tools MCP, когда хотите:
pom.xml в эффективные версии для каждой зависимости — просматривая цепочку родителей, применяя <dependencyManagement>, импортируя BOM-файлы — без фактической сборки проекта (полезно для проверок перед CI, запросов на обновление зависимостей, многомодульных монорепозиториев и любого проекта, где обновление библиотеки означает обновление BOM вместо этого)Этот проект работает с любым JVM-инструментом сборки, который полагается на Maven Central. Входные данные — это стандартные координаты Maven, поэтому те же данные применимы к проектам Maven, Gradle, SBT и Mill.
Этот проект наиболее полезен, когда простой поиск пакета недостаточен.
Одним из более интересных применений этого проекта является поддержка зависимостей, управляемая агентами.
Основной сервер не открывает pull request-ы сам по себе, но предоставляет агенту достаточно актуального контекста о зависимостях, чтобы принимать более безопасные решения об обновлениях по сравнению с workflow-процессом слепого увеличения версии. Инструмент recommend_pom_upgrades был создан именно для такого сценария: не-LLM агент передаёт ему сырой pom.xml, применяет каждую запись deterministic_actions[] на её идентифицированном поле версии или свойстве, и выводит needs_attention[] для отдельного обзора человеком или LLM. Нет развертывания по координатам и нет рекомендаций, которые агент не может применить — транзитивно управляемые BOM-файлы и управляемые объявления без корневого места редактирования фильтруются.
Самый яркий пример — это собственный еженедельный процесс самообновления этого репозитория: GitHub Actions управляет выполнением, один вызов MCP возвращает список действий, агент применяет изменения, и результатом становится pull request для обзора. Проверка основных обновлений — это единственный путь, который просит Copilot помочь с оценкой и формулированием миграции.
Именно поэтому настройка dogfooding важна не только для этого репозитория. Она демонстрирует, в небольшом и конкретном виде, тот же подход, на который могут опираться более широкие GitHub Agentic Workflows: оркестратор workflow, структурированный вывод инструментов для детерминированных изменений, ИИ-работник только там, где полезно суждение, и в конце концов изменение, проверенное человеком.
Добавьте это в конфигурацию Claude Desktop:
{
"mcpServers": {
"maven-tools": {
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}
Создайте .vscode/mcp.json в вашем рабочем пространстве:
{
"servers": {
"maven-tools": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}
| Тег | Транспорт | Context7 | Лучше для |
|---|---|---|---|
:latest |
STDIO | Да | Использование MCP по умолчанию на настольном ПО |
:latest-noc7 |
STDIO | Нет | Сети, где Context7 блокируется или не нужен |
:latest-http |
HTTP | Да | Клиенты потокового HTTP и рабочие процессы sidecar |
CONTEXT7_API_KEY необязательно. Большинство конфигураций могут начать без него. Если ваша среда требует аутентификации Context7 или вы хотите избежать анонимных ограничений, передайте его через Docker с помощью -e CONTEXT7_API_KEY.
Для более полного руководства по настройке, включая использование JAR/нативный, Docker Compose и примечания по окружению, смотрите docs/setup.md.
Сервер предоставляет 11 инструментов MCP.
| Инструмент | Что делает |
|---|---|
get_latest_version |
Находит последнюю версию с учётом стабильности |
check_version_exists |
Проверяет конкретную версию и классифицирует её стабильность |
check_multiple_dependencies |
Массовый поиск координат зависимостей |
compare_dependency_versions |
Сравнивает текущие версии с доступными обновлениями |
analyze_dependency_age |
Классифицирует возраст зависимости |
analyze_release_patterns |
Анализирует частоту релизов и сигналы поддержки |
analyze_project_health |
Проводит более широкую аудиторскую проверку здоровья зависимостей |
analyze_pom_dependencies |
Зависимость от POM: разрешает эффективные версии из сырого pom.xml, классифицирует как EXPLICIT / MANAGED / EXPLICIT_OVERRIDE, выявляет конфликты множественных BOM |
recommend_pom_upgrades |
Зависимость от POM: возвращает детерминированные явные, BOM и корневые записи управления зависимостями для применения агентом, а также список needs_attention с мажорными / конфликтами / переопределениями для проверки человеком или ИИ |
| Инструмент | Что делает |
|---|---|
resolve-library-id |
Находит идентификатор библиотеки документации |
query-docs |
Получает документацию по идентификатору библиотеки Context7 |
Для параметров, примеров и замечаний по каждому инструменту смотрите docs/tools.md.
Два инструмента принимают целый POM (сырой XML), а не одну координату. Оба обходят цепочку родительских POM, применяют <dependencyManagement>, разрешают импорты <scope>import</scope> BOM по Maven Central, локализуют ${project.version} для каждого POM, чтобы заглушки импортированного BOM разрешались в версию этого BOM (а не импортера), и принимают необязательный пакет sideloadedPoms для монорепозиторных братьев / нерелизованных родителей.
analyze_pom_dependencies — возвращает каждую объявленную зависимость с эффективной версией + классификацией (EXPLICIT / MANAGED / EXPLICIT_OVERRIDE) + координатами управляющего BOM + любыми конфликтами multi-BOM. Используйте, когда хотите получить сырой анализ ("что мой POM фактически разрешает?").recommend_pom_upgrades — расширяет анализатор и возвращает два списка: deterministic_actions (механические правки — explicit_bump для объявленных зависимостей, bom_bump для управляемых пользователем BOM, managed_decl_bump для прямых корневых записей управления зависимостями и plugin_dep_bump для прямых зависимостей сборки/плагинов) и needs_attention (мажорные, конфликты множественных BOM и явные переопределения). Действия для собственных объявлений включают метаданные о месте правки; действия для плагинов также указывают владельца плагина, чтобы клиент мог редактировать нужный блок напрямую.Рекомендации по обновлению ограничены параметрами, которые вызывающий может фактически изменить в исходном POM: прямой <parent>, корневые импорты BOM, явные зависимости и прямые неимпортируемые записи управления зависимостями с буквальной версией или точной собственной корневой свойством. Транзитивно импортированные BOM, унаследованные свойства и составные выражения свойств тихо пропускаются, так как не имеют однозначного места правки в исходном файле.
Распространённый запрос в Copilot или Claude:
Проверьте все последние версии зависимостей в моём
pom.xmlи укажите на потенциально опасные.
Хороший ответ от этого сервера даёт клиенту структурированную информацию, такую как:
Для более широких вопросов вроде "какую библиотеку мне выбрать?", полезный шаблон заключается в следующем: позвольте модели использовать Maven Tools MCP для получения актуальных координат, сигналов версии/стабильности и контекста обновлений, затем объедините это с документацией Context7 (доступной через инструменты, предоставляемые образом по умолчанию), и, при необходимости, клиентским веб-поиском для получения контекста экосистемы, который этот сервер не предоставляет самостоятельно.
Для дополнительных примеров prompt-ов смотрите docs/examples.md. Также существует maven-tools навык в отдельном репозитории agent-skills, который предоставляет агентам общие рекомендации по эффективному использованию Maven Tools MCP в различных сценариях, тогда как локальные примеры prompt-ов и агент для самопроверки определяют более конкретные пути.
Этот репозиторий запускает еженедельный workflow самообновления, который использует локального Python-агента против собственного pom.xml и открывает просмотрочный PR для безопасных обновлений зависимостей. Агент передаёт сырой POM в recommend_pom_upgrades и применяет возвращённые deterministic_actions[] напрямую — без распараллеливания по координатам, без разбора XML на Python. Единственный режим, который использует GitHub Copilot SDK, — это ручные запуски major-review.
Этот процесс задокументирован в docs/dogfooding.md, включая:
agents/copilot-maven-tools-agent/COPILOT_BOT_PAT для создания PR и запусков major-reviewДля дополнительных замечаний по использованию смотрите раздел FAQ в docs/examples.md.
Разрешитель эффективного POM под com.arvindand.mcp.maven.pom следует структуре разрешения maxxq-org/maxxq-maven (MIT, Guy Chauliac), ограниченной здесь разрешением объявленных зависимостей. Смотрите NOTICE.
docs/setup.md - установка, конфигурация клиента, варианты образов, варианты сборки из исходниковdocs/tools.md - полный каталог инструментов, параметры и поведение ответовdocs/examples.md - практические prompt-ы, продвинутые сценарии использования, переиспользуемые команды и замечания FAQdocs/dogfooding.md - еженедельный workflow самообновления и интеграция агентаdocs/troubleshooting.md - распространённые проблемы окружения и их решенияdocs/architecture.md - принципы проектирования, варианты транспорта/времени выполнения и технические замечанияCORPORATE-CERTIFICATES.md - поддержка настраиваемых корневых сертификатов для закрытых сетей{
"servers": {
"maven-tools": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}
Если вы хотите собрать или протестировать локально, начните с docs/setup.md и вспомогательных скриптов в build/.
История проекта и примечания к выпускам находятся в CHANGELOG.md.
Этот проект лицензирован по лицензии MIT. См. LICENSE.
Arvind Menon