Skip to main content
Glama

Git MCP Server

Git MCP サーバー

Gitリポジトリと連携するためのツールを提供するMCP(Model Context Protocol)サーバー。LLMとAIエージェントがMCP標準を介して、クローン、コミット、プッシュ、プル、ブランチ、差分、ログ、ステータスなどのGit操作を実行できるようにします。

cyanheads/mcp-ts-template上に構築されたこのサーバーは、モジュラー アーキテクチャに従います。

開発者向けメモ: このリポジトリには、コードベース パターン、ファイルの場所、およびコード スニペットのクイック リファレンスを含む、LLM コーディング エージェントの開発者向けチート シートとして機能する.clinerulesファイルが含まれています。

目次

|概要|機能|インストール|

|構成|プロジェクト構造|

|ツール|リソース|開発|ライセンス|

概要

シームレスな Git 統合により、AI エージェントと開発ツールを強化します。

Git MCP サーバーはブリッジとして機能し、モデル コンテキスト プロトコル (MCP) を理解するアプリケーション (MCP クライアント) (高度な AI アシスタント (LLM)、IDE 拡張機能、カスタム スクリプトなど) がローカル Git リポジトリと直接安全にやり取りできるようにします。

複雑なスクリプトや手動の CLI の代わりに、ツールはこのサーバーを活用して次のことを行うことができます。

  • Git ワークフローを自動化: リポジトリのクローン作成、ブランチの作成、変更のステージング、作業のコミット、更新のプッシュ、タグの管理をプログラムで実行します。
  • リポジトリの洞察を得る: ホスト アプリケーションを離れずに、ステータスを確認し、ログを表示し、変更を比較し、Git オブジェクトを検査します。
  • Git を AI 駆動型開発に統合: LLM がコーディングまたはリファクタリング タスクの一環としてバージョン管理を管理できるようにします。

堅牢なmcp-ts-templateをベースに構築されたこのサーバーは、MCP標準を介してGit機能を公開するための、標準化された安全かつ効率的な方法を提供します。Node.jsのchild_processモジュールを使用して、システムにインストールされている標準のgitコマンドラインツールを安全に実行することでこれを実現し、互換性を確保しながらGitのパワーを最大限に活用します。

特徴

コアユーティリティ(テンプレートから)

mcp-ts-templateによって提供される堅牢なユーティリティを活用します。

  • ログ記録: 機密データの編集を伴う構造化された構成可能なログ記録 (ファイルのローテーション、コンソール、MCP 通知)。
  • エラー処理: 集中化されたエラー処理、標準化されたエラー タイプ ( McpError )、および自動ログ記録。
  • 設定: 環境変数の読み込み ( dotenv )。
  • 入力検証/サニタイズ: スキーマ検証とカスタム サニタイズ ロジック (パスに重要) にzod使用します。
  • リクエスト コンテキスト: 一意のリクエスト ID による操作の追跡と相関。
  • 型の安全性: TypeScript と Zod スキーマによって強制される強力な型付け。
  • HTTP トランスポート オプション: SSE、セッション管理、CORS サポートを備えた組み込み Express サーバー。

Git操作

  • 直接 Git CLI 実行: Node.js child_processを介して標準のgitコマンドライン ツールを安全に実行することで Git と対話し���完全な互換性と Git の機能へのアクセスを確保します。
  • 包括的なコマンド カバレッジ: 幅広い Git コマンドを MCP ツールとして公開します (ツールセクションを参照)。
  • リポジトリインタラクション: ステータスのチェック、ブランチ、ステージング、コミット、フェッチ、プル、プッシュ、比較、ログ記録、リセット、タグ付けなどをサポートします。
  • 作業ディレクトリ管理: 複数の Git 操作にわたってコンテキストを永続化するために、セッション固有の作業ディレクトリを設定およびクリアできます。
  • 安全機能: git cleangit reset --hardなどの潜在的に破壊的な操作に対するチェックが含まれ、明示的な確認が必要です。
  • コミット署名:検証済みコミットのGPGまたはSSH署名をサポートします。GIT_SIGN_COMMITS環境変数とサーバー側のGit設定によって制御されます。署名失敗時に未署名コミットにフォールバックするためのオプションツールパラメータもGIT_SIGN_COMMITSれています。

インストール

前提条件

  • Node.js (>=18.0.0)
  • npm (Node.js に付属)
  • Gitがインストールされ、システム PATH にアクセスできます。

npm経由でインストール

  1. パッケージをグローバルにインストールします。
    npm install @cyanheads/git-mcp-server

