# flowR

MCP server for static R code analysis: program slicing, linting, dependency extraction, and signature database search. No R installation required.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 105
- Author: flowr-analysis
- License: GPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/flowr-analysis/flowr/tree/HEAD/mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/flowr

## What it does

The server exposes a single `query` tool that calls flowR's Query API: slices programs by criterion, runs the linter, guesses R versions, and searches function signatures in the database. On first start it downloads the flowR signature database (66 MB) into `~/.cache/flowr` and verifies its hash; version guessing and signature search require this database, other queries work offline. The code is never executed.

In Claude Code, install with `/plugin install flowr --marketplace flowr-analysis/flowr`. Other clients use `npx -y --omit=optional --ignore-scripts @eagleoutice/flowr-mcp` over stdio or JSON config. The flags `--omit=optional --ignore-scripts` keep the install small by skipping optional dependencies and install scripts.

Remote clients (ChatGPT, claude.ai) connect the server over HTTPS through a tunnel; it listens on `127.0.0.1` at the port from `$PORT` or 1042. Over HTTP, secure mode applies: the server never reads files (`files` argument and `source()` are ignored, `config` query refused), disables network access, stops each analysis after 30 seconds or 2 GB of memory, and cuts answers at 50000 characters. One analysis at a time, up to 16 waiting.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add flowr -- npx -y @eagleoutice/flowr-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add mcp -- npx -y @eagleoutice/flowr-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@eagleoutice/flowr-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@eagleoutice/flowr-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add mcp npx -y @eagleoutice/flowr-mcp
```

## When to use it
- slice an R program by variable or expression
- extract dependencies and imports from R code
- lint an R script without running it
- search for a function signature in the flowR database
- guess the R version from code syntax

## Example prompts
- Analyze `analysis.R` with flowR and show dependencies
- Slice this R script by variable `result` and keep only the necessary lines
- Lint the R code in `data_pipeline.R`

## Similar
- [Serena MCP: the IDE for your agent](https://affpapa.org/en/nevibecode/mcp/serena-mcp-the-ide-for-your-agent.md) — MCP server · ★ 30677
- [Compiler Explorer](https://affpapa.org/en/nevibecode/mcp/compiler-explorer.md) — MCP server · ★ 19148
- [Claude Code Explorer MCP](https://affpapa.org/en/nevibecode/mcp/claude-code-explorer-mcp.md) — MCP server · ★ 6235
- [Tolgee](https://affpapa.org/en/nevibecode/mcp/tolgee.md) — MCP server · ★ 4139
- [jshookmcp](https://affpapa.org/en/nevibecode/mcp/jshookmcp.md) — MCP server · ★ 2061
- [pyscn](https://affpapa.org/en/nevibecode/mcp/pyscn.md) — MCP server · ★ 1096

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
