Give your coding agent merge awareness

Rosentic MCP connects to any AI coding tool. Before your agent edits or merges, it checks every active branch for conflicts.

MCP Tools
check_conflicts
Scan a repo for cross-branch conflicts. Returns a summary or structured JSON with finding IDs.
explain_conflict
Explain a specific finding and what to do about it. Takes a finding ID, returns the conflict detail with fix guidance.
list_branches
List local branches sorted by most recent commit. Shows branch age, ahead/behind counts, and inferred agent.
check_file
Validate a proposed file change against every active sibling branch before the write. The pre-write advisory: know it conflicts before the code exists.
get_verdict
Look up the recorded gate verdict for a commit SHA. Returns the decision, findings, and policy in force when it was made.
get_policy
Fetch the effective gate policy for the repo: advisory or blocking, severity thresholds, and per-layer enforcement, resolved repo over org over default.
get_remediation_queue
The ordered list of findings to fix next, ranked by blast radius and recurrence. New in 0.1.5, current release 0.2.2.

The package also ships enforcement: rosentic-mcp install-hooks wires a pre-write advisory and a pre-push gate that fail closed on UNSAFE, plus config-shadow detection.

Rosentic Remote LIVE

The hosted endpoint. Add https://api.rosentic.com/mcp as a custom connector in claude.ai, Claude Desktop, Cursor, or any MCP client, sign in, and ask your repos what is true from anywhere, including your phone.

run_status
Every lane in the run: branch, head, merged or not, sequence position, what is clear to land next, and branches sitting ahead of base.
which_lane
Which lane owns these paths, per the run manifest. The answer to "where does this paste go."
get_verdict
The recorded gate decision for a commit, from the ledger, from anywhere.

Every answer names the scan it came from and how old it is. Past the staleness window, Remote returns the rescan command instead of a confident guess. Scoped to your workspace; other orgs return NOT_FOUND.

What agents ask Rosentic
"Before merging this PR, check whether another branch depends on the old API."
"Before changing this function signature, what other active branches call it?"
"Scan agent/alice and agent/bob for conflicts."
"Explain the highest-risk conflict in this repo."
"List all active branches and check for cross-branch issues."
Works with every MCP client
Install
pip3 install --upgrade rosentic-mcp
Engine prerequisite
The MCP server needs the Rosentic engine. Default: have Docker Desktop running - the server pulls ghcr.io/rosentic/rosentic-engine automatically on first scan. Alternative: set ROSENTIC_ENGINE_PATH to a local engine checkout (no Docker needed). Note for git worktrees: with the Docker engine, scan the main checkout rather than a linked worktree; with a local engine, worktrees work everywhere.
Team install (recommended for repos running parallel agents)
Instead of configuring each user's editor, commit the config to the repo. Every teammate and every agent inherits it automatically - including each worktree created by parallel-agent orchestrators like Conductor. 1. pip3 install --upgrade rosentic-mcp 2. Commit .mcp.json at the repo root: { "mcpServers": { "rosentic": { "command": "rosentic-mcp" } } } 3. Add one instruction to CLAUDE.md (or AGENTS.md): "Before writing to a shared contract (types, API routes, schemas) or before git push, call the Rosentic check_conflicts MCP tool to verify your branch is compatible with other active branches." 4. Recommended enforcement: commit two hook files so the check runs even when an agent forgets the instruction. .claude/settings.json { "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/rosentic-pre-push.sh" } ] } ] } } .claude/hooks/rosentic-pre-push.sh #!/bin/bash # Nudge before push: exit 2 returns the message to the agent. payload=$(cat) echo "$payload" | grep -q "git push" || exit 0 echo "Rosentic: run the check_conflicts MCP tool before pushing, then push." >&2 exit 2 Claude Code loads repo-level .mcp.json automatically, so every new worktree or agent session gets the Rosentic tools with zero per-user setup.
Verify the install
claude mcp get rosentic Under Conductor and headless agent sessions the status may read "Pending approval" even while scans work. The real verification: invoke check_conflicts once and see a result.
Using Rosentic with Conductor
Project-scope .mcp.json rides into every worktree Conductor creates - no per-workspace setup. Scans must target the main checkout path: linked worktrees do not scan on the Docker engine (set ROSENTIC_ENGINE_PATH to a local engine if you need worktree scans). User-scope MCP entries silently shadow the project config, so run claude mcp list and remove or rename any user-scope rosentic entry.
Codex
Cursor
Claude Code
Claude Desktop
VS Code
Windsurf
Cline
Zed
{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}
{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}
{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}
Or install as a plugin
/plugin marketplace add Rosentic/rosentic
/plugin install rosentic@rosentic-rosentic
{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}
{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}
{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}
{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}
{
  "context_servers": {
    "rosentic": {
      "command": {
        "path": "rosentic-mcp"
      }
    }
  }
}

Sentry tells agents what broke in production.
Rosentic tells agents what will break before merge.

Get started

Install the GitHub Action for automated scanning on every PR, or use the MCP server for agent-native merge awareness.

Install GitHub Action Start Free Dashboard