Skip to main content
Glama
DHCross

Cross Repo Ops MCP

by DHCross

Cross Repo Ops MCP

リポジトリに依存しないMCP(Model Context Protocol)機能レイヤー。制御されたローカルリポジトリ操作を提供します。

機能概要

Cross Repo Ops MCPは、セキュリティ強化されたstdio JSON-RPCサーバーを提供し、ローカルgitリポジトリに対する境界付き・ポリシー制御の操作を公開します。

  • 読み取り: ツリー一覧、ripgrep検索、境界付きファイル読み取り、git status/diff

  • 書き込み: コンテキスト検証付きパッチ(作成・変更対応、書き込み可能なリポジトリのみ)

  • タスク: 承認済みの名前付きタスク実行(許可リストのみ、任意のシェルは不可)

  • Git: ブランチ一覧・作成・切り替え、コミット(明示的なファイルのみ)、プッシュ(originのみ、プッシュ可能なリポジトリのみ)

Related MCP server: void-bridge

アーキテクチャ

Cross Repo Ops MCPは、制御されたローカルリポジトリ操作のためのリポジトリ中立な機能レイヤーです。XcodeIDEappプロジェクトの隣に配置することを想定しており、IDEダッシュボードのスキャフォールディングパターンからアイデアを借用していますが、汎用的であり、特定のIDEやプロジェクト構造に依存しません。

Cross Repo Ops MCP = controlled local repository actions (read, patch, git, tasks)

サーバーはポリシー駆動です。リポジトリ、機能、除外パス、承認済みタスクはすべてJSON設定で宣言されます。コアにはプロジェクト固有のロジックはハードコードされていません。

モジュール

モジュール

責務

policy.py

中央集約型リポジトリ機能ポリシー(許可リスト、書き込み可能/プッシュ可能フラグ、除外パス、タスク許可リスト、制限、タイムアウト)

guard.py

単一の権威あるパス検証境界(トラバーサル、シンボリックリンク、絶対パス、包含チェック)

repo.py

ツリー一覧、ripgrep検索、境界付きファイル読み取り、git status/diff

patch.py

コンテキスト検証付きパッチ適用(作成・変更対応)

git.py

安全ガード付きのブランチ、コミット、プッシュ操作

tasks.py

名前付きタスクの許可リスト解決と実行

server.py

stdio JSON-RPC MCPサーバー

errors.py

エラータイプ

セキュリティモデル

  • リポジトリ許可リスト: ポリシーに明示的にリストされたリポジトリのみアクセス可能。

  • 機能フラグ: writablepushable はリポジトリごとに設定され、デフォルトは false

  • パス包含: すべてのパスは解決され、リポジトリルートに対してチェックされます。トラバーサル(..)、絶対パス、シンボリックリンクは拒否されます。

  • 機密ファイル除外: .env*.pem、APIキー、トークン、資格情報、バイナリファイルは読み取り・書き込みからブロックされます。

  • パッチ安全性: old_text は正確に一致する必要があります。複数の一致がある場合は context で曖昧さを解消します。create=true は既存ファイルの上書きを拒否します。

  • タスク許可リスト: タスクはユーザー入力ではなく、サーバー側の許可リストから名前で解決されます。任意のシェルコマンドはありません。

  • Git安全性: 一括ステージング(git add -A)は拒否されます。コミットは明示的にリストされたファイルに限定されます。機密ファイルはコミットできません。ブランチ名はインジェクションに対して検証されます。プッシュはプッシュ可能なリポジトリの origin に限定されます。

  • 出力制限: すべての操作には設定可能な出力上限があります(読み取り文字数、検索結果、ツリーエントリ、diff文字数、タスク出力)。

インストール

# No external dependencies required — Python 3.10+ standard library only.
cd cross-repo-ops
pip install -e .  # optional, for package install

使用方法

MCPサーバーの実行

python3 -m cross_repo_ops

サーバーはstdin/stdoutでJSON-RPC 2.0メッセージを待ち受けます。

カスタムポリシー

CROSS_REPO_OPS_CONFIG=/path/to/policy.json python3 -m cross_repo_ops

ポリシーファイル形式

{
  "repos": {
    "myrepo": {
      "root": "/path/to/repo",
      "writable": true,
      "pushable": false
    }
  },
  "tasks": {
    "myrepo": {
      "build": {
        "command": ["xcodebuild", "-scheme", "MyApp", "build"],
        "cwd": "{root}",
        "timeout": 180
      },
      "test": {
        "command": ["xcodebuild", "test", "-scheme", "MyApp"],
        "cwd": "{root}",
        "timeout": 300
      }
    }
  }
}

MCPツール

ツール

説明

repo_tree

安全な除外付きでファイル/ディレクトリを一覧表示

repo_search

出力制限付きのripgrep検索

repo_read

機密でないテキストファイルの境界付きスライスを読み取る

git_status

gitステータスを確認

git_diff

未ステージング/ステージング済み/コミットのdiffを表示

apply_patch

コンテキスト検証付きパッチを適用(書き込み可能なリポジトリのみ)

run_task

承認済みの名前付きタスクを実行(許可リストのみ)

git_branch

ブランチの一覧/作成/切り替え(作成/切り替えは書き込み可能なリポジトリ)

git_commit

明示的なファイルをステージしてコミット(書き込み可能なリポジトリのみ)

git_push

originにプッシュ(プッシュ可能なリポジトリのみ)

テスト

python3 -m unittest tests.test_security tests.test_adversarial -v

32のテストをカバー:

  • 許可された読み取りとブロックされた読み取り

  • パストラバーサル、絶対パス、シンボリックリンクエスケープの拒否

  • 機密ファイルの読み取り/書き込み/コミットのブロック

  • 書き込み可能 vs 読み取り専用リポジトリの強制

  • 正しい/古いコンテキストでのパッチ

  • 除外ファイルを対象としたパッチ

  • 名前付きタスク許可リスト(成功、不明な名前、シェルインジェクション試行)

  • タスクのタイムアウトと出力切り詰め

  • git status/diff

  • ブランチ名インジェクションの保護

  • コミット保護(空メッセージ、機密ファイル、一括ステージング、事前ステージング済みファイル)

  • プッシュ可能でないリポジトリのプッシュ拒否

  • サーバーの引数欠落処理

ライセンス

MIT

F
license - not found
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to safely interact with local code repositories through MCP tools for search, context building, and workspace management, while keeping all operations local and human-controlled for patch approval.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Exposes a secure, path-confined bridge to a local workspace and git remotes, enabling MCP clients to search, read, write, reset files, and perform git operations.
  • A
    license
    A
    quality
    B
    maintenance
    Enables ChatGPT and Codex to safely work with explicitly authorized local project folders through MCP, providing constrained file reading, searching, patch editing, Git inspection, and whitelisted tasks without exposing arbitrary shell, deletion, or deployment capabilities.
    17
    MIT

View all related MCP servers

Related MCP Connectors

  • Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi

  • A MCP server built for developers enabling Git based project management with project and personal…

  • Git-native policy layer for AI agents: check_action verdicts against rules approved via PR.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DHCross/cross-repo-ops'

If you have feedback or need assistance with the MCP directory API, please join our Discord server