jobd — MCP-сервер для Claude Code: что делает и как установить
Брокер задач с учётом VRAM и ресурсов для личных серверов. Позволяет агентам запускать фоновые процессы без облака и кластеров Slurm.
claude mcp add --env JOBD_URL=<JOBD_URL> --env JOBD_API_TOKEN=<JOBD_API_TOKEN> --transport stdio jobd -- uvx jobdЧто делает jobd
jobd поднимает центральный брокер на FastAPI и базе SQLite. К нему подключаются воркеры с отдельных машин через Tailscale или локальную сеть. При поступлении запроса брокер сопоставляет доступные ресурсы: объём оперативной памяти, свободные ядра CPU, системные метки и видеопамять. Инструмент jobd_submit выполняет переданную агентом строку через bash -c, запуская расчёты на подходящем узле.
В системе реализовано вытеснение низкоприоритетных задач. При появлении срочной нагрузки работающий процесс получает сигнал SIGTERM и сохраняет промежуточные файлы в каталог JOBD_CHECKPOINT_DIR. По истечении времени ожидания брокер завершает процесс командой SIGKILL. Сама по себе вытесненная задача заново не стартует, её придётся перезапустить с указанием сохранённого чекпоинта.
Воркер собирает метрики памяти только с видеокарты с индексом 0. Поэтому балансировать задачи между несколькими GPU на одной физической машине брокер не умеет. Для работы компонентов требуется Python 3.11 или свежее.
Какие задачи решает
- распределять запуск вычислений по доступному объёму видеопамяти
- отслеживать логи и выполнение фоновых задач через агента
- прерывать долгие скрипты с сохранением промежуточных чекпоинтов
- организовать очередь задач на личных серверах без Slurm и Kubernetes
Примеры запросов агенту
- Отправь команду
python train.pyна хост, где свободно не менее 16 ГБ видеопамяти - Проверь статус задач в очереди
jobdи покажи последние строки логов
Как установить jobd
Командой платформы
claude mcp add --env JOBD_URL=<JOBD_URL> --env JOBD_API_TOKEN=<JOBD_API_TOKEN> --transport stdio jobd -- uvx jobdВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from jobd <команда>
Командой платформы
codex mcp add jobd --env JOBD_URL=<JOBD_URL> --env JOBD_API_TOKEN=<JOBD_API_TOKEN> -- uvx jobdВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from jobd <команда>
Файл настроек
{
"mcpServers": {
"jobd": {
"command": "uvx",
"args": [
"jobd"
],
"env": {
"JOBD_URL": "<JOBD_URL>",
"JOBD_API_TOKEN": "<JOBD_API_TOKEN>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from jobd <команда>
Файл настроек
{
"servers": {
"jobd": {
"type": "stdio",
"command": "uvx",
"args": [
"jobd"
],
"env": {
"JOBD_URL": "<JOBD_URL>",
"JOBD_API_TOKEN": "<JOBD_API_TOKEN>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from jobd <команда>
Командой платформы
gemini mcp add -e JOBD_URL=<JOBD_URL> -e JOBD_API_TOKEN=<JOBD_API_TOKEN> jobd uvx jobdВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from jobd <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о jobd
Как установить jobd в Claude Code?
Выполните команду claude mcp add --env JOBD_URL=<JOBD_URL> --env JOBD_API_TOKEN=<JOBD_API_TOKEN> --transport stdio jobd -- uvx jobd. Для запуска понадобятся работающий сервер jobd и установленный Python версии 3.11 или выше.
Что делает jobd?
Сервер распределяет фоновые задачи по локальным машинам на базе свободной видеопамяти, оперативной памяти и ядер процессора. Агенты передают команды через MCP без использования сторонних облачных сервисов.
Как jobd работает с несколькими видеокартами на одном хосте?
Воркер отслеживает свободную память исключительно для видеокарты с индексом 0. Дополнительные графические процессоры на том же узле при маршрутизации не учитываются.