Git文件取证工具

一个用于深入分析Git文件历史、变更和模式的MCP工具,专注于单个文件的分析而非整个仓库的操作。

  • by davidorex
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 davidorex/git-file-forensics

使用说明

Git文件取证MCP

一种用于深度git文件级取证的MCP工具,有助于深入了解文件历史、更改和模式,专注于单个文件分析,而不是存储库范围内的操作。

安装

  1. 克隆并构建服务器:
git clone [repository-url]
cd git-file-forensics
npm install
npm run build
  1. 添加到MCP设置(~/Library/Application Support/Code/User/globalStorage/david-dafu-dev.dafu/settings/cline_mcp_settings.json):
{
  "mcpServers": {
    "git-file-forensics": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/path/to/git-file-forensics/build/index.js"],
      "alwaysAllow": []
    }
  }
}

可用工具

1.跟踪文件版本

跟踪特定文件的完整版本历史记录,包括重命名和移动。

{
  "method": "tools/call",
  "params": {
    "name": "track_file_versions",
    "arguments": {
      "repoPath": "/path/to/repo",
      "file": "path/to/file",
      "outputPath": "output.json"
    }
  }
}

2.analyze_file_diff

分析文件任意两个版本之间的特定更改。

{
  "method": "tools/call",
  "params": {
    "name": "analyze_file_diff",
    "arguments": {
      "repoPath": "/path/to/repo",
      "file": "path/to/file",
      "versions": {
        "from": "commit-hash-1",
        "to": "commit-hash-2"
      },
      "outputPath": "output.json"
    }
  }
}

3.分析文件文本

分析特定提交中文件更改的更广泛背景。

{
  "method": "tools/call",
  "params": {
    "name": "analyze_file_context",
    "arguments": {
      "repoPath": "/path/to/repo",
      "file": "path/to/file",
      "commit": "commit-hash",
      "outputPath": "output.json"
    }
  }
}

4.分析语义

分析文件历史中的语义变化和模式。

{
  "method": "tools/call",
  "params": {
    "name": "analyze_file_semantics",
    "arguments": {
      "repoPath": "/path/to/repo",
      "file": "path/to/file",
      "outputPath": "output.json"
    }
  }
}

输出格式

所有工具输出包含以下内容的JSON文件:

  • 详细分析结果
  • 汇总统计
  • 改变模式和关系
  • 风险评估(如适用)

需求

  • Node.js
  • Git(必须安装并可访问)
  • MCP-SDK

许可证

此项目根据Apache许可证2.0版获得许可-请参阅 LICENSE.txt 文件以获取详细信息。

版权所有davidorex.ai。根据Apache许可证2.0版许可;除非遵守许可证,否则您不得使用此项目。您可以在以下网址获得许可证副本http://www.apache.org/licenses/LICENSE-2.0