
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
MCP server for Git repository analysis with AI-powered code change analysis using OpenRouter
GitLogMCP is a Model Context Protocol (MCP) server that provides comprehensive git repository analysis capabilities with enhanced AI-powered insights using OpenRouter. This tool analyzes actual code changes (diffs) instead of just commit messages, providing meaningful insights about what your code actually does and its impact on your project.
GitLogMCP goes beyond traditional git analysis by examining actual code changes (diffs) rather than just commit messages. This provides meaningful insights into what your code actually does and its impact on your project.
1. commit a1b2c3d4e5f6... (HEAD -> main, origin/main)
Author: John Doe <john@example.com>
Date: Sun, Oct 26, 2025, 10:27:14 AM GMT+7
Summary: Added authentication middleware with JWT token validation and error handling. This enhances security by requiring valid tokens for protected routes and provides standardized error responses for unauthorized access attempts.
File changes: src/middleware/auth.js, src/routes/api.js, src/utils/jwt.js
Install directly from npm:
npm install -g gitlogmcp
If you want to contribute or modify the code:
git clone <repository-url>
cd gitlogmcp
npm install
npm run build
anthropic/claude-3-sonnet, openai/gpt-4)Add the following configuration to your MCP client (e.g., Claude Desktop):
{
"mcpServers": {
"gitlogmcp": {
"command": "gitlogmcp",
"args": [
"--api-key", "your-openrouter-api-key",
"--model-id", "anthropic/claude-3-sonnet",
"--output-dir", "./summaries",
"--max-commits", "100"
]
}
}
}
| Parameter | Description | Required | Default |
|---|---|---|---|
--api-key | OpenRouter API key | Yes | - |
--model-id | OpenRouter model ID | Yes | - |
--repo-path | Path to git repository | No | Current directory |
--output-dir | Directory for summary files (auto-created if needed) | No | ./summaries |
--max-commits | Maximum commits to process | No | 100 |
--language | Analysis language (en|id) | No | id |
Note: The output directory specified by
--output-dirwill be automatically created if it doesn't exist, including any necessary parent directories. The system also verifies write permissions after creation.
{
"mcpServers": {
"gitlogmcp": {
"command": "gitlogmcp",
"args": [
"--api-key", "sk-or-v1-your-api-key-here",
"--model-id", "anthropic/claude-3-sonnet"
]
}
}
}
{
"mcpServers": {
"gitlogmcp": {
"command": "gitlogmcp",
"args": [
"--api-key", "sk-or-v1-your-api-key-here",
"--model-id", "anthropic/claude-3-sonnet",
"--repo-path", "C:\\your\\project\\path",
"--output-dir", "C:\\summaries",
"--max-commits", "50",
"--language", "en"
]
}
}
}
{
"mcpServers": {
"gitlogmcp": {
"command": "node",
"args": [
"C:\\path\\to\\gitlogmcp\\build\\index.js",
"--api-key", "sk-or-v1-your-api-key-here",
"--model-id", "anthropic/claude-3-sonnet",
"--language", "id"
]
}
}
}
Note: If
--repo-pathis not specified, the server will automatically use the current working directory as the Git repository. This means you can run the server from within any Git repository without explicitly specifying the path.
git_logRetrieve git commit history with optional filtering.
Parameters:
limit (number, optional): Maximum commits to return (1-1000, default: 50)since (string, optional): Show commits since this date (ISO format)until (string, optional): Show commits until this date (ISO format)author (string, optional): Filter by author nameExample:
Get the last 10 commits by John Doe since 2024-01-01
git_diffShow git differences between commits or for specific files.
Parameters:
commitHash (string, optional): Show diff for specific commitfromCommit (string, optional): Starting commit for comparisontoCommit (string, optional): Ending commit for comparisonfilePath (string, optional): Show diff for specific file onlyExample:
Show diff between commit abc123 and def456
commit_infoGet detailed information about a specific commit.
Parameters:
commitHash (string, required): The commit hash to analyzeExample:
Get information for commit abc123def456
analyze_commitAI-powered analysis of a commit with detailed insights in the configured language (English or Indonesian).
Parameters:
commitHash (string, required): The commit hash to analyzegenerateSummary (boolean, optional): Generate markdown summary fileoutputFile (string, optional): Custom filename for summaryExample:
Analyze commit abc123 and generate a summary file
repository_statsGet comprehensive repository statistics.
Parameters: None
Example:
Show repository statistics
list_authorsList all authors who have contributed to the repository.
Parameters: None
Example:
List all repository authors
generate_project_summaryGenerate AI-powered project impact summary with real code analysis. This tool analyzes actual code changes (diffs) instead of just commit messages to provide meaningful insights about what the code actually does and its impact on the project.
Enhanced Features:
Parameters:
commitCount (number, optional): Number of recent commits to analyze (1-50, default: 10)outputFile (string, optional): Custom filename for summaryOutput Format: Each commit includes:
Example:
Generate project summary for the last 20 commits with real code analysis
View Recent Commits:
Use git_log tool to show the last 20 commits
Check Specific Commit:
Use commit_info tool for commit hash abc123def456
Compare Commits:
Use git_diff tool to compare commits abc123 and def456
Analyze Single Commit:
Use analyze_commit tool for commit abc123 with summary generation enabled
Enhanced Project Impact Analysis (Real Code Analysis):
Use generate_project_summary tool to analyze the last 15 commits with real code analysis
What this does:
Author Analysis:
Use list_authors tool to see all contributors
The tool generates markdown files in the specified output directory:
commit-{hash}-{timestamp}.mdproject-summary-{timestamp}.mdGitLogMCP implements comprehensive security measures:
"Not a git repository" Error:
--repo-path to point to one)--repo-path, make sure the current directory is a git repository--repo-path (if provided) points to a valid git repositoryOpenRouter API Errors:
Permission Errors:
Rate Limit Errors:
To enable debug logging, set the environment variable:
export DEBUG=gitlogmcp:*
npm run build # Build the project
npm run dev # Development mode
npm test # Run tests
npm run lint # Code linting
GitLogMCP works with various OpenRouter models:
anthropic/claude-3-sonnet - Best for detailed analysisanthropic/claude-3-haiku - Faster, cost-effectiveopenai/gpt-4-turbo - High-quality analysisopenai/gpt-3.5-turbo - Budget-friendly optionMIT License - see LICENSE file for details.
For issues and questions:
--language parameter documentation with en|id optionsgenerate_project_summary tool provides meaningful code impact analysisNote: This tool requires an active internet connection for AI analysis features. Git operations work offline.
FAQs
MCP server for Git repository analysis with AI-powered code change analysis using OpenRouter
We found that gitlogmcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.