Use when the agent needs access to the outside world and it is unclear what is connected - "подключи mcp", "настрой доступы", "почему ты не видишь логи", "не видишь мою базу", "подключи vercel", "подключи supabase", "подключи stitch", "нарисуй макет", "сделай дизайн экрана", "connect mcp", "set up mcp servers". Also use before deploying, before touching a database, before generating UI or screen mockups, and whenever a tool call fails with an authentication error rather than a code error.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add AzamatRaimbekov/vibe-coding-mentor --skill mcp-setup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mcp Setup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/azamatraimbekov-mcp-setup)More formats (shields.io, HTML) on the badges page.
---
name: mcp-setup
description: Use when the agent needs access to the outside world and it is unclear what is connected - "подключи mcp", "настрой доступы", "почему ты не видишь логи", "не видишь мою базу", "подключи vercel", "подключи supabase", "подключи stitch", "нарисуй макет", "сделай дизайн экрана", "connect mcp", "set up mcp servers". Also use before deploying, before touching a database, before generating UI or screen mockups, and whenever a tool call fails with an authentication error rather than a code error.
---
# Подключение доступов (MCP)
## Overview
**MCP** — способ дать агенту доступ к внешней службе: к твоему хостингу, базе,
сервису макетов. Как связка ключей: без нужного ключа дверь не открывается,
но выглядит она точно так же, как открытая. → [что такое MCP](https://modelcontextprotocol.io/)
Отсюда главная беда: **отсутствующий доступ не даёт ошибку.** Агент не говорит
«я не вижу лог», он пересказывает вероятный лог. Не говорит «я не знаю схему базы»,
а пишет запрос к выдуманным колонкам. Человек получает правдоподобный вымысел
и не может отличить его от факта.
Скил закрывает это: подключает всё, что можно подключить без человека, а остальное
превращает в короткий список со **ссылкой на нужную страницу** и объяснением,
почему я не могу сделать это сам.
## Как запускать
```bash
bash ~/.claude/skills/mcp-setup/scripts/ensure-mcp.sh # подключает
bash ~/.claude/skills/mcp-setup/scripts/ensure-mcp.sh --check-only # только показать
bash ~/.claude/skills/mcp-setup/scripts/ensure-mcp.sh --open # плюс открыть сайты в браузере
bash ~/.claude/skills/mcp-setup/scripts/add-key.sh <служба> <КЛЮЧ> # сохранить ключ и подключить
```
По умолчанию скрипт **подключает**, а не докладывает. `--open` открывает страницы
входа прямо в браузере — использовать, только когда человек сказал «давай подключим»:
самовольно открытые вкладки раздражают.
Запускается перед деплоем, перед работой с базой, перед рисованием макетов —
и всегда, когда вызов инструмента упал с ошибкой доступа, а не кода.
## Как читать вывод
| Строка | Что значит | Что делаю |
|--------|-----------|-----------|
| `OK <имя>` | подключено и работает | молчу |
| `+ подключил <имя>` | я подключил сам | баннер `🔌 Я ПОДКЛЮЧИЛ`, строка пользы |
| `AUTH <имя>` | сервер есть, но нужен вход | выношу в блок «что сделать тебе» |
| `FAILED <имя>` | сервер отвечает ошибкой | говорю вслух, какой возможности нет |
| `ЧЕЛОВЕК что\|ссылка\|почему` | нужен ключ из его аккаунта | даю ссылку и готовую команду `add-key.sh` |
| `KEYCMD …` | готовая команда для человека | вставляю её в блок «что сделать тебе» дословно |
**`AUTH` опаснее, чем «нет».** Отсутствующий сервер честен — его не видно.
Сервер в состоянии «нужен вход» притворяется рабочим: инструменты видны,
каждый вызов падает. Человек уходит чинить код вместо того, чтобы войти в аккаунт.
## Что подключается само, а что нет
Разбор по службам — что ломается без каждой, команда или ссылка:
`references/services.md`.
**Правило одно: у человека я прошу только ключ.** Найти инструкцию, вспомнить адрес
сервера, собрать команду, подключить, проверить — моя работа целиком. Его работа —
принести ключ, потому что ключ лежит в его аккаунте и больше нигде.
| Служба | Что делаю я | Что делает человек |
|--------|-------------|--------------------|
| Playwright | всё | ничего |
| Vercel | добавляю сервер | подтверждает вход в браузере (`/mcp`) |
| 21st.dev | добавляю сервер | подтверждает вход |
| **Stitch** | собираю и выполняю команду подключения | **приносит ключ** |
| **Supabase** | то же | **приносит токен** |
### Как просить ключ
Не «сходи почитай инструкцию и пришли адрес сервера» — это перекладывание работы.
Пункт человеку состоит из трёх вещей и укладывается в две строки:
> Открой [stitch.withgoogle.com](https://stitch.withgoogle.com) → Settings → API Tokens →
> Generate New Token. Скопируй ключ и выполни:
> `bash ~/.claude/skills/mcp-setup/scripts/add-key.sh stitch <КЛЮЧ>`
> Дальше я всё сделаю сам. Ключ нужен потому, что он лежит в твоём аккаунте;
> в чат его присылать нельзя — команда сохранит его на диск.
Скрипт `add-key.sh` кладёт ключ в `~/.claude/.secrets/` с правами `600`
(файл видно только владельцу) и **сразу подключает службу**. Человек делает
одно действие, не два.
**Ключ в чат не просить никогда.** Присланный в переписку ключ считается
утёкшим: он остаётся в истории. Если человек всё же прислал — скажи об этом
и попроси отозвать ключ на той же странице, где он его брал.
### Проверять делом, а не списком
`✔ Connected` у сервера с ключом означает только, что сервер отвечает.
Негодный ключ виден не в списке, а при первом вызове инструмента.
Поэтому после подключения — **сделай самый дешёвый настоящий вызов**
(например, список проектов) и только потом объявляй `🔌 Я ПОДКЛЮЧИЛ`.
## Правила разговора
1. **Баннер до запуска.** Человек не должен гадать из-за паузы.
2. **Последствие вместо факта.** Не «Supabase не подключён», а «схему базы я буду
только предполагать — имена колонок в моих запросах непроверены».
3. **Максимум три пункта человеку.** Больше трёх — я свалил свою работу.
4. **Ссылка обязательна.** Пункт без ссылки заставляет человека искать страницу
самому — это та же перекладка работы, только незаметная.
5. **Три части в каждом пункте:** что сделать · зачем · почему я не могу сам.
Без третьей части это выглядит как лень.
## Rationalization Table
| Отговорка | Реальность |
|-----------|------------|
| «Разберусь с доступом, когда упрётся» | Упрётся в виде выдуманного лога, который не отличить от настоящего |
| «Сервер в списке есть, значит работает» | `Needs authentication` — тоже «в списке». Каждый вызов упадёт |
| «Скажу, что нужно подключить» | Подключаю сам всё, где не нужен его аккаунт |
| «Дам название сервиса, он найдёт» | Название без ссылки — задание на поиск, а не помощь |
| «Пусть прочитает инструкцию и пришлёт адрес сервера» | Читать инструкцию — моя работа. Его — только ключ |
| «Пусть пришлёт ключ в чат, я вставлю» | Ключ в переписке считается утёкшим. Только через `add-key.sh` |
| «Сервер в состоянии Connected — ключ рабочий» | Негодный ключ виден только при вызове. Проверяй делом |
| «Опишу, что примерно в базе» | Не прочитал — не пересказывай. Скажи «не вижу схему» |
| «Подключу всё на будущее» | Только то, что нужно текущей задаче |
## Red Flags — остановись
- Начал деплой, не посмотрев состояние доступов
- Пересказываешь лог или схему, которых не читал
- Написал «нужен Supabase» без ссылки и без причины, почему сам не можешь
- Просишь токен в чат
- Список для человека длиннее трёх пунктов
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!