T

mcp-server-auto-commit

...
Created 3/9/2025byjatinsandilya

Language:

TypeScript

Stars:

13

Forks:

3

MCP Server to Auto commit changes šŸ› ļø

This implementation provides a Git changes analyzer that generates commit messages using OpenAI's GPT models.

Demo

Features

  • Analyzes git changes in your repository (both staged and unstaged)
  • Generates conventional commit messages using GPT-4o-mini
  • Provides detailed summaries of:
    • šŸ“ Modified files
    • ✨ Newly added files
    • šŸ—‘ļø Deleted files
    • šŸ“„ Detailed changes (up to 10 lines per file)
  • Built with @modelcontextprotocol/sdk
  • Adds an auto-commit signature to each commit

Project Structure

mcp-server-auto-commit/
ā”œā”€ā”€ index.ts        # Main server implementation with git analysis tool
ā”œā”€ā”€ package.json    # Project dependencies
ā”œā”€ā”€ tsconfig.json   # TypeScript configuration
└── build/         # Compiled JavaScript output

Prerequisites

  • Node.js installed
  • OpenAI API key
  • Git repository to analyze
  • pnpm package manager

Getting Started

  1. Clone this repository:
git clone https://github.com/jatinsandilya/mcp-server-auto-commit.git
cd mcp-server-auto-commit
  1. Install dependencies:
pnpm install
  1. Set up your OpenAI API key using one of these methods:

    • Set as an environment variable: OPENAI_API_KEY=your-api-key
    • Pass as a command line argument: --key your-api-key
    • Add to a .env file in the project root
  2. Build the project:

pnpm run build

This will generate the /build/index.js file - your compiled MCP server script.

Using with Cursor

  1. Go to Cursor Settings -> MCP -> Add new MCP server
  2. Configure your MCP:
    • Name: git-auto-commit
    • Type: command
    • Command: node ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js --key your-api-key (Replace your-api-key with your actual OpenAI API key if not set in environment)

Using with Claude Desktop

Add the following MCP config to your Claude Desktop configuration:

            ```json

{ "mcpServers": { "git-auto-commit": { "command": "node", "args": ["ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js", "--key", "your-api-key"] } } }


## Available Tools

### git-changes-commit-message

This tool analyzes the current git changes in your repository and generates a commit message using OpenAI's GPT-4o-mini model. It provides:

- List of modified files with status indicators
- List of newly added files
- List of deleted files
- Detailed changes for each file (limited to 10 lines per file for readability)
- A generated commit message following conventional commits format
- An auto-commit signature

Usage parameters:
- `autoCommitPath`: Optional path to analyze specific directory/file. If not provided, uses current working directory.

## Development

The implementation in `index.ts` showcases:

1. Setting up the MCP server with proper configuration
2. Handling command line arguments and environment variables
3. Integrating with OpenAI's API using GPT-4o-mini model
4. Git operations using child processes
5. Error handling and fallback mechanisms
6. Detailed change analysis and formatting

To modify or extend the implementation:

1. Update the server configuration in `index.ts`:
```typescript
const server = new McpServer({
  name: "git-auto-commit",
  version: "0.0.1",
});
  1. The tool is defined using server.tool() with proper parameter validation using Zod schema.

  2. Build and test your changes:

pnpm run build

Contributing

Feel free to submit issues and enhancement requests!

License

MIT

Last updated: 3/17/2025

Publisher info

jatinsandilya's avatar

Jatin Sandilya

Perpetually building 🚢

41
followers
23
following
60
repos

More MCP servers built with TypeScript

n8n_MCP_server_complete

Complete MCP server for n8n workflow management in Cursor

By dopehunter6
mcp-server-serper

Serper MCP Server supporting search and webpage scraping

By marcopesani10