Git Stuff 서버
이 저장소에는 Git 관련 기능을 제공하는 MCP(Model Context Protocol) 서버 역할을 하는 Node.js 애플리케이션이 포함되어 있습니다. 현재 Git 병합 커밋의 첫 번째 부모 커밋과의 차이점을 생성하는 도구를 제공합니다.
특징
- MCP 서버: stdio를 사용하여 통신하는 표준 MCP 서버로 실행됩니다.
get_git_merge_diff
도구:- Git 병합 커밋 해시를 허용합니다.
GenerateMergeDiff.ps1
PowerShell 스크립트를 실행합니다.git show -m --first-parent <commitHash>
로 생성된 텍스트 diff 내용을 반환합니다.
필수 조건
- Node.js (ES 모듈을 지원하는 버전, 지정된 경우 package.json 에서
engines
확인, 그렇지 않은 경우tsconfig.json
대상 확인 - ES2022) - npm (일반적으로 Node.js와 함께 제공됨)
- Git이 설치되어 있고 시스템의 PATH에 접근 가능합니다.
- PowerShell (Windows) 또는
pwsh
(Linux/macOS)가 설치되어 시스템의 PATH에 접근 가능합니다.
설치
- 저장소를 복제합니다.지엑스피1
- 종속성 설치:
용법
- TypeScript 코드를 작성합니다.이는
src/
의 TypeScript 코드를build/
의 JavaScript로 컴파일합니다. - 서버를 실행합니다:
- 컴파일된 코드를 실행하려면:
- 개발 모드에서 빌드하고 실행하려면:
- 컴파일된 코드를 실행하려면:
서버가 시작되어 표준 입출력에서 MCP 요청을 수신합니다.
get_git_merge_diff
도구 사용
MCP 클라이언트를 통해 연결된 경우 다음 입력으로 get_git_merge_diff
도구를 호출할 수 있습니다.
commitHash
(문자열): 비교하려는 병합 커밋의 Git 커밋 해시(SHA)입니다.
이 도구는 diff 내용을 텍스트로 반환합니다.
작동 원리
- MCP 서버(
src/index.ts
)는get_git_merge_diff
도구에 대한 요청을 받습니다. commitHash
입력의 유효성을 검사합니다.GenerateMergeDiff.ps1
PowerShell 스크립트를 실행하여commitHash
전달합니다.- PowerShell 스크립트는
git show -m --first-parent <commitHash>
실행하고 출력(오류 포함)을 서버의 현재 작업 디렉터리에 있는merge_changes.diff
라는 임시 파일에 저장합니다. - Node.js 서버는
merge_changes.diff
의 내용을 읽습니다. - 서버는 임시
merge_changes.diff
파일을 삭제합니다. - 서버는 diff 콘텐츠(또는 오류 메시지)를 MCP 클라이언트에 반환합니다.
구성
주요 구성 지점은 src/index.ts
내의 상수로 정의됩니다.
SERVER_NAME
: MCP 서버에 등록된 이름입니다.SCRIPT_NAME
: 실행할 PowerShell 스크립트의 파일 이름입니다.OUTPUT_DIFF_FILE
: 스크립트가 생성한 임시 diff 파일의 이름입니다.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 package.json 파일을 참조하세요.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Git 관련 기능을 제공하는 MCP 서버로, 주로 첫 번째 부모에 대한 Git 병합 커밋의 diff를 생성하는 도구입니다.
Related MCP Servers
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1843TypeScript
- -securityAlicense-qualityA specialized MCP server for in-depth analysis of git repositories, offering tools for branch overview, time period analysis, file changes, and merge recommendations.Last updated -41JavaScriptApache 2.0
- AsecurityAlicenseAqualityMCP Tool Server for Gitee, supporting the management of repository files/branches, Issues, and Pull Requests.Last updated -20104TypeScriptMIT License
- AsecurityFlicenseAqualityMCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.Last updated -6Python