# vault-ask

Передаёт пароль или API-ключ агенту через одноразовую ссылку, не печатая значение в чате. Работает и в обратную сторону.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Автор: Erseni
- Лицензия: AGPL-3.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/Erseni/secrets-component/tree/HEAD/cli
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/mcp/vault-ask

## Что делает

\`vault-ask` показывает агенту ссылку на страницу Erseni Vault, вы открываете её, видите, для какой команды или файла предназначено значение, и вводите его. Агент получает только метаданные: имя, длину, куда ушло. Значение расшифровывается на вашей машине и попадает ровно в одно место: в окружение дочернего процесса (через `--`), в `.env` или в файл с правами 600.

Подкоманда `send` идёт в другую сторону: генерирует значение на локальной машине, шифрует свежим ключом AES-256-GCM, отдаёт человеку одноразовую ссылку и при желании пишет то же самое значение в `.env` или передаёт команде. Ключ едет только во фрагменте `#k=`, сервер хранит шифротекст. Уже существующее значение можно отправить флагами `--from-env` или `--from-file`.

Для Claude в комплекте есть хук `vault-ask-guard`: он запрещает читать файлы, куда `vault-ask` писал секреты, и не даёт запускать `vault-ask` через `env`, `echo`, `printf` и подобные обёртки. Хук разбирает текст команды, не выполняя её, поэтому ловит случайности, а не агента, который нарочно прячет путь. Агент под тем же системным пользователем с шеллом всё равно может прочитать память своих процессов — без разделения привилегий полной защиты не будет. Нужен Node.js 20 или новее; для учётной записи Vault пригодится `VAULT_ASK_API_KEY`, тогда запросы идут без proof of work и видны в дашборде.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `VAULT_ASK_API_KEY`, `VAULT_ASK_SERVER` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env VAULT_ASK_API_KEY=<VAULT_ASK_API_KEY> --env VAULT_ASK_SERVER=<VAULT_ASK_SERVER> --transport stdio cli -- npx -y @erseni/vault-ask
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add cli --env VAULT_ASK_API_KEY=<VAULT_ASK_API_KEY> --env VAULT_ASK_SERVER=<VAULT_ASK_SERVER> -- npx -y @erseni/vault-ask
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "cli": {
            "command": "npx",
            "args": [
                "-y",
                "@erseni/vault-ask"
            ],
            "env": {
                "VAULT_ASK_API_KEY": "<VAULT_ASK_API_KEY>",
                "VAULT_ASK_SERVER": "<VAULT_ASK_SERVER>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "cli": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@erseni/vault-ask"
            ],
            "env": {
                "VAULT_ASK_API_KEY": "<VAULT_ASK_API_KEY>",
                "VAULT_ASK_SERVER": "<VAULT_ASK_SERVER>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e VAULT_ASK_API_KEY=<VAULT_ASK_API_KEY> -e VAULT_ASK_SERVER=<VAULT_ASK_SERVER> cli npx -y @erseni/vault-ask
```
Вместо <…> подставьте свои значения

## Когда брать
- отдать агенту пароль к базе, не вставляя его в переписку
- записать несколько ключей в `.env` с правами 600
- сгенерировать токен и передать его коллеге одноразовой ссылкой
- скрыть секрет в выводе команды, заменив его на `***`
- не дать агенту прочитать файл, куда лёг секрет

## Примеры запросов агенту
- Достань `DB_PASSWORD` и запусти с ним `psql -h db.example.com -U app`
- Положи `STRIPE_KEY` и `SENTRY_DSN` в `.env` через `vault-ask`
- Сгенерируй токен на 48 символов и отправь ссылкой с подписью «Router admin»

## Похожие
- [credential-scanner](https://affpapa.org/nevibecode/skills/credential-scanner.md) — скилл · 538 установок
- [hush](https://affpapa.org/nevibecode/mcp/omarei-omoto-hush.md) — MCP-сервер · ★ 6
- [enigmagent-mcp](https://affpapa.org/nevibecode/mcp/enigmagent-mcp.md) — MCP-сервер · ★ 6
- [janee](https://affpapa.org/nevibecode/mcp/janee.md) — MCP-сервер · ★ 30
- [hashicorp-vault](https://affpapa.org/nevibecode/skills/hashicorp-vault.md) — скилл · 413 установок
- [ghost-scan-secrets](https://affpapa.org/nevibecode/skills/ghost-scan-secrets.md) — скилл · 4400 установок

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
