# Paw Pulse

Следит за домашним сервером с Ollama или llama.cpp и присылает алерт, когда тот замолчал или просел по скорости. Наружу ничего открывать не нужно.

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

## Что делает

Клиентский скрипт `pawpulse.sh` крутится на той же машине, где живёт LLM-сервер, и раз в несколько минут отправляет наружу короткий сигнал. Пропали сигналы дольше заданного окна — монитор переходит в состояние `down`, и в вебхук уходит сообщение. Входящие соединения сервер не принимает вообще, поэтому выставлять его в интернет не придётся.

На Ollama сервер ловит и тихие сбои: параметр `slow_tps_threshold` сообщит, что генерация поползла, а `min_gpu_pct` — что модель ушла с GPU на CPU. Второе работает через чтение `size_vram` из `/api/ps`, поэтому на машине нужен `jq`. Если LLM на хосте нет, `LLM_KIND=none` шлёт обычный сигнал, и те же алерты можно повесить на NAS или задачу в cron.

MCP-сервер удалённый, по Streamable HTTP, без сессий: каждый POST несёт одно сообщение JSON-RPC и получает ответ. Инструменты — `create_monitor`, `setup_instructions`, `get_status`, `list_heartbeats`, `update_monitor`, `delete_monitor`; для подключения авторизация не нужна, а вот изменение монитора требует `manage_token` в аргументах. Уведомления уходят в Discord, Slack, Microsoft Teams, Telegram и Google Chat нативно, любой другой https-адрес получает обычный JSON.

## Требования
- Удалённый сервер: `https://pulse.dougalpaw.com/mcp`

## Установка

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

**Командой платформы: удалённый сервер**
```bash
claude mcp add --transport http pawpulse https://pulse.dougalpaw.com/mcp
```

### Codex

**Командой платформы: удалённый сервер**
```bash
codex mcp add paw-pulse --url https://pulse.dougalpaw.com/mcp
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "paw-pulse": {
            "url": "https://pulse.dougalpaw.com/mcp"
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "paw-pulse": {
            "type": "http",
            "url": "https://pulse.dougalpaw.com/mcp"
        }
    }
}
```

### Gemini CLI

**Командой платформы: удалённый сервер**
```bash
gemini mcp add -t http paw-pulse https://pulse.dougalpaw.com/mcp
```

## Когда брать
- узнать, что домашний сервер с Ollama упал, не открывая его в интернет
- получить алерт в Discord, когда генерация резко замедлилась
- поймать момент, когда модель переехала с GPU на CPU
- повесить heartbeat на NAS или задачу в cron без всякой LLM
- отдать публичную страницу статуса и бейдж по ссылке

## Примеры запросов агенту
- Создай монитор для моего Ollama на домашнем сервере и покажи инструкцию по настройке
- Покажи последние heartbeat'ы монитора и его текущее состояние
- Обнови порог slow_tps_threshold у монитора, manage_token я передаю

## Похожие
- [HomeLab Monitor](https://affpapa.org/nevibecode/mcp/homelab-monitor.md) — MCP-сервер · ★ 227
- [huawei-cloud-monitoring-query](https://affpapa.org/nevibecode/skills/huawei-cloud-monitoring-query.md) — скилл · 16900 установок
- [setting-up-cloudwatch-alarm-notifications](https://affpapa.org/nevibecode/skills/setting-up-cloudwatch-alarm-notifications.md) — скилл · 6300 установок
- [cargo-observability](https://affpapa.org/nevibecode/skills/cargo-observability.md) — скилл · 6300 установок
- [sentry-create-alert](https://affpapa.org/nevibecode/skills/sentry-create-alert.md) — скилл · 4100 установок
- [cx-alerts](https://affpapa.org/nevibecode/skills/cx-alerts.md) — скилл · 3600 установок

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