auggie-git
v1.0.9
Published
Git MCP server for Auggie CLI
Readme
🚀 Auggie Git MCP Server
A Git integration server for the Auggie CLI using the Model Context Protocol (MCP). This server provides Git operations as tools that can be used by AI assistants through Auggie.
✨ Features
🎯 Flexible Tool Modes
Choose the right set of tools for your workflow:
Core Mode - Essential Git workflow
git_status- Check repository statusgit_add- Add files to staging areagit_commit- Commit changesgit_push- Push to remote
Standard Mode - Recommended for most users (Default)
- All core tools plus:
git_pull- Pull from remotegit_log- View commit historygit_diff- Show file differencesgit_branch- Manage branches
Full Mode - For power users
- All standard tools plus advanced features:
git_stash- Manage stash operationsgit_reset- Reset repository stategit_merge- Merge branchesgit_tag- Manage tags- Analysis tools (git_blame, git_show, etc.)
🔧 Enhanced Features
- Smart Error Handling - Context-aware error messages with recovery suggestions
- Configurable Tool Sets - Choose exactly which tools you need
- Environment Configuration - Override settings with environment variables
- Structured Logging - Debug and monitor server operations
- TypeScript - Full TypeScript support with type definitions
📦 Installation
Method 1: Global Installation with pnpm
pnpm add -g auggie-git
pnpm exec auggie-git install-auggieMethod 2: Using npx (No Installation Required)
Configure Auggie to use npx:
auggie mcp add git \
--command npx \
--args "-y auggie-git@latest"🔧 Configuration
Quick Start - Core Tools Only
Create ~/.auggie-git.json:
{
"server": {
"toolsMode": "core"
}
}Standard Configuration (Default)
{
"server": {
"toolsMode": "standard",
"logLevel": "info"
},
"git": {
"defaultRemote": "origin",
"defaultBranch": "main"
}
}Power User Configuration
{
"server": {
"toolsMode": "full",
"enableConsoleOutput": true
},
"git": {
"confirmDestructive": true,
"maxLogEntries": 20
}
}Environment Variables
export AUGGIE_GIT_LOG_LEVEL=debug
export AUGGIE_GIT_DEFAULT_REMOTE=upstream
export AUGGIE_GIT_DEFAULT_BRANCH=developFor detailed configuration options, see CONFIGURATION.md.
Method 3: Local Development
git clone <repository-url>
cd auggie-git
pnpm install
pnpm build
pnpm link --global
pnpm exec auggie-git install-auggie🔧 Configuration
After installation, the server will be automatically configured in your Auggie settings. The configuration will look like this:
{
"mcpServers": {
"auggie-git": {
"command": "auggie-git",
"args": []
}
}
}🛠️ Available Tools
Core Operations
git_status- Repository status with porcelain/human-readable optionsgit_commit- Stage and commit changes with custom messagesgit_push- Push to remote with configurable optionsgit_pull- Pull changes with rebase/merge optionsgit_log- Commit history with formatting optionsgit_diff- File differences with various comparison modes
Branch & State Management
git_branch- Create, switch, delete, rename branchesgit_stash- Save, apply, pop, list stashed changesgit_merge- Merge branches with different strategiesgit_reset- Reset repository state (soft/mixed/hard)git_tag- Create, list, delete, show tags
Analysis & Information
git_blame- Line-by-line authorship informationgit_show- Detailed commit and object informationgit_remote- Manage remote repositoriesgit_repo_info- Comprehensive repository analysis
For detailed parameter information, see API Documentation.
📚 Usage Examples
Basic Workflow
Check repository status:
Use the git_status tool to see what files have changedCommit changes:
Use git_commit with message "Add new feature implementation"Push to remote:
Use git_push to push changes to origin
Advanced Usage
- View recent commits:
git_logwithlimit: 5andoneline: true - See staged changes:
git_diffwithstaged: true - Force push:
git_pushwithforce: true(use carefully!)
⚙️ Configuration
Create a .auggie-git.json file in your home directory or project root:
{
"server": {
"logLevel": "info",
"enableConsoleOutput": true,
"timeout": 30000
},
"git": {
"defaultRemote": "origin",
"defaultBranch": "main",
"autoStage": true,
"confirmDestructive": true,
"maxLogEntries": 10,
"pushStrategy": "simple"
},
"aliases": {
"st": "status",
"co": "checkout",
"br": "branch"
}
}Environment Variables
AUGGIE_GIT_LOG_LEVEL- Set logging level (debug, info, warn, error)AUGGIE_GIT_DEFAULT_REMOTE- Override default remoteAUGGIE_GIT_WORKING_DIR- Set working directory
🔄 Development
Quick Setup
pnpm install
pnpm dev-setup # Sets up development environment
pnpm build
pnpm test:mcp # Test MCP protocol complianceAvailable Scripts
pnpm build # Compile TypeScript
pnpm dev # Run in development mode
pnpm test # Run unit tests
pnpm test:mcp # Test MCP protocol
pnpm lint # Run ESLint
pnpm validate # Validate implementation📋 Requirements
- Node.js >= 18
- Git installed and configured
- Auggie CLI installed
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
🆘 Troubleshooting
Server Not Starting
- Ensure Node.js >= 18 is installed
- Check that Git is available in your PATH
- Verify Auggie configuration is correct
Git Commands Failing
- Make sure you're in a Git repository
- Check Git configuration (user.name, user.email)
- Verify you have appropriate permissions for the repository
Installation Issues
- Try clearing pnpm cache:
pnpm store prune - Ensure you have write permissions to global pnpm directory
- Check that Auggie is properly installed and configured