ソースからインストール

  1. リポジトリをクローンします。
    git clone https://github.com/cyanheads/git-mcp-server.git cd git-mcp-server
  2. 依存関係をインストールします:
    npm install
  3. プロジェクトをビルドします。
    npm run build (or `npm run rebuild`)
    これにより、TypeScript コードがdist/ディレクトリ内の JavaScript にコンパイルされ、エントリ ポイントが実行可能になります。

構成

環境変数

環境変数を使用してサーバーを設定します。プロジェクトルートに.envファイルを作成するか( .env.exampleからコピー)、環境変数を環境に設定します。

変数説明デフォルト
MCP_TRANSPORT_TYPEトランスポート メカニズム: stdioまたはhttpstdio
MCP_HTTP_PORTHTTPサーバーのポート( MCP_TRANSPORT_TYPE=httpの場合)。ビジー状態の場合は次のポートを再試行します。3010
MCP_HTTP_HOSTHTTP サーバーのホスト アドレス ( MCP_TRANSPORT_TYPE=httpの場合)。127.0.0.1
MCP_ALLOWED_ORIGINSCORS に許可されるオリジンのコンマ区切りリスト ( MCP_TRANSPORT_TYPE=httpの場合)。(なし)
MCP_LOG_LEVELログレベル( debuginfonoticewarningerrorcritalertemerg )。テンプレートから継承されます。info
GIT_SIGN_COMMITSgit_commitツールによるコミットの署名を有効にするには、 "true"に設定します。サーバー側の Git/キー設定が必要です(下記参照)。false
MCP_AUTH_SECRET_KEY認証トークンの署名/検証用の秘密キー (将来認証が有効になった場合に必要)。''

MCPクライアント設定

MCP クライアント設定に追加します (例: cline_mcp_settings.json ):

