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"]
}

그래서 다음을 확인해야 해요:

  1. 컴퓨터에 docker가 설치되어 있어야 해요.
  2. 관련 이미지를 pull 해야 해요:
docker pull ghcr.io/github/github-mcp-server
  1. 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 서버도 직접 테스트해 보시길 권해요.

더 알아보기 (Learn more)