mcp-server-git: Ein git MCP-Server
Übersicht
Ein Model Context Protocol-Server für die Interaktion mit und Automatisierung von Git-Repositories. Dieser Server stellt Werkzeuge bereit, um Git-Repositories über Large Language Models zu lesen, zu durchsuchen und zu bearbeiten.
Bitte beachten Sie, dass sich mcp-server-git derzeit in einem frühen Entwicklungsstadium befindet. Die Funktionalität und die verfügbaren Werkzeuge können sich ändern und erweitern, während wir den Server weiterentwickeln und verbessern.
Werkzeuge
git_statusZeigt den Status des Arbeitsverzeichnisses an
Eingabe:
repo_path(string): Pfad zum Git-Repository
Rückgabe: Aktueller Status des Arbeitsverzeichnisses als Textausgabe
git_diff_unstagedZeigt Änderungen im Arbeitsverzeichnis an, die noch nicht für den Commit vorgemerkt (staged) sind
Eingaben:
repo_path(string): Pfad zum Git-Repositorycontext_lines(number, optional): Anzahl der Kontextzeilen, die angezeigt werden sollen (Standard: 3)
Rückgabe: Diff-Ausgabe der nicht vorgemerkten Änderungen
git_diff_stagedZeigt Änderungen an, die für den Commit vorgemerkt sind
Eingaben:
repo_path(string): Pfad zum Git-Repositorycontext_lines(number, optional): Anzahl der Kontextzeilen, die angezeigt werden sollen (Standard: 3)
Rückgabe: Diff-Ausgabe der vorgemerkten Änderungen
git_diffZeigt Unterschiede zwischen Branches oder Commits an
Eingaben:
repo_path(string): Pfad zum Git-Repositorytarget(string): Ziel-Branch oder Commit für den Vergleichcontext_lines(number, optional): Anzahl der Kontextzeilen, die angezeigt werden sollen (Standard: 3)
Rückgabe: Diff-Ausgabe des Vergleichs zwischen aktuellem Zustand und Ziel
git_commitSpeichert Änderungen im Repository
Eingaben:
repo_path(string): Pfad zum Git-Repositorymessage(string): Commit-Nachricht
Rückgabe: Bestätigung mit dem neuen Commit-Hash
git_addFügt Dateiinhalte zum Staging-Bereich hinzu
Eingaben:
repo_path(string): Pfad zum Git-Repositoryfiles(string[]): Array von Dateipfaden zum Vormerken
Rückgabe: Bestätigung der vorgemerkten Dateien
git_resetHebt die Vormerkung aller vorgemerkten Änderungen auf
Eingabe:
repo_path(string): Pfad zum Git-Repository
Rückgabe: Bestätigung des Reset-Vorgangs
git_logZeigt die Commit-Logs mit optionaler Datumsfilterung an
Eingaben:
repo_path(string): Pfad zum Git-Repositorymax_count(number, optional): Maximale Anzahl der anzuzeigenden Commits (Standard: 10)start_timestamp(string, optional): Start-Zeitstempel für die Filterung von Commits. Akzeptiert ISO 8601-Format (z. B. '2024-01-15T14:30:25'), relative Daten (z. B. '2 weeks ago', 'yesterday') oder absolute Daten (z. B. '2024-01-15', 'Jan 15 2024')end_timestamp(string, optional): End-Zeitstempel für die Filterung von Commits. Akzeptiert ISO 8601-Format (z. B. '2024-01-15T14:30:25'), relative Daten (z. B. '2 weeks ago', 'yesterday') oder absolute Daten (z. B. '2024-01-15', 'Jan 15 2024')
Rückgabe: Array von Commit-Einträgen mit Hash, Autor, Datum und Nachricht
git_create_branchErstellt einen neuen Branch
Eingaben:
repo_path(string): Pfad zum Git-Repositorybranch_name(string): Name des neuen Branchesbase_branch(string, optional): Basis-Branch, von dem aus erstellt werden soll (Standard ist der aktuelle Branch)
Rückgabe: Bestätigung der Branch-Erstellung
git_checkout
Wechselt Branches
Eingaben:
repo_path(string): Pfad zum Git-Repositorybranch_name(string): Name des Branches, zu dem gewechselt werden soll
Rückgabe: Bestätigung des Branch-Wechsels
git_show
Zeigt den Inhalt eines Commits an
Eingaben:
repo_path(string): Pfad zum Git-Repositoryrevision(string): Die Revision (Commit-Hash, Branch-Name, Tag), die angezeigt werden soll
Rückgabe: Inhalt des angegebenen Commits
git_branch
Listet Git-Branches auf
Eingaben:
repo_path(string): Pfad zum Git-Repository.branch_type(string): Ob lokale Branches ('local'), Remote-Branches ('remote') oder alle Branches ('all') aufgelistet werden sollen.contains(string, optional): Der Commit-SHA, den der Branch enthalten sollte. Übergeben Sie nichts an diesen Parameter, wenn kein Commit-SHA angegeben istnot_contains(string, optional): Der Commit-SHA, den der Branch NICHT enthalten sollte. Übergeben Sie nichts an diesen Parameter, wenn kein Commit-SHA angegeben ist
Rückgabe: Liste der Branches
Related MCP server: GitLab MCP Server
Installation
Verwendung von uv (empfohlen)
Bei der Verwendung von uv ist keine spezielle Installation erforderlich. Wir verwenden uvx, um mcp-server-git direkt auszuführen.
Verwendung von PIP
Alternativ können Sie mcp-server-git über pip installieren:
pip install mcp-server-gitNach der Installation können Sie es als Skript ausführen mit:
python -m mcp_server_gitKonfiguration
Verwendung mit Claude Desktop
Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}
}Hinweis: Ersetzen Sie '/Users/username' durch einen Pfad, auf den dieses Werkzeug zugreifen können soll
"mcpServers": {
"git": {
"command": "docker",
"args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
}
}"mcpServers": {
"git": {
"command": "python",
"args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
}
}Verwendung mit VS Code
Für eine schnelle Installation verwenden Sie eine der untenstehenden Ein-Klick-Installationsschaltflächen...
👁 Install with UV in VS Code
👁 Install with UV in VS Code Insiders
👁 Install with Docker in VS Code
👁 Install with Docker in VS Code Insiders
Für eine manuelle Installation können Sie den MCP-Server mit einer dieser Methoden konfigurieren:
Methode 1: Benutzerkonfiguration (Empfohlen)
Fügen Sie die Konfiguration zu Ihrer MCP-Konfigurationsdatei auf Benutzerebene hinzu. Öffnen Sie die Befehlspalette (Strg + Umschalt + P) und führen Sie MCP: Open User Configuration aus. Dies öffnet Ihre mcp.json-Datei auf Benutzerebene, in der Sie die Serverkonfiguration hinzufügen können.
Methode 2: Arbeitsbereichskonfiguration
Alternativ können Sie die Konfiguration zu einer Datei namens .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen. Dies ermöglicht es Ihnen, die Konfiguration mit anderen zu teilen.
Weitere Details zur MCP-Konfiguration in VS Code finden Sie in der offiziellen VS Code MCP-Dokumentation.
{
"servers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git"]
}
}
}Für die Docker-Installation:
{
"mcp": {
"servers": {
"git": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--mount", "type=bind,src=${workspaceFolder},dst=/workspace",
"mcp/git"
]
}
}
}
}Verwendung mit Zed
Fügen Sie dies zu Ihrer Zed settings.json hinzu:
"context_servers": [
"mcp-server-git": {
"command": {
"path": "uvx",
"args": ["mcp-server-git"]
}
}
],"context_servers": {
"mcp-server-git": {
"command": {
"path": "python",
"args": ["-m", "mcp_server_git"]
}
}
},Verwendung mit Zencoder
Gehen Sie zum Zencoder-Menü (...)
Wählen Sie aus dem Dropdown-Menü
Agent ToolsausKlicken Sie auf
Add Custom MCPFügen Sie den Namen (z. B. git) und die Serverkonfiguration von unten hinzu und stellen Sie sicher, dass Sie auf die Schaltfläche
Installklicken
{
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}Debugging
Sie können den MCP-Inspektor verwenden, um den Server zu debuggen. Für uvx-Installationen:
npx @modelcontextprotocol/inspector uvx mcp-server-gitOder wenn Sie das Paket in einem bestimmten Verzeichnis installiert haben oder daran entwickeln:
cd path/to/servers/src/git
npx @modelcontextprotocol/inspector uv run mcp-server-gitDas Ausführen von tail -n 20 -f ~/Library/Logs/Claude/mcp*.log zeigt die Logs des Servers an und kann Ihnen helfen, Probleme zu debuggen.
Entwicklung
Wenn Sie lokal entwickeln, gibt es zwei Möglichkeiten, Ihre Änderungen zu testen:
Führen Sie den MCP-Inspektor aus, um Ihre Änderungen zu testen. Siehe Debugging für Anweisungen zur Ausführung.
Testen Sie mit der Claude Desktop-App. Fügen Sie Folgendes zu Ihrer
claude_desktop_config.jsonhinzu:
Docker
{
"mcpServers": {
"git": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
"--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
"--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
"mcp/git"
]
}
}
}UVX
{
"mcpServers": {
"git": {
"command": "uv",
"args": [
"--directory",
"/<path to mcp-servers>/mcp-servers/src/git",
"run",
"mcp-server-git"
]
}
}
}Build
Docker-Build:
cd src/git
docker build -t mcp/git .Lizenz
Dieser MCP-Server ist unter der MIT-Lizenz lizenziert. Dies bedeutet, dass Sie die Software frei verwenden, ändern und verbreiten dürfen, vorbehaltlich der Bedingungen der MIT-Lizenz. Weitere Details finden Sie in der LICENSE-Datei im Projekt-Repository.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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/modelcontextprotocol/git'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
