Mistral AI Agents로 GitHub 자동화하기
Mistral AI Agents로 GitHub 자동화하기
Mistral Medium 모델을 쓰는 에이전트가 MCP(MCP, Model Context Protocol) 서버를 통해 GitHub에서 새 레포 만들기, PR 관리, 코드 작성·업로드 같은 작업을 수행하도록 만드는 최소 동작 예제(MWE) 쿡북이에요.
출처: 문서
본문
이 쿡북은 Mistral 에이전트가 GitHub에서 몇 가지 동작을 수행하도록 만드는 방법을 보여줘요.
WIP: 이 쿡북은 아직 진화 중인 최소 동작 예제예요. 앞으로 계속 발전할 예정이에요.
사용 사례 (Use Case)
- 새 레포(Repo) 생성하기
- PR 관리하기
- AI와 협력해 코드를 만들고 기존 레포에 코드 업로드하기
설치 (Installation)
pip install chainlit mcp mistralai
환경 설정 (Environment Setup)
이 예제에서는 docker MCP를 사용해요:
server_params = StdioServerParameters(
command="docker",
args=[
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
env={
"GITHUB_PERSONAL_ACCESS_TOKEN": os.environ["GITHUB_PERSONAL_ACCESS_TOKEN"]
}
그래서 다음을 확인해야 해요:
- 컴퓨터에 docker가 설치되어 있어야 해요.
- 관련 이미지를 pull 해야 해요:
docker pull ghcr.io/github/github-mcp-server
- GitHub용 토큰을 만들어야 해요. 여기에서 만들 수 있어요.
고지(Disclaimer): 코드는 AI가 작성하므로, GitHub 토큰을 만들 때 보안을 위해 수행하려는 작업에 필요한 최소 권한만 가진 fine-grained personal access token을 만드는 것을 강력히 권장해요.
MistralAI API 키와 GitHub 키를 설정해요:
export MISTRAL_API_KEY="your_api_key_here"
export GITHUB_PERSONAL_ACCESS_TOKEN="your_api_key_here"
사용법 (Usage)
애플리케이션을 실행해요:
chainlit run github.py
이런 질문을 해보세요:
- "Create a repo under my username : called ..."
- "Generate the files for a todo app and push them to repo ... under branch name ..."
MCP 사용법 (MCP Usage)
MCP에는 두 종류가 있어요.
- STDIO: 도구의 로컬 사용
- SSE: 도구의 원격 사용
이 예제에서는 chainlit의 MCP 도구 통합을 활용해서 도구들을 바로 우리 API로 변환해요. 그러니 다른 MCP 서버도 직접 테스트해 보시길 권해요.