local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Analyzes repository content to create context-aware work plans and evaluates code changes through diff analysis against planned implementations.
Allows installation of the Yellhorn MCP server package directly from the Python Package Index.
Supports testing of the MCP server during development.
옐혼 MCP
Claude Code에서 전체 코드베이스를 사용하여 소프트웨어 개발 작업을 수행할 수 있도록 Gemini 2.5 Pro 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 패턴은 Claude Code 또는 기타 MCP 호환 코딩 에이전트와 같은 코드 어시스턴트가 수행할 작업을 정의하고, 결과를 검토하여 원래 명시된 요구 사항을 정확히 충족하는지 확인하는 데 매우 유용합니다.
특징
- 작업 계획 생성 : 프롬프트에 따라 자세한 구현 계획을 생성하고 전체 코드베이스를 고려하여 이를 GitHub 이슈로 게시하고 코딩 에이전트를 위한 MCP 리소스로 노출합니다.
- 코드 차이점 검토 : 전체 코드베이스 컨텍스트를 사용하여 원래 작업 계획에 대한 git 차이점을 평가하는 도구를 제공하고 자세한 피드백을 제공하여 구현이 원래 요구 사항에서 벗어나지 않도록 보장하고 그렇게 하기 위해 무엇을 변경해야 하는지에 대한 지침을 제공합니다.
- 격리된 개발 환경 : 간소화되고 격리된 개발 워크플로를 위해 Git 작업 트리와 연결된 브랜치를 생성합니다(작업 계획 생성과 별도로 수행 가능). 이를 통해 여러 에이전트를 사용한 병렬 개발이 가능합니다.
- 원활한 GitHub 통합 : GitHub UI에서 적절한 브랜치 링크를 통해 레이블이 지정된 이슈를 자동으로 생성하고, 원래 작업 계획 이슈에 대한 참조와 함께 검토 하위 이슈를 게시합니다.
- 컨텍스트 제어 :
.yellhornignore
파일을 사용하여.gitignore
와 유사하게 AI 컨텍스트에서 특정 파일 및 디렉토리를 제외합니다. - MCP 리소스 : 작업 계획을 표준 MCP 리소스로 표시하여 쉽게 나열하고 검색할 수 있습니다.
설치
지엑스피1
구성
서버에는 다음과 같은 환경 변수가 필요합니다.
GEMINI_API_KEY
: Gemini API 키(필수)REPO_PATH
: 저장소 경로(기본값은 현재 디렉토리)YELLHORN_MCP_MODEL
: 사용할 Gemini 모델(기본값은 "gemini-2.5-pro-exp-03-25")
서버를 사용하려면 GitHub CLI( gh
)를 설치하고 인증해야 합니다.
용법
서버 실행
Claude Code와의 통합
Claude Code를 사용할 때 다음과 같은 방법으로 Yellhorn MCP 도구를 사용할 수 있습니다.
- 프로젝트 작업 시작:Copy
- 작업 계획에 대한 작업 트리를 만듭니다(선택 사항):Copy
- 생성된 작업 트리 디렉토리로 이동합니다.Copy
- 필요한 경우 작업 계획을 확인하세요.Copy
- 변경 사항을 적용하고 PR을 생성한 후 검토를 요청하세요.Copy
도구
작업 계획을 만듭니다
제목과 자세한 설명을 기반으로 자세한 작업 계획을 담은 GitHub 이슈를 생성합니다.
입력 :
title
: GitHub 이슈의 제목(이슈 제목 및 헤더로 사용됨)detailed_description
: 작업 계획에 대한 자세한 설명
출력 :
- JSON 문자열에는 다음이 포함됩니다.
issue_url
: 생성된 GitHub 이슈에 대한 URLissue_number
: GitHub 이슈 번호
작업 트리 만들기
기존 작업 계획 문제에서 분리된 개발을 위해 연결된 브랜치로 git 작업 트리를 만듭니다.
입력 :
issue_number
: 작업 계획에 대한 GitHub 이슈 번호
출력 :
- JSON 문자열에는 다음이 포함됩니다.
worktree_path
: 생성된 Git 작업 트리 디렉토리 경로branch_name
: 작업 트리에 대해 생성된 브랜치의 이름issue_url
: 연관된 GitHub 이슈에 대한 URL
get_workplan
작업 계획과 관련된 작업 계획 콘텐츠(GitHub 이슈 본문)를 검색합니다.
입력 :
issue_number
: 작업 계획에 대한 GitHub 이슈 번호입니다.
출력 :
- 작업 계획 문제의 내용을 문자열로 표현
검토_작업 계획
GitHub 이슈에 설명된 작업 계획을 기준으로 두 개의 Git 참조(브랜치 또는 커밋)를 비교하는 비동기 코드 검토를 실행합니다. 실행 후(백그라운드에서) 해당 검토를 포함하는 GitHub 하위 이슈를 비동기적으로 생성합니다.
입력 :
issue_number
: 작업 계획에 대한 GitHub 이슈 번호입니다.base_ref
: 비교를 위한 기본 Git 참조(커밋 SHA, 브랜치 이름, 태그). 기본값은 'main'입니다.head_ref
: 비교를 위한 헤드 Git 참조(커밋 SHA, 브랜치 이름, 태그). 기본값은 'HEAD'입니다.
출력 :
- 검토 작업이 시작되었음을 알리는 확인 메시지
리소스 액세스
Yellhorn MCP는 또한 작업 계획에 대한 액세스를 제공하기 위해 표준 MCP 리소스 API를 구현합니다.
list-resources
: 모든 작업 계획을 나열합니다(yellhorn-mcp 레이블이 있는 GitHub 문제)get-resource
: 이슈 번호별로 특정 작업 계획의 내용을 검색합니다.
이러한 기능은 표준 MCP CLI 명령을 통해 액세스할 수 있습니다.
개발
CI/CD
이 프로젝트에서는 지속적인 통합 및 배포를 위해 GitHub Actions를 사용합니다.
- 테스트 : 풀 리퀘스트에서 자동으로 실행되고 메인 브랜치에 푸시됩니다.
- flake8로 린팅하기
- 검은색으로 형식 검사
- pytest로 테스트하기
- 게시 : 버전 태그가 푸시되면 PyPI에 자동으로 게시됩니다.
- 태그는 pyproject.toml의 버전과 일치해야 합니다(예: v0.2.2)
- GitHub 저장소 비밀(PYPI_API_TOKEN)로 저장된 PyPI API 토큰이 필요합니다.
새 버전을 출시하려면:
- pyproject.toml에서 버전 업데이트
- 변경 사항 커밋:
git commit -am "Bump version to XYZ"
- 커밋에 태그를 지정합니다:
git tag vX.YZ
- 변경 사항 및 태그 푸시:
git push && git push --tags
더 자세한 지침은 사용 가이드를 참조하세요.
특허
MIT
You must be authenticated.
Gemini 2.5 Pro를 Claude Code에 연결하는 MCP 서버로, 사용자는 이를 통해 코드베이스를 기반으로 세부적인 구현 계획을 생성하고 코드 변경에 대한 피드백을 받을 수 있습니다.