Урок 6 из 16•20 мин
Подключение к базам данных
Цели урока
После прохождения этого урока вы сможете:
- 1Настроить MCP сервер для PostgreSQL/ClickHouse
- 2Интегрировать навык с динамическими данными
- 3Заменить статичные CSV на живые запросы
От CSV к реальным данным
В предыдущих уроках мы работали с CSV файлами. Но в реальности данные живут в базах данных. Давайте подключим навык маркетингового аналитика к PostgreSQL.
Шаг 1: Настройка MCP сервера
Для Claude Desktop добавьте MCP сервер в конфигурацию:
json
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://user:password@localhost:5432/marketing"
]
}
}
}Безопасность
Никогда не храните пароли в конфигурационных файлах. Используйте переменные окружения или менеджеры секретов.
Шаг 2: Обновление навыка
Обновите SKILL.md, чтобы навык знал о подключении к базе:
markdown
# Marketing Analyst
## Description
Активируй этот навык для анализа маркетинговых кампаний.
## Instructions
### Получение данных
Если подключён MCP сервер postgres:
1. Выполни запрос для получения данных кампаний:
```sql
SELECT
channel,
SUM(impressions) as impressions,
SUM(clicks) as clicks,
SUM(cost) as cost,
SUM(conversions) as conversions,
SUM(revenue) as revenue
FROM campaigns
WHERE date >= CURRENT_DATE - INTERVAL '7 days'
GROUP BY channel
```
Если MCP недоступен:
1. Запроси CSV файл у пользователя
### Анализ
(остальные инструкции без изменений)Шаг 3: Пример workflow
Теперь диалог выглядит так:
Вы: Проанализируй эффективность рекламы за последнюю неделю
Claude: [Активирует навык marketing-analyst]
[Подключается к PostgreSQL через MCP]
[Выполняет SQL запрос]
Получил данные за 7 дней по 5 каналам.
📊 Сводка:
- Общий бюджет: 523,400₽
- Средний ROAS: 2.8
- Лучший канал: Яндекс.Директ Поиск (ROAS 3.9)
[Создаёт Excel-отчёт]
Claude: [Активирует навык marketing-analyst]
[Подключается к PostgreSQL через MCP]
[Выполняет SQL запрос]
Получил данные за 7 дней по 5 каналам.
📊 Сводка:
- Общий бюджет: 523,400₽
- Средний ROAS: 2.8
- Лучший канал: Яндекс.Директ Поиск (ROAS 3.9)
[Создаёт Excel-отчёт]
Альтернатива: SQLite для локальной работы
Если вам не нужен внешний сервер, используйте SQLite:
json
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sqlite",
"/path/to/marketing.db"
]
}
}
}SQLite отлично подходит для прототипирования и работы с небольшими данными (до нескольких GB).
Паттерн: Graceful Degradation
Хороший навык должен работать и с MCP, и без него. Добавьте в инструкции fallback:
markdown
### Получение данных
Приоритет источников:
1. MCP postgres → SQL запрос к таблице campaigns
2. MCP sqlite → SQL запрос к локальной базе
3. Файл CSV → запросить у пользователя
4. Ручной ввод → запросить данные текстом
Если ни один источник недоступен, объясни пользователю варианты.Почему важно добавлять fallback в навык при интеграции с базами данных?
Вопросы для размышления
- •К каким базам данных вы бы подключили свои навыки?
- •Какие данные имеет смысл держать в CSV, а какие — в БД?
