NPM Helper MCP

MIT License
367
1
  • Linux
  • Apple

Integrations

  • Supports Bun as a package manager option for dependency updating and package management operations

  • Supports Deno as a package manager option for dependency updating and package management operations

  • Offers example functionality for managing and updating Lodash dependencies in JavaScript projects

📦 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.

📋 Предварительные условия

Прежде чем начать, убедитесь, что у вас установлено следующее:

  • 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

Сервер Model Context Protocol, предоставляющий инструменты для управления пакетами NPM, включая поиск зависимостей, обновления, разрешение конфликтов и управление версиями, чтобы помочь помощникам ИИ безопасно обновлять зависимости проекта.

  1. ✨ Особенности
    1. npm-check-updates Инструменты
    2. Инструменты поиска NPM
  2. 🚀 Руководство по установке npm-helper-mcp
    1. 📋 Предварительные условия
    2. 🔧 Конфигурация
    3. Использование с LLM
    4. 📝 Формат ответа
    5. 🆘 Устранение неполадок
    6. 📄 Лицензия
    7. 🙏 Кредиты

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.
    Last updated -
    7
    2
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.
    Last updated -
    5
    6
    Python
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    A 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 -
    9
    TypeScript
    MIT License
    • Linux
    • Apple
  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that allows AI models to fetch detailed information about npm packages and discover popular packages in the npm ecosystem.
    Last updated -
    1
    TypeScript

View all related MCP servers

ID: 4qbql03398