Skip to main content
Glama

📦 NPM Helper — инструмент, который поможет вашему помощнику с управлением пакетами npm.🤖 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 методов:

  1. Скопируйте и вставьте конфигурацию json в файл конфигурации mcp вашего приложения.

{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. Введите команду для запуска сервера в настройках конфигурации mcp вашего приложения.

npx -y @pinkpixel/npm-helper-mcp

Вариант 2: Локальная установка

Если вы предпочитаете установить сервер локально, вы можете сделать это с помощью следующей команды:

# Install the package globally npm install -g npm-helper-mcp

Конфигурация:

  1. Скопируйте и вставьте конфигурацию json в файл конфигурации mcp вашего приложения.

{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. Введите команду для запуска сервера в настройках конфигурации mcp вашего приложения.

npm-helper-mcp

Вариант 3: Установка из исходного кода

# Clone the repository git clone https://github.com/pinkpixel-dev/npm-helper-mcp.git cd npm-helper-mcp # Install dependencies npm install # Build the project npm run build # Optionally run/test the server npm start

Конфигурация:

  1. Скопируйте и вставьте конфигурацию json в файл конфигурации mcp вашего приложения.

{ "mcpServers": { "npm-helper": { "command": "node", "args": [ "/path/to/npm-helper-mcp/dist/index.js" ] } } }
  1. Введите команду для запуска сервера в настройках конфигурации mcp вашего приложения.

node /path/to/npm-helper-mcp/dist/index.js

Использование с 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)

Пример:

{ "name": "check_updates", "arguments": { "packagePath": "./package.json", "filter": ["react", "lodash"], "peer": true, "minimal": true, "packageManager": "npm" } }

Инструмент: upgrade_packages

Обновляет зависимости до последних версий.

Параметры:

  • packagePath (необязательно): путь к файлу package.json (по умолчанию: ./package.json)

  • upgradeType (необязательно): Целевая версия для обновления (последняя, новейшая, лучшая, младшая, исправленная, semver)

  • interactive (необязательно): включить интерактивный режим для выбора обновлений

  • peer (необязательно): проверка зависимостей peer установленных пакетов

  • minimal (необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версий

  • packageManager (необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)

Пример:

{ "name": "upgrade_packages", "arguments": { "upgradeType": "minor", "peer": true, "minimal": true, "packageManager": "yarn" } }

Инструмент: filter_updates

Проверяет обновления для определенных пакетов.

Параметры:

  • packagePath (необязательно): путь к файлу package.json (по умолчанию: ./package.json)

  • filter (обязательно): Список имен пакетов для проверки

  • upgrade (необязательно): обновлять ли файл package.json или просто проверить

  • minimal (необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версий

  • packageManager (необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)

Пример:

{ "name": "filter_updates", "arguments": { "filter": ["react", "react-dom"], "upgrade": false, "minimal": true } }

Инструмент: resolve_conflicts

Обрабатывает конфликты зависимостей с использованием одноранговых зависимостей.

Параметры:

  • packagePath (необязательно): путь к файлу package.json (по умолчанию: ./package.json)

  • upgrade (необязательно): обновлять ли файл package.json или просто проверить

  • minimal (необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версий

  • packageManager (необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)

Пример:

{ "name": "resolve_conflicts", "arguments": { "upgrade": true, "packageManager": "npm" } }

Инструмент: set_version_constraints

Настраивает правила обновления версии.

Параметры:

  • packagePath (необязательно): путь к файлу package.json (по умолчанию: ./package.json)

  • target (обязательно): стратегия ограничения целевой версии (последняя, новейшая, наибольшая, младшая, исправленная, semver)

  • removeRange (необязательно): Удалить диапазоны версий из финальной версии пакета.

  • upgrade (необязательно): обновлять ли файл package.json или просто проверить

  • minimal (необязательно): не обновлять новые версии, которые уже удовлетворяют диапазону версий

  • packageManager (необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)

Пример:

{ "name": "set_version_constraints", "arguments": { "target": "minor", "removeRange": false, "upgrade": true, "packageManager": "pnpm" } }

Инструмент: run_doctor

Итеративно устанавливает обновления и запускает тесты для выявления ломающихся обновлений. Он автоматически отменяет ломающиеся обновления и сохраняет работающие.

Параметры:

  • packagePath (необязательно): путь к файлу package.json (по умолчанию: ./package.json)

  • doctorInstall (необязательно): Пользовательский скрипт установки для использования (по умолчанию: «npm install» или «yarn»)

  • doctorTest (необязательно): Пользовательский тестовый скрипт для использования (по умолчанию: «npm test»)

  • packageManager (необязательно): менеджер пакетов для использования (npm, yarn, pnpm, deno, bun, staticRegistry)

Пример:

{ "name": "run_doctor", "arguments": { "packagePath": "./package.json", "doctorInstall": "npm ci", "doctorTest": "npm run test:ci", "packageManager": "npm" } }

Инструмент: search_npm

Поиск пакетов npm.

Параметры:

  • query (обязательно): Поисковый запрос для пакетов npm

  • maxResults (необязательно): максимальное количество возвращаемых результатов (по умолчанию: 10)

Пример:

{ "name": "search_npm", "arguments": { "query": "react state management", "maxResults": 5 } }

Инструмент: fetch_package_content

Извлечение и анализ подробного содержимого со страницы пакета npm.

Параметры:

  • url (обязательно): URL страницы пакета npm

Пример:

{ "name": "fetch_package_content", "arguments": { "url": "https://www.npmjs.com/package/react" } }

Инструмент: get_package_versions

Получает доступные версии для пакета npm.

Параметры:

  • packageName (обязательно): Имя пакета npm

Пример:

{ "name": "get_package_versions", "arguments": { "packageName": "react" } }

Инструмент: get_package_details

Получает подробную информацию о пакете npm.

Параметры:

  • packageName (обязательно): Имя пакета npm

Пример:

{ "name": "get_package_details", "arguments": { "packageName": "react" } }

📝 Формат ответа

Все инструменты возвращают ответы в стандартном формате:

{ "status": "success" | "error", "data": {}, // Tool-specific data "message": "Human-readable message" }

🆘 Устранение неполадок

Проблемы с подключением**:

  • Убедитесь, что ваше приложение LLM правильно настроено для использования протокола контекста модели.

  • Проверьте файл .json на наличие ошибок или убедитесь, что команда запуска верна.

  • Если работаете локально, проверьте путь к файлу index.js. При необходимости используйте абсолютные пути.

Получение помощи

Если у вас возникли проблемы, не описанные здесь:

  • Проверьте GitHub на наличие похожих проблем и решений.

  • Создайте новую тему с подробным описанием вашей проблемы.

📄 Лицензия

Массачусетский технологический институт

🙏 Кредиты

Сделано с ❤️ Pink Pixel

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/pinkpixel-dev/npm-helper-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server