# Shiftyasan Shift Scheduling

Подключает решатель смен Shiftyasan к агенту: он собирает графики по нагрузке, доступности и правилам справедливости. Нужен, когда расписание составляет не человек, а ИИ.

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

## Что делает

Сервер даёт агенту три инструмента. `validate_shift_input` проверяет полезную нагрузку `SolveRequest` по схеме публичного API, ничего не считая. `solve_shift` запускает решатель: небольшие задачи отвечают сразу, а крупные (примерно от 25 сотрудников) уходят в очередь и возвращают `202` с `job_id`. `get_solve_job` опрашивает эту задачу до `completed` или `failed`.

Есть промпт `plan_shift` — агент сам расспрашивает про период и контекст, а не угадывает входные данные. В Claude он вызывается как `/mcp__shiftyasan__plan_shift`. Готовый ростер промпт велит выводить по строке на человека с итогами справа: именно так сменный менеджер читает график первым делом.

Часть полей схема принимает, а решатель не применяет: `avoided_shift` в предпочтениях, верхнюю границу `working_days_per_week.max` и правило `require` в `employee_pairings`. Оба инструмента печатают предупреждение со списком отброшенного, так что агент не выдаст их за учтённые. Локальный запуск требует Node.js 20 или новее и ключ `sk_live_...` из дашборда. Рекомендуемый способ — удалённый сервер по адресу `https://api.shiftyasan.com/mcp`: там ключ выдаётся сам при подключении, а Node.js не нужен вовсе.

## Требования
- Нужно: Node.js (команды через npx)
- Удалённый сервер: `https://api.shiftyasan.com/mcp`
- Переменные окружения: `SHIFTYASAN_API_KEY`, `SHIFTYASAN_BASE_URL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

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

2. **Командой платформы**
```bash
claude mcp add --env SHIFTYASAN_API_KEY=<SHIFTYASAN_API_KEY> --env SHIFTYASAN_BASE_URL=<SHIFTYASAN_BASE_URL> --transport stdio shiftyasan-shift-scheduling -- npx -y @shiftyasan/mcp-server
```
Вместо <…> подставьте свои значения

### Codex

1. **Командой платформы: удалённый сервер**
```bash
codex mcp add shiftyasan-shift-scheduling --url https://api.shiftyasan.com/mcp
```

2. **Командой платформы**
```bash
codex mcp add shiftyasan-shift-scheduling --env SHIFTYASAN_API_KEY=<SHIFTYASAN_API_KEY> --env SHIFTYASAN_BASE_URL=<SHIFTYASAN_BASE_URL> -- npx -y @shiftyasan/mcp-server
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "shiftyasan-shift-scheduling": {
            "url": "https://api.shiftyasan.com/mcp"
        }
    }
}
```
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "shiftyasan-shift-scheduling": {
            "command": "npx",
            "args": [
                "-y",
                "@shiftyasan/mcp-server"
            ],
            "env": {
                "SHIFTYASAN_API_KEY": "<SHIFTYASAN_API_KEY>",
                "SHIFTYASAN_BASE_URL": "<SHIFTYASAN_BASE_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "shiftyasan-shift-scheduling": {
            "type": "http",
            "url": "https://api.shiftyasan.com/mcp"
        }
    }
}
```
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "shiftyasan-shift-scheduling": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@shiftyasan/mcp-server"
            ],
            "env": {
                "SHIFTYASAN_API_KEY": "<SHIFTYASAN_API_KEY>",
                "SHIFTYASAN_BASE_URL": "<SHIFTYASAN_BASE_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

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

2. **Командой платформы**
```bash
gemini mcp add -e SHIFTYASAN_API_KEY=<SHIFTYASAN_API_KEY> -e SHIFTYASAN_BASE_URL=<SHIFTYASAN_BASE_URL> shiftyasan-shift-scheduling npx -y @shiftyasan/mcp-server
```
Вместо <…> подставьте свои значения

## Когда брать
- собрать график смен на период по потребности в персонале
- проверить входные данные расписания до запуска решателя
- дождаться результата большой задачи через опрос `job_id`
- учесть доступность сотрудников и правила справедливости
- получить ростер таблицей с итогами по каждому человеку

## Примеры запросов агенту
- Составь график смен на следующую неделю по данным о нагрузке и доступности сотрудников
- Проверь мой `SolveRequest` перед запуском решателя
- Покажи готовое расписание по строке на человека с итогами справа

## Похожие
- [socialclaw-social-media-scheduling-posting-and-analytics-for-ai-](https://affpapa.org/nevibecode/plugins/socialclaw-social-media-scheduling-posting-and-analytics-for-ai.md) — плагин · ★ 101
- [scheduling-and-queue](https://affpapa.org/nevibecode/skills/scheduling-and-queue.md) — скилл · 619 установок
- [upload-post](https://affpapa.org/nevibecode/skills/upload-post.md) — скилл · 503 установки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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