Skip to main content
Glama
tonyweckstrom1987

mcp-server-git-history

mcp-server-git-history

npm version

Uusin julkaistu versio: 1.0.1 — https://www.npmjs.com/package/mcp-server-git-history

MCP-palvelin (Model Context Protocol) joka antaa tekoälyagenteille (Claude Desktop, Cursor, Windsurf) työkalut Git-repositorion historian lukemiseen ja hakemiseen.

Ratkaisee ongelman jossa tekoäly näkee koodin nykytilan, mutta ei tiedä miksi jokin muuttui tai kuka teki muutoksen viimeksi.

Quick start

An MCP server that gives AI agents (Claude Desktop, Cursor, Windsurf) tools to read and search Git history — commit search, file history, blame, contributors, and diffs between refs.

Run it directly with npx (no install needed):

npx -y mcp-server-git-history /path/to/your/repo

Add it to Claude Desktop's config (claude_desktop_config.json):

{
  "mcpServers": {
    "git-history": {
      "command": "npx",
      "args": ["-y", "mcp-server-git-history", "/path/to/your/repo"]
    }
  }
}

Restart Claude Desktop, then ask something like "When was src/index.js last changed, and why?"

Related MCP server: @rethunk/mcp-multi-root-git

Työkalut

  • search_commits(query, limit?) — etsii commiteja hakusanalla commit-viestistä

  • get_recent_commits(limit?) — hakee uusimmat commitit (yleiskuva viimeaikaisista muutoksista)

  • get_commit_diff(commitHash) — hakee yhden commitin koko diffin

  • get_file_history(filePath, limit?) — hakee tiedoston muutoshistorian (kuka, milloin, miksi)

  • blame_file(filePath, startLine?, endLine?) — rivikohtainen git blame: kuka ja missä commitissa kirjoitti kunkin rivin

  • get_contributors(limit?) — yhteenveto committaajista ja heidän commit-määristään (git shortlog -sn)

  • get_diff_between_refs(fromRef, toRef, filePath?) — diffi kahden commitin/branchin/tagin välillä, valinnaisesti yhteen tiedostoon rajattuna

Esimerkkikutsut

{ "name": "search_commits", "arguments": { "query": "login-bugi", "limit": 10 } }
{ "name": "get_recent_commits", "arguments": { "limit": 5 } }
{ "name": "get_commit_diff", "arguments": { "commitHash": "a1b2c3d" } }
{ "name": "get_file_history", "arguments": { "filePath": "src/index.js", "limit": 10 } }
{ "name": "blame_file", "arguments": { "filePath": "src/index.js", "startLine": 10, "endLine": 25 } }
{ "name": "get_contributors", "arguments": { "limit": 10 } }
{ "name": "get_diff_between_refs", "arguments": { "fromRef": "main", "toRef": "HEAD", "filePath": "src/index.js" } }

Asennus Claude Desktopiin

Lisää claude_desktop_config.json-tiedostoon:

{
  "mcpServers": {
    "git-history": {
      "command": "npx",
      "args": ["-y", "mcp-server-git-history", "/polku/repositorioosi"]
    }
  }
}

Repositorion polku voidaan antaa myös GIT_REPO_PATH-ympäristömuuttujalla, tai jättää pois jolloin käytetään palvelimen käynnistyshakemistoa.

Käynnistä Claude Desktop uudelleen, ja kysy esimerkiksi: "Milloin tiedostoa src/index.js on viimeksi muokattu ja miksi?"

Asennus Cursoriin

Lisää projektin .cursor/mcp.json-tiedostoon (tai globaaliin ~/.cursor/mcp.json-tiedostoon):

{
  "mcpServers": {
    "git-history": {
      "command": "npx",
      "args": ["-y", "mcp-server-git-history", "/polku/repositorioosi"]
    }
  }
}

Avaa Cursorin asetuksista MCP-välilehti ja varmista, että git-history-palvelin on käynnissä (vihreä piste). Sama GIT_REPO_PATH-ympäristömuuttuja ja komentoriviargumentti toimivat kuin Claude Desktopissa.

Kehitys ja testaus paikallisesti

git clone <repo>
cd mcp-server-git-history
npm install
npm test                                        # testaa tätä samaa repoa
node test/manual-test.js /polku/johonkin/git-repoon   # tai jotain muuta repoa

Testiskripti käynnistää palvelimen alaprosessina ja kutsuu kaikkia työkaluja oikeaa MCP-protokollaa käyttäen (@modelcontextprotocol/sdk:n Client + StdioClientTransport), ei vain suoraan funktioita — samalla tavalla kuin Claude Desktop oikeasti kutsuisi palvelinta.

Miksi tämä on ilmainen ylläpitää

Palvelin itse ei tee tekoälykutsuja — se vain lukee Git-dataa ja palauttaa sen. Tekoäly (esim. Claude Desktop) kutsuu palvelinta, ei toisinpäin. Ei API-avaimia, ei kustannuksia.

Rakenne

  • bin/server.js — MCP-palvelin, työkalujen rekisteröinti (McpServer + StdioServerTransport)

  • lib/git-tools.js — Git-logiikka (simple-git)

  • test/manual-test.js — päästä-päähän-testi oikealla MCP-clientillä

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides 15 MCP tools for AI-powered Git intelligence, enabling commit messages, branch creation, PR descriptions, code review, diff analysis, and push operations directly from your AI assistant.
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    An MCP server that enables AI agents to inspect and interact with a local Git repository, including managing Git status, logs, branches, commits, and workspace files.
    8
    1
    MIT