**Почему 1-й JSON работает:**
```json
{ "command": "npx", "args": ["-y","@upstash/context7-mcp"] }
```
- Rider запускает **не через шелл**, а прямым `exec("npx", …)` и берёт уже готовый **PATH самого процесса Rider**.
- В Вашем случае этот PATH **уже содержит** путь к Homebrew/Node (`/opt/homebrew/bin` или `~/.nvm/.../bin`), поэтому `npx` и его шебанг `#!/usr/bin/env node` находят `node` — всё стартует.
**Почему 2-й JSON не работает:**
```json
{ "command": "/bin/zsh", "args": ["-lc", "npx -y @upstash/context7-mcp"] }
```
- Здесь Вы создаёте **новый процесс zsh в режиме login, но НЕ интерактивный** (`-l -c`).
- Такой zsh читает **только `~/.zprofile`**, **а `~/.zshrc` — нет**.
- У Вас Homebrew/NVM прописаны в `~/.zshrc`, значит внутри этого `zsh -lc` **нет нужного PATH**, `npx/node` не находятся — отсюда «не работает».
Мини-проверка разницы (увидите два разных PATH):
```bash
# что видит сам Rider-процесс (терминал Rider):
printenv PATH; command -v npx; command -v node
# что видит zsh -lc (login, non-interactive):
zsh -lc 'echo "$PATH"; command -v npx; command -v node; [[ -o login ]] && echo login || echo non-login'
```
**Как сделать, чтобы второй вариант тоже работал (любой способ):**
1. Добавить интерактивность, чтобы читался `~/.zshrc` (добавить ключ `i`):
```json
{ "command": "/bin/zsh", "args": ["-lic", "npx -y @upstash/context7-mcp"] }
```
2. Или перенести критичные строки (Homebrew/NVM) из `~/.zshrc` в `~/.zprofile`, оставив в `.zshrc` только алиасы/промпт. Тогда хватит `-lc`.
3. Или не зависеть от шелла вовсе — указать **абсолютный путь** и `env.PATH`:
```json
{
"command": "/Users/USER/.nvm/versions/node/v22.19.0/bin/npx",
"args": ["-y","@upstash/context7-mcp"],
"env": { "PATH": "/Users/USER/.nvm/versions/node/v22.19.0/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin" }
}
```
Итого: 1-й конфиг «случайно» удачный, потому что живёт на PATH Rider’а; 2-й создаёт новое окружение, где не читается `.zshrc`. Добавьте `-i`, либо перенесите окружение в `.zprofile`, либо зафиксируйте абсолютные пути — и всё будет единообразно.