mcpField
R
Rosentic

Rosentic

ローカル
github.com/Rosentic開発ツール023 週間前に更新

Rosentic について

Rosenticは、AIコーディングエージェント向けに、マージ前のGitブランチ間の構造的な契約衝突を調べるMCPサーバーです。tree-sitterによるAST解析をローカルで実行し、15以上の言語に対応します。AIコードレビューではありません。

主な機能

  1. 01ブランチ間の契約チェック
  2. 02関数シグネチャの不一致検出
  3. 03HTTPルートの競合検出
  4. 04スキーマ不一致の検出
  5. 05競合内容の説明
  6. 06ローカルリポジトリのスキャン

活用シーン

  1. 01マージ前のブランチ互換性確認
  2. 02関数シグネチャ変更の影響先の特定
  3. 03APIリクエストやルートの競合検出
  4. 04依存するブランチを壊すスキーマ変更の特定

MCP 対応

MCPクライアントに `check_conflicts`、`explain_conflict`、`list_branches` ツールを提供します。スキャンはローカルのGitリポジトリで実行されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cursor-plugin": {
"command": "uvx",
"args": [
"rosentic-mcp"
]
}
}
}
起動コマンドuvx rosentic-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypirosentic-mcp0.1.1

ツール

3

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
basestringいいえブランチ差分の比較に使用するベースブランチ。デフォルトは main です。
branchanyいいえ他のアクティブなブランチとの比較対象にするブランチ。省略すると、現在チェックアウトされているブランチが使用されます。
formatenumいいえ簡潔なテキストには summary を使用してください。Agent が finding_ids または完全な構造化された検出結果を必要とする場合にのみ、json を使用してください。summary | json
branchesanyいいえスキャンするブランチ名の明示的なリストです。列挙と経過期間のフィルターを迂回します。確認するブランチが正確にわかっている場合に使用してください。
repo_pathstringはいスキャンするローカル 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:「このブランチをマージすると、ほかのブランチに問題が発生しますか?」

リンク

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。