Skip to main content
Glama
GitChanger MCP Server

GitChanger MCP Server

by culcat

gitchanger_switch

Switch the active Git profile for a repository or globally, updating user.name/email, SSH keys and host aliases, ssh-agent entries, and the GitHub MCP token for AI clients.

Instructions

Switch active Git profile for the current repository or globally. Automatically configures git user.name/email, SSH host alias/keys, adds key to ssh-agent, and syncs GitHub MCP token to AI clients.

Input Schema

NameRequiredDescriptionDefault
cwdNoOptional repository path / working directory to apply to.
testNoTest SSH connection immediately after switching.
globalNoApply profile globally (~/.gitconfig) instead of local repository.
no_mcpNoDo not update GitHub MCP configuration token.
profileYesProfile ID or SSH host alias to switch to (e.g. 'work', 'personal').
no_ssh_agentNoDo not automatically add SSH key to ssh-agent.
no_remote_updateNoDo not automatically rewrite Git remote origin URLs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does substantial work: it discloses the write side effects (rewriting git user.name/email, SSH host alias and keys, ssh-agent insertion, and syncing the GitHub MCP token to AI clients). It still omits failure handling, whether remote URL rewrites occur by default (only visible via the schema's no_remote_update flag), and whether prior config is recoverable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both load-bearing, with the core action and scope front-loaded before the list of automated side effects. Nothing is redundant or padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutating tool with no annotations and no output schema, the description covers the action, scopes, and the major side effects an agent must be aware of before invoking it. Remaining gaps are outcome reporting and failure/reversibility behavior, which are modest for this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns a bump by explaining the automatic behaviors that the opt-out flags (no_ssh_agent, no_mcp) exist to suppress, giving those booleans practical meaning. It adds little for cwd, global, or test beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Switch') plus resource ('active Git profile') and states the two scopes it operates on ('current repository or globally'), which separates it from siblings like gitchanger_status or gitchanger_list. It does not explicitly distinguish itself from gitchanger_set_default or gitchanger_add, so the differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent can infer it should call this when it wants a profile applied to a repo or globally. There is no explicit guidance about when to prefer gitchanger_set_default, gitchanger_add, or gitchanger_test_ssh, and no stated prerequisites such as the profile already existing in the configured list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.