{ "mcpServers": { "git-mcp-server": { // Use a descriptive name "command": "node", // Use node to run the script "args": ["/path/to/your/git-mcp-server/dist/index.js"], // Absolute path to the built entry point "env": { // "MCP_TRANSPORT_TYPE": "http", // Optional: if using http // "MCP_HTTP_PORT": "3010", // Optional: if using http and non-default port // "GIT_SIGN_COMMITS": "true" // Optional: Enable commit signing attempts if server is configured }, "disabled": false, "autoApprove": [] // Configure auto-approval rules if desired } } }

プロジェクト構造

コードベースは、 src/ディレクトリ内でモジュール構造に従います。

src/ ├── index.ts # Entry point: Initializes and starts the server ├── config/ # Configuration loading (env vars, package info) │ └── index.ts ├── mcp-server/ # Core MCP server logic and capability registration │ ├── server.ts # Server setup, capability registration │ ├── transports/ # Transport handling (stdio, http) │ ├── resources/ # MCP Resource implementations (currently none) │ └── tools/ # MCP Tool implementations (subdirs per tool) ├── types-global/ # Shared TypeScript type definitions └── utils/ # Common utility functions (logger, error handler, etc.)

詳細なファイル ツリーについては、 npm run treeを実行するか、 docs/tree.mdを参照してください。

ツール

Git MCP サーバーは、モデル コンテキスト プロトコルを介して呼び出すことができる、Git リポジトリと対話するためのツール スイートを提供します。

ツール名説明主な議論
git_add指定されたファイルまたはパターンをステージングします。path?files?
git_branchブランチを管理します (一覧表示、作成、削除、名前変更、現在の表示)。path?modebranchName?newBranchName?startPoint?force?all?remote?
git_checkoutブランチを切り替えたり、作業ツリー ファイルを復元したりします。path?branchOrPathnewBranch?force?
git_cherry_pick既存のコミットによって導入された変更を適用します。path?commitRefmainline?strategy?noCommit?signoff?
git_clean追跡されていないファイルを削除します。force force: trueが必要ですpath?forcedryRun?directories?ignored?
git_clear_working_dirセッション固有の作業ディレクトリをクリアします。(なし)
git_clone指定された絶対パスにリポジトリのクローンを作成します。repositoryUrltargetPathbranch?depth?quiet?
git_commitステージングされた変更をコミットします。作成者によるオーバーライド、署名制御をサポートします。path?messageauthor?allowEmpty?amend?forceUnsignedOnFailure?
git_diffコミット、作業ツリーなどの間の変更を表示します。path?commit1? commit2? staged?file?
git_fetch他のリポジトリからオブジェクトと参照をダウンロードします。path?remote?prune?tags?all?
git_init指定された絶対パスに新しい Git リポジトリを初期化します。初期ブランチのデフォルトは「main」です。pathinitialBranch?bare?quiet?
git_logコミット ログを表示します。path?maxCount?author?since?until?branchOrFile?
git_merge指定されたブランチを現在のブランチにマージします。path?branchcommitMessage?noFf?squash?abort?
git_pull別のリポジトリまたはローカル ブランチから取得して統合します。path?remote?branch?rebase?ffOnly?
git_pushローカル参照を使用してリモート参照を更新します。path?remote?branch?remoteBranch?force?forceWithLease?setUpstream?tags?delete?
git_rebase別のベースチップの上にコミットを再適用します。path?mode?upstream?branch?interactive?strategy?strategyOption?onto?
git_remoteリモート リポジトリを管理します (一覧表示、追加、削除、表示)。path?modename?url?
git_reset現在のHEADを指定された状態にリセットします。ソフト、ミックス、ハードモードをサポートします。 「hard」は注意して使用してくださいpath?mode?commit?
git_set_working_dirデフォルトの作業ディレクトリを設定します。リポジトリが存在しない場合は、必要に応じて初期化できます。絶対パスが必要です。pathvalidateGitRepo?initializeIfNotPresent?
git_showGit オブジェクト (コミット、タグなど) に関する情報を表示します。path?reffilePath?
git_stash保存された変更を管理します (リスト、適用、ポップ、ドロップ、保存)。path?modestashRef? message?
git_statusリポジトリのステータス (ブランチ、ステージング済み、変更済み、追跡されていないファイル) を取得します。path?
git_tagタグを管理します (リスト、注釈付き/軽量の作成、削除)。path?modetagName?message?commitRef?annotate?
git_worktreeGit ワークツリーを管理します (リスト、追加、削除、移動、プルーニング)。path?modeworktreePath?commitish?newBranch?force?detach?newPath?verbose?dryRun?expire?

注: git_set_working_dirで設定されている場合、ほとんどのツールのpathパラメータはデフォルトでセッションの作業ディレクトリに設定されます。

リソース

MCP リソースはこのバージョン (v2.0.12) では実装されていません。

このバージョンでは、最新のmcp-ts-templateとMCP SDK v1.12.0に基づいてリファクタリングされたGitツール実装に重点を置いています。これまで利用可能だったリソース機能は、今回のメジャーアップデート中に一時的に削除されました。

MCP リソース アクセスが必要な場合 (たとえば、サーバー経由でファイル コンテンツを直接読み取る場合) は、安定版の**v1.2.4 リリース**を使用してください。

将来の開発により、後続のリリースでリソース機能が再導入される可能性があります。

**注:**このバージョン (v2.0.0) は、最新の MCP SDK に基づいてコア Git ツールのリファクタリングとアップデートに重点を置いています。MCP リソース機能はこのバージョンでは実装されていません。リソースへのアクセスには、 v1.2.4 をご利用ください。

発達

ビルドとテスト

# Build the project (compile TS to JS in dist/ and make executable) npm run build # Test the server locally using the MCP inspector tool (stdio transport) npm run inspector # Test the server locally using the MCP inspector tool (http transport) npm run inspector:http # Clean build artifacts (runs scripts/clean.ts) npm run clean # Generate a file tree representation for documentation (runs scripts/tree.ts) npm run tree # Clean build artifacts and then rebuild the project npm run rebuild # Start the server using stdio (default) npm start # Or explicitly: npm run start:stdio # Start the server using HTTP transport npm run start:http

ライセンス

このプロジェクトは、Apache License 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。


You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

大規模言語モデルが堅牢な API を介して Git リポジトリと対話できるようにし、リポジトリの初期化、クローン作成、ファイルのステージング、コミット、ブランチ管理などの操作をサポートするモデル コンテキスト プロトコル サーバー。

  1. 目次
    1. 概要
      1. 特徴
        1. コアユーティリティ(テンプレートから)
        2. Git操作
      2. インストール
        1. 前提条件
        2. npm経由でインストール
        3. ソースからインストール
      3. 構成
        1. 環境変数
        2. MCPクライアント設定
      4. プロジェクト構造
        1. ツール
          1. リソース
            1. 発達
              1. ビルドとテスト
            2. ライセンス

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.
                Last updated -
                12
                52,147
                Python
                MIT License
              • A
                security
                F
                license
                A
                quality
                A Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.
                Last updated -
                1
                JavaScript
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables interaction with GitLab accounts to manage repositories, merge requests, code reviews, and CI/CD pipelines through natural language.
                Last updated -
                41
                2
                TypeScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that helps large language models process code repositories by providing file tree generation, code merging, and code analysis capabilities.
                Last updated -
                3
                14
                JavaScript
                MIT License

              View all related MCP servers

              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/cyanheads/git-mcp-server'

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