Skip to main content

MCP server for Rosentic — deterministic cross-branch conflict detection for AI coding agents

Project description

Rosentic MCP Server

CI checks each PR against main. It doesn't check open PRs against each other.

Rosentic does. Install one package. Your coding agent checks for cross-branch conflicts before you merge.

One agent changes a function signature. Another agent still calls the old version. Both pass CI. Git merges the text cleanly. Main breaks.

Rosentic compares every open PR against every other open PR. Deterministic static analysis. No LLM. 12 languages. Code never leaves your machine.

Install

pip install rosentic-mcp

Configure

Claude Code

Add to ~/.claude.json:

{
  "mcpServers": {
    "rosentic": {
      "command": "rosentic-mcp"
    }
  }
}

Cursor / VS Code

Add to MCP settings:

{
  "rosentic": {
    "command": "rosentic-mcp"
  }
}

Tools

check_conflicts

Scan a git repo for cross-branch conflicts affecting your current branch.

Parameters:

  • repo_path (required) — path to local git repository
  • branch — branch to check (defaults to current branch)
  • base — base branch to compare against (defaults to main)
  • format"summary" (natural language) or "json" (structured findings)

Example response:

Rosentic found 4 unique conflict(s) for feature/auth-refactor: 2 UNSAFE, 2 WARNING. Layer breakdown: 3 L1 signature, 1 L2 route. Most critical: createUser() in src/auth/users.ts — changed from 2 to 3 required params. Recommendation: inspect the UNSAFE findings first and update the stale branch before merging.

explain_conflict

Get detailed explanation of a specific finding, including affected branches, consumer locations, and remediation steps.

Parameters:

  • repo_path (required) — path to local git repository
  • finding_id (required) — ID from a previous check_conflicts result

list_branches

List local branches sorted by most recent commit date.

Parameters:

  • repo_path (required) — path to local git repository

What it detects

Layer What Example
L1 Function signature mismatches Branch A adds required param, Branch B still calls with old arity
L2 HTTP route contract breaks Route path or method changes, consumers still call old endpoint
L3 Schema incompatibilities Proto field removed, GraphQL type changed, OpenAPI contract broken

How it works

  • Deterministic — no LLM in the scan path. Tree-sitter AST parsing + evidence-gated verdicts.
  • Fast — scans 30 branches in under 30 seconds for most repos.
  • Evidence-based — every finding includes proof: which symbol changed, where it's called, why it's linked.

Requirements

  • Python 3.11+
  • Git repository with branches to scan
  • Works on macOS, Linux, Windows (WSL)

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosentic_mcp-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rosentic_mcp-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file rosentic_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: rosentic_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for rosentic_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 93ca6ecf55bce732679f7b0d0650db637edd8d87e51decd20b0f741dcf1150c5
MD5 e87f3eda2dcb4cc0ebdfe3b79bf76820
BLAKE2b-256 c65e654e7362a0c8c90bcd7d7c6f1a20b15543cd086e8a5d6fb2848ccf27eff3

See more details on using hashes here.

File details

Details for the file rosentic_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rosentic_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for rosentic_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ea89831ef3e5023084db99215a908e4e664f7691ee0a4600dc811514ea40117
MD5 2bbe20befed106102bfc5d315a28a8ba
BLAKE2b-256 8ab5dc2a35bd7bd0844407d1aadfccde9078dfd25382f575c650a59bf10cefad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page