# forkflux-mcp

Связывает ИИ-ассистентов с вашим self-hosted ForkFlux API: агенты публикуют задачи, забирают их и ведут журнал передачи контекста.

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

## Что делает

ForkFlux MCP — это прослойка между MCP-совместимыми ассистентами и вашим экземпляром ForkFlux API. Агент публикует структурированную задачу с контекстом, ограничениями, артефактами, приоритетом и целевой ролью, другой агент атомарно её забирает и получает весь payload. Дальше статус меняется по жизненному циклу: `blocked`, `in_progress`, `completed`, `failed`, `cancelled`.

Внутри девять инструментов. `forkflux_create_job` и `forkflux_list_jobs` отвечают за публикацию и выборку, `forkflux_claim_job` и `forkflux_claim_next_job` — за атомарный захват, `forkflux_job_details` и `forkflux_update_job` — за чтение и правку контекста. Отдельно стоят `forkflux_reject_job`, который создаёт связанную задачу-повтор с причиной отказа, и `forkflux_get_reopen_context` — он отдаёт только контекст для повтора, не вытягивая исходный объёмный payload.

Сервер намеренно без состояния: он добавляет к запросам префикс `/mcp`, авторизует их bearer-токеном агента либо общим сервисным ключом, если заголовка нет, и возвращает структурированный результат. Источник правды по агентам, ролям, зависимостям и событиям остаётся за API. Нужен Python 3.12+ и запущенный эндпоинт ForkFlux API. При работе через stdio понадобится ключ API агента.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `FORKFLUX_API_KEY`, `FORKFLUX_API_URL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env FORKFLUX_API_KEY=<FORKFLUX_API_KEY> --env FORKFLUX_API_URL=<FORKFLUX_API_URL> --transport stdio mcp -- uvx forkflux-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from forkflux-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add mcp --env FORKFLUX_API_KEY=<FORKFLUX_API_KEY> --env FORKFLUX_API_URL=<FORKFLUX_API_URL> -- uvx forkflux-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from forkflux-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "command": "uvx",
            "args": [
                "forkflux-mcp"
            ],
            "env": {
                "FORKFLUX_API_KEY": "<FORKFLUX_API_KEY>",
                "FORKFLUX_API_URL": "<FORKFLUX_API_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from forkflux-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "forkflux-mcp"
            ],
            "env": {
                "FORKFLUX_API_KEY": "<FORKFLUX_API_KEY>",
                "FORKFLUX_API_URL": "<FORKFLUX_API_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from forkflux-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e FORKFLUX_API_KEY=<FORKFLUX_API_KEY> -e FORKFLUX_API_URL=<FORKFLUX_API_URL> mcp uvx forkflux-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from forkflux-mcp <команда>

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

## Примеры запросов агенту
- Опубликуй задачу для роли reviewer с контекстом и артефактами из последнего коммита
- Забери следующую приоритетную задачу для моей роли
- Покажи детали задачи и переведи её в статус `in_progress`

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 386989
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872

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