Allows for the monitoring and management of security alerts, specifically providing tools to list, summarize, and dismiss Dependabot and code scanning alerts.
Provides autonomous management of GitHub accounts, allowing for the creation, archiving, and deletion of repositories, as well as updating repository settings through natural language.
Enables control over GitHub Actions workflows, including the ability to list workflows, manually trigger runs, and manage repository secrets.
Integrates with the macOS Keychain for secure, local storage of GitHub App credentials, ensuring a zero-footprint configuration on the host machine.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@git-steerDelete branches older than 60 days in my blog repo, except main"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π git-steer
Self-hosting GitHub autonomy engine. A skid steer for your repos.
git-steer gives you 100% autonomous control over your GitHub account through a Model Context Protocol (MCP) server. Manage repos, branches, security, Actionsβeverythingβthrough natural language.
Philosophy
Your Mac is just the steering wheel. The engine lives on GitHub.
Zero local footprint: Only Keychain credentials persist locally
Self-hosting code: git-steer pulls itself from GitHub at runtime
State on GitHub: All configuration and audit logs live in a private repo
GitHub Actions as cron: Scheduled jobs run via Actions workflows
Quick Start
Local Footprint
Item | Location |
GitHub App ID | macOS Keychain |
Installation ID | macOS Keychain |
Private Key | macOS Keychain |
Claude config |
|
That's it. No config files. No dotfiles. No ~/.git-steer.
State Repository
git-steer stores all state in a private repo (git-steer-state):
MCP Tools
Repository Management
repo_list- List all accessible repositoriesrepo_create- Create new repo (optionally from template)repo_archive- Archive a repositoryrepo_delete- Permanently delete (requires confirmation)repo_settings- Update repo settings
Branch Operations
branch_list- List branches with staleness infobranch_protect- Apply protection rulesbranch_reap- Delete stale/merged branches
Security
security_alerts- List Dependabot/code scanning alertssecurity_dismiss- Dismiss alert with reasonsecurity_digest- Summary across all managed repos
GitHub Actions
actions_workflows- List workflowsactions_trigger- Manually trigger a workflowactions_secrets- Manage Actions secrets
Configuration
config_show- Display current configconfig_add_repo- Add repo to managed listconfig_remove_repo- Remove from managed liststeer_status- Health and rate limitssteer_sync- Force save state to GitHubsteer_logs- View audit log
Example Usage
Claude Desktop Integration
Add to ~/.config/claude/claude_desktop_config.json:
Commands
Offline Behavior
When offline, git-steer runs in read-only mode with cached state. Write operations queue until next online session.
Security
All GitHub API access through a dedicated GitHub App
Credentials stored in macOS Keychain (syncs via iCloud Keychain if enabled)
Full audit log of all actions in state repo
No secrets in code or config files
License
MIT