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.1.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.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rosentic_mcp-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 9e83f27cdcdd30a48e089e9ca3bdd11938e6da5d0b53c01c76c4ed36679bb2fb
MD5 f3ff121c259497465ab0ab68b6545b49
BLAKE2b-256 6fe40565b5d88f56c366dfbc845bcd1bd1152e927ae3204a1ea9a645c6333035

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rosentic_mcp-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3aaa074c7f1fc08c383b7c256ef22f1f3c08692b57abe2b169a62ed18e32467b
MD5 9423f5893ea4b068e908f977507688c0
BLAKE2b-256 46d9bbb1d4078cf6d2cd1663ee248ff7b6a195904a51d8aa876400a9c3a6044a

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