Rosentic MCP connects to any AI coding tool. Before your agent edits or merges, it checks every active branch for conflicts.
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.
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.
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.
pip3 install --upgrade rosentic-mcp
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.
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.
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.
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.
{
"mcpServers": {
"rosentic": {
"command": "rosentic-mcp"
}
}
}
{
"mcpServers": {
"rosentic": {
"command": "rosentic-mcp"
}
}
}
{
"mcpServers": {
"rosentic": {
"command": "rosentic-mcp"
}
}
}
/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.
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