📦 NPM Helper — инструмент, который поможет вашему помощнику с управлением пакетами npm.🤖 
Сервер Model Context Protocol для управления зависимостями NPM. Этот сервер предоставляет инструменты для поиска пакетов NPM и инструменты для обновления пакетов npm, гарантируя, что зависимости вашего проекта будут актуальными и обновленными до последних совместимых версий, без каких-либо конфликтов или головной боли.
В качестве основы для безопасного обновления package.json любого проекта ваш помощник может вызвать инструмент upgradePackagets с параметром 'peer', установленным на true. Это, скорее всего, не обновит все ваши зависимости до последних версий, но безопасно обновит их до последних совместимых версий без каких-либо ошибок.
Если вы ищете полное обновление всех зависимостей, ваш помощник имеет много инструментов и параметров для безопасного исследования. Параметры и примеры предоставлены ниже, в разделе «Доступные инструменты». Вы также можете найти больше информации в каталоге 'docs'.
Также доступны инструменты для поиска и извлечения информации из npmjs, если вы изучаете варианты добавления новых пакетов в свой проект или ищете информацию о конкретном пакете.
✨ Особенности
npm-check-updates Инструменты
🔍 checkUpdates : сканирование package.json на предмет устаревших зависимостей
🚀 upgradePackages : обновить зависимости до последних версий
🔎 filterUpdates : проверка обновлений для определенных пакетов
🔄 resolveConflicts : Разрешение конфликтов зависимостей
⚙️ setVersionConstraints : Настройка правил обновления версии
🩺 runDoctor : итеративный запуск обновлений и тестов для обнаружения критических изменений
Инструменты поиска NPM
🔍 searchPackages : Поиск пакетов в реестре npmjs.org
📝 fetchPackageContent : извлечение и сбор контента со страниц пакетов npm
📋 getPackageVersions : Получить историю версий пакетов
📝 getPackageDetails : Извлечение подробных метаданных пакета
🚀 Руководство по установке npm-helper-mcp
Это руководство поможет вам настроить и запустить сервер npm-helper-mcp.
Related MCP server: NPM Sentinel MCP
📋 Предварительные условия
Прежде чем начать, убедитесь, что у вас установлено следующее:
Node.js (версия 18.x или более поздняя)
npm (версия 8.x или более поздняя)
🔧 Конфигурация
Сервер npm-helper-mcp реализует протокол контекста модели, который позволяет ему взаимодействовать с приложениями LLM, поддерживающими этот протокол.
Конфигурация различается в зависимости от приложения. Как правило, большинство клиентских приложений mcp имеют файл конфигурации .json или место для ввода команды для запуска сервера. Один из этих 2 вариантов должен работать в большинстве случаев.
Вариант 1: Запуск с npx
Самый простой способ использовать сервер — запустить его с помощью npx, который не требует локальной установки. В зависимости от вашего клиента mcp используйте один из следующих 2 методов:
Скопируйте и вставьте конфигурацию json в файл конфигурации mcp вашего приложения.
Введите команду для запуска сервера в настройках конфигурации mcp вашего приложения.
Вариант 2: Локальная установка
Если вы предпочитаете установить сервер локально, вы можете сделать это с помощью следующей команды:
Конфигурация:
Скопируйте и вставьте конфигурацию json в файл конфигурации mcp вашего приложения.
Введите команду для запуска сервера в настройках конфигурации mcp вашего приложения.
Вариант 3: Установка из исходного кода
Конфигурация:
Скопируйте и вставьте конфигурацию json в файл конфигурации mcp вашего приложения.
Введите команду для запуска сервера в настройках конфигурации mcp вашего приложения.
Использование с LLM
Этот сервер следует протоколу Model Context Protocol, что позволяет использовать его LLM, таким как Клод. LLM может использовать инструменты сервера для выполнения различных операций npm.
Доступные инструменты
Инструмент: check_updates
Сканирует package.json на предмет устаревших зависимостей.
Параметры:
packagePath(необязательно): путь к файлу package.json (по умолчанию: ./package.json)filter(необязательно): список имен пакетов для проверкиreject(необязательно): Список имен пакетов для исключенияtarget(необязательно): Целевая версия для обновления (последняя, новейшая, лучшая, младшая, исправленная, semver)interactive(необязательно): включить интерактивный режим для выбора обновленийpeer(необязательно): проверка зависимостей peer установленных пакетовminimal(необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версийpackageManager(необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)
Пример:
Инструмент: upgrade_packages
Обновляет зависимости до последних версий.
Параметры:
packagePath(необязательно): путь к файлу package.json (по умолчанию: ./package.json)upgradeType(необязательно): Целевая версия для обновления (последняя, новейшая, лучшая, младшая, исправленная, semver)interactive(необязательно): включить интерактивный режим для выбора обновленийpeer(необязательно): проверка зависимостей peer установленных пакетовminimal(необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версийpackageManager(необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)
Пример:
Инструмент: filter_updates
Проверяет обновления для определенных пакетов.
Параметры:
packagePath(необязательно): путь к файлу package.json (по умолчанию: ./package.json)filter(обязательно): Список имен пакетов для проверкиupgrade(необязательно): обновлять ли файл package.json или просто проверитьminimal(необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версийpackageManager(необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)
Пример:
Инструмент: resolve_conflicts
Обрабатывает конфликты зависимостей с использованием одноранговых зависимостей.
Параметры:
packagePath(необязательно): путь к файлу package.json (по умолчанию: ./package.json)upgrade(необязательно): обновлять ли файл package.json или просто проверитьminimal(необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версийpackageManager(необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)
Пример:
Инструмент: set_version_constraints
Настраивает правила обновления версии.
Параметры:
packagePath(необязательно): путь к файлу package.json (по умолчанию: ./package.json)target(обязательно): стратегия ограничения целевой версии (последняя, новейшая, наибольшая, младшая, исправленная, semver)removeRange(необязательно): Удалить диапазоны версий из финальной версии пакета.upgrade(необязательно): обновлять ли файл package.json или просто проверитьminimal(необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версийpackageManager(необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)
Пример:
Инструмент: run_doctor
Итеративно устанавливает обновления и запускает тесты для выявления ломающихся обновлений. Он автоматически отменяет ломающиеся обновления и сохраняет работающие.
Параметры:
packagePath(необязательно): путь к файлу package.json (по умолчанию: ./package.json)doctorInstall(необязательно): Пользовательский скрипт установки для использования (по умолчанию: «npm install» или «yarn»)doctorTest(необязательно): Пользовательский тестовый скрипт для использования (по умолчанию: «npm test»)packageManager(необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)
Пример:
Инструмент: search_npm
Поиск пакетов npm.
Параметры:
query(обязательно): Поисковый запрос для пакетов npmmaxResults(необязательно): максимальное количество возвращаемых результатов (по умолчанию: 10)
Пример:
Инструмент: fetch_package_content
Извлечение и анализ подробного содержимого со страницы пакета npm.
Параметры:
url(обязательно): URL страницы пакета npm
Пример:
Инструмент: get_package_versions
Получает доступные версии для пакета npm.
Параметры:
packageName(обязательно): Имя пакета npm
Пример:
Инструмент: get_package_details
Получает подробную информацию о пакете npm.
Параметры:
packageName(обязательно): Имя пакета npm
Пример:
📝 Формат ответа
Все инструменты возвращают ответы в стандартном формате:
🆘 Устранение неполадок
Проблемы с подключением**:
Убедитесь, что ваше приложение LLM правильно настроено для использования протокола контекста модели.
Проверьте файл .json на наличие ошибок или убедитесь, что команда запуска верна.
Если работаете локально, проверьте путь к файлу index.js. При необходимости используйте абсолютные пути.
Получение помощи
Если у вас возникли проблемы, не описанные здесь:
Проверьте GitHub на наличие похожих проблем и решений.
Создайте новую тему с подробным описанием вашей проблемы.
📄 Лицензия
Массачусетский технологический институт
🙏 Кредиты
Сделано с ❤️ Pink Pixel