Rosentic について
Rosenticは、AIコーディングエージェント向けに、マージ前のGitブランチ間の構造的な契約衝突を調べるMCPサーバーです。tree-sitterによるAST解析をローカルで実行し、15以上の言語に対応します。AIコードレビューではありません。
主な機能
- 01ブランチ間の契約チェック
- 02関数シグネチャの不一致検出
- 03HTTPルートの競合検出
- 04スキーマ不一致の検出
- 05競合内容の説明
- 06ローカルリポジトリのスキャン
活用シーン
- 01マージ前のブランチ互換性確認
- 02関数シグネチャ変更の影響先の特定
- 03APIリクエストやルートの競合検出
- 04依存するブランチを壊すスキーマ変更の特定
MCP 対応
MCPクライアントに `check_conflicts`、`explain_conflict`、`list_branches` ツールを提供します。スキャンはローカルのGitリポジトリで実行されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| base | string | いいえ | ブランチ差分の比較に使用するベースブランチ。デフォルトは main です。 |
| branch | any | いいえ | 他のアクティブなブランチとの比較対象にするブランチ。省略すると、現在チェックアウトされているブランチが使用されます。 |
| format | enum | いいえ | 簡潔なテキストには summary を使用してください。Agent が finding_ids または完全な構造化された検出結果を必要とする場合にのみ、json を使用してください。summary | json |
| branches | any | いいえ | スキャンするブランチ名の明示的なリストです。列挙と経過期間のフィルターを迂回します。確認するブランチが正確にわかっている場合に使用してください。 |
| repo_path | string | はい | スキャンするローカル git リポジトリの絶対パスまたは相対パスです。 |
詳細
Rosentic - ブランチ間のマージ安全性
Rosentic は、マージ前にアクティブなブランチ同士の互換性を確認します。決定論的な AST 解析を使用して、15 以上の言語にわたる関数シグネチャの不整合、HTTP ルートの競合、スキーマの不一致を検出します。
これは AI によるコードレビューではありません。 Rosentic は、マージ後に実行時エラーを引き起こす構造上の契約の競合を検出します。テストは一度に 1 つのブランチでしか実行されないため、テストでは見つからない類いの不具合です。
インストール
pip install rosentic-mcp
次に、エディターの MCP 設定に追加します。
{
"mcpServers": {
"rosentic": {
"command": "rosentic-mcp",
"args": [],
"env": {}
}
}
}
Cursor、Claude Code、Cline、Windsurf、および MCP をサポートするすべてのエディターで動作します。
できること
Rosentic は、AI コーディングエージェントに 3 つの MCP ツールを提供します。
| ツール | 目的 |
|---|---|
check_conflicts | リポジトリをスキャンし、ブランチ間の契約の競合を検出します |
explain_conflict | 特定の検出結果と、その対処方法を説明します |
list_branches | アクティブなブランチを一覧表示し、エージェントがスキャン対象を選べるようにします |
Rosentic が検出できる競合の例
- ブランチ A が
createOrder()に必須パラメーターを追加します。ブランチ B は、古いシグネチャでcreateOrder()を呼び出します。どちらも CI を通過しますが、マージすると本番環境で問題が発生します。 - ブランチ A が
POST /api/usersのリクエスト本文にemailを必須とする変更を加えます。ブランチ B のフロントエンドは、引き続き古いペイロードを送信します。 - ブランチ A が、ブランチ B のクエリで使用されている GraphQL 型からフィールドを削除します。
仕組み
プッシュ、PR の作成、またはマージの前に、エージェントがブランチ間の互換性チェックを実行します。check_conflicts を呼び出すと、tree-sitter AST 解析を使ってリポジトリ内のブランチの先端をスキャンし、競合があれば報告します。
コードがマシンの外部に送信されることはありません。スキャンはローカルで git リポジトリに対して実行されます。
Semgrep Guardian との比較
Semgrep Guardian は、各ファイルのセキュリティ上の脆弱性やコードの問題をチェックします。Rosentic は、ブランチ同士の互換性をチェックします。両者は異なる問題を解決し、併用できます。
- Semgrep Guardian:「このコード単体で安全かつ正しく動作しますか?」
- Rosentic:「このブランチをマージすると、ほかのブランチに問題が発生しますか?」
リンク
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。