Official Model Context Protocol (MCP) server for GitChanger (gitchanger).
Allows AI assistants (Claude Desktop, Cursor, Antigravity / Gemini CLI, VS Code / Roo Code / Cline) to seamlessly inspect Git repositories, switch between multiple Git accounts and SSH configurations, and synchronize GitHub MCP Personal Access Tokens automatically.
- 🔄 Automatic Git Account Switching: Let your AI assistant switch your active Git profile (author name, email, SSH keys, signing keys, and remote URLs) per repository or globally.
- 🤖 GitHub MCP Token Synchronization: Synchronize GitHub Personal Access Tokens (PATs) across all your MCP-enabled tools (
@modelcontextprotocol/server-github) when changing profiles. - 🔍 Diagnostics & Scanning: Query Git identities, active remotes, loaded SSH keys, and system MCP configurations on demand.
- 🛡 Security by Design: Masked tokens by default, atomic configuration updates, and full compatibility with existing
~/.ssh/configblocks.
| Tool | Description |
|---|---|
gitchanger_status |
Show current repository Git identity, matching profile, remote URLs, and active MCP token status. |
gitchanger_list |
List all configured Git profiles in GitChanger. |
gitchanger_switch |
Switch active Git profile for current repository or globally (auto-updates SSH agent & MCP tokens). |
gitchanger_add |
Add a new Git profile (name, email, transport, key, host alias, GitHub token). |
gitchanger_delete |
Delete a Git profile and optionally clean up SSH host configuration. |
gitchanger_set_default |
Set a profile as the default Git profile. |
gitchanger_test_ssh |
Test SSH network and key authentication for a specific profile. |
gitchanger_scan |
Scan ~/.ssh and SSH config for keys and hosts, and find all MCP client configs. |
gitchanger_mcp_status |
Show status of GitHub MCP tokens across profiles and detected AI client configurations. |
gitchanger_mcp_set |
Set GitHub Personal Access Token for a profile or directly in MCP client configs. |
gitchanger_mcp_get |
Retrieve configured GitHub MCP token for a profile or active configuration. |
gitchanger_mcp_sync |
Sync a profile's GitHub token to all detected MCP client configuration files. |
gitchanger_mcp_test |
Test and verify token validity, login, and OAuth scopes against GitHub API. |
gitchanger_mcp_remove |
Remove GitHub MCP token from a profile and/or MCP client configs. |
| URI | MIME Type | Description |
|---|---|---|
gitchanger://profiles |
application/json |
List of all configured Git profiles in JSON format. |
gitchanger://status |
text/plain |
Formatted status of current repository and active Git identity. |
-
Install GitChanger CLI:
git clone https://github.com/culcat/GitChangerCLI.git cd GitChangerCLI cargo install --path .
Ensure
gitchangeris accessible in your$PATH(typically~/.cargo/bin). -
Clone and build GitChangerMCP:
git clone git@github.com:culcat/GitChangerMCP.git cd GitChangerMCP npm install npm run build
{
"mcpServers": {
"gitchanger": {
"command": "node",
"args": ["/path/to/GitChangerMCP/dist/index.js"]
}
}
}- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gitchanger": {
"command": "node",
"args": ["/path/to/GitChangerMCP/dist/index.js"]
}
}
}{
"mcpServers": {
"gitchanger": {
"command": "node",
"args": ["/path/to/GitChangerMCP/dist/index.js"]
}
}
}Add under mcpServers in your extension settings:
{
"gitchanger": {
"command": "node",
"args": ["/path/to/GitChangerMCP/dist/index.js"]
}
}Once configured, you can simply ask your AI assistant:
- "What Git account am I currently using in this repository?"
- "Switch this repo to my 'work' profile and verify the SSH connection."
- "List all my configured Git profiles and show which one is default."
- "Add a new Git profile for 'freelance' with email dev@client.com using SSH."
- "Sync my GitHub MCP token with my work profile."
- "Verify my GitHub MCP token against the GitHub API."