# flowR

MCP-сервер для статического анализа R-кода: слайсинг программ, линтинг, извлечение зависимостей и поиск по базе сигнатур. Работает без установки R.

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

## Что делает

Сервер предоставляет один инструмент `query`, который вызывает Query API библиотеки flowR: разрезает программу по критерию, проверяет код линтером, угадывает версию R и ищет сигнатуры функций в базе. При первом запуске загружает базу сигнатур flowR (66 МБ) в `~/.cache/flowr` и проверяет её хеш; угадывание версии и поиск сигнатур требуют эту базу, остальные запросы работают офлайн. Код не выполняется.

В Claude Code устанавливается одной командой `/plugin install flowr --marketplace flowr-analysis/flowr`. Для других клиентов используется `npx -y --omit=optional --ignore-scripts @eagleoutice/flowr-mcp` через stdio или JSON-конфигурацию. Флаги `--omit=optional --ignore-scripts` сокращают размер установки: пропускают опциональные зависимости и установочные скрипты.

Удалённые клиенты (ChatGPT, claude.ai) подключают сервер по HTTPS через туннель; сервер слушает `127.0.0.1` на порту из `$PORT` или 1042. Через HTTP действует защитный режим: сервер не читает файлы (аргумент `files` и `source()` игнорируются, запрос `config` запрещён), отключает сетевой доступ, останавливает анализ через 30 секунд или 2 ГБ памяти, обрезает ответ на 50000 символах. Один анализ в моменте, до 16 в очереди.

## Требования
- Нужно: Node.js (команды через npx)

## Установка

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

**Командой платформы**
```bash
claude mcp add flowr -- npx -y @eagleoutice/flowr-mcp
```

### Codex

**Командой платформы**
```bash
codex mcp add mcp -- npx -y @eagleoutice/flowr-mcp
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@eagleoutice/flowr-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@eagleoutice/flowr-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add mcp npx -y @eagleoutice/flowr-mcp
```

## Когда брать
- разрезать R-программу по переменной или выражению (program slicing)
- извлечь зависимости и импорты из R-кода
- проверить R-скрипт линтером без запуска
- найти сигнатуру функции в базе flowR
- угадать версию R по синтаксису кода

## Примеры запросов агенту
- Проанализируй `analysis.R` через flowR и покажи зависимости
- Разрежь этот R-скрипт по переменной `result` и оставь только нужные строки
- Проверь линтером R-код в `data_pipeline.R`

## Похожие
- [Serena MCP: the IDE for your agent](https://affpapa.org/nevibecode/mcp/serena-mcp-the-ide-for-your-agent.md) — MCP-сервер · ★ 30677
- [Compiler Explorer](https://affpapa.org/nevibecode/mcp/compiler-explorer.md) — MCP-сервер · ★ 19148
- [Claude Code Explorer MCP](https://affpapa.org/nevibecode/mcp/claude-code-explorer-mcp.md) — MCP-сервер · ★ 6235
- [Tolgee](https://affpapa.org/nevibecode/mcp/tolgee.md) — MCP-сервер · ★ 4139
- [jshookmcp](https://affpapa.org/nevibecode/mcp/jshookmcp.md) — MCP-сервер · ★ 2061
- [pyscn](https://affpapa.org/nevibecode/mcp/pyscn.md) — MCP-сервер · ★ 1096

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