Skip to main content
Glama

git_diff

Compare changes in Git repositories to identify modifications between commits, branches, or the working directory. Use this tool to review code differences, track file changes, and understand project evolution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo.
cachedNo

Implementation Reference

  • Handler function that executes the git diff command, supporting optional path and cached flag, wrapped in error handling.
    async ({ path: gitPath, cached }) => { return wrapToolExecution(async () => { const cachedFlag = cached ? "--cached" : ""; const { stdout } = await execAsync(`git diff ${cachedFlag}`, { cwd: gitPath }); return { content: [{ type: "text" as const, text: stdout || "No differences" }] }; }, { errorCode: ERROR_CODES.GIT_OPERATION, context: "Failed to get git diff" }); }
  • Zod input schema defining optional 'path' (defaults to current directory) and 'cached' boolean parameters.
    { path: z.string().optional().default("."), cached: z.boolean().optional().default(false) },
  • The registerGitDiff function that performs the MCP server.tool registration for 'git_diff', including inline schema and handler.
    function registerGitDiff(server: McpServer): void { server.tool("git_diff", { path: z.string().optional().default("."), cached: z.boolean().optional().default(false) }, async ({ path: gitPath, cached }) => { return wrapToolExecution(async () => { const cachedFlag = cached ? "--cached" : ""; const { stdout } = await execAsync(`git diff ${cachedFlag}`, { cwd: gitPath }); return { content: [{ type: "text" as const, text: stdout || "No differences" }] }; }, { errorCode: ERROR_CODES.GIT_OPERATION, context: "Failed to get git diff" }); } ); }
  • Invocation of registerGitDiff within the broader registerDevTools function.
    registerGitDiff(server);
  • src/index.ts:67-67 (registration)
    Top-level registration of dev tools (including git_diff) in the main server initialization.
    registerDevTools(server);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ishuru/open-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server