2 min read

Personal CLI + MCP

Table of Contents

MCP(Model Context Protocol)와 CLI를 직접 만들어 개인 개발 프로세스와 작업에 적극 활용하고 있습니다.
주로 MCP는 개발 역량과 AI 생산성을 위해, CLI는 반복 작업 효율화와 MCP로 만들기 애매한 부분을 해결하기 위해 사용하고 있습니다.

K8s One-click install for macOS

https://github.com/BeaverHouse/macos-oneclick-install

앞에서 설명한 것처럼 저의 서버 구성에는 Mac mini가 포함되어 있습니다.
macOS는 K8s 구성을 위해 가상화 환경이 필요하고, 설치 과정에서 예상치 못한 문제가 많이 발생합니다.
또한 OS 버전을 꾸준히 올리거나, 추후 기기를 변경하는 경우에도 설치 과정에 리소스를 소비하지 않기 위해 CLI를 만들어 제가 필요한 환경을 한 번에 설치할 수 있도록 했습니다.

CLI로 install 명령어를 실행하고, GitLab PAT와 Sudo 권한 부여에 필요한 비밀번호만 입력하면 설치가 완료됩니다.

현재는 제가 필요로 하는 환경이 macOS뿐이기 때문에 macOS에서만 동작하지만, Ubuntu 등 다른 OS에서도 충분히 확장 가능합니다.

Custom MCP

이미 존재하는 MCP를 사용할 수도 있지만, 다음과 같은 이유로 MCP를 직접 만들고 있습니다.

  • 내가 필요한 기능만 추가할 수 있습니다. 도구의 수를 적게 하여 AI의 오작동을 줄일 수도 있습니다.
  • Custom한 기능을 도입하거나 여러 카테고리의 도구를 통합하고 싶었습니다.
  • 이를 기반으로 백엔드 코드의 구조도 잡고 싶었습니다.

그래서 자주 사용하는 도구인 Slack, Linear, Confluence에서 자주 사용하는 기능만 골라 개인 MCP를 만들었습니다.
GitHub는 CLI가 이미 훌륭하게 구현되어 있어서 추가하지 않았습니다.
이를 기반으로 다음과 같은 사이클을 검증하고 있습니다.

  1. 이슈 분석 (Slack 메시지, Linear 이슈, Confluence 문서 등)
    • MCP + 사용자 + Claude Code가 같이 상호작용
  2. MCP로 새로운 Linear 티켓 발행
  3. AI와 함께 작업
  4. gh pr 명령어로 PR 생성 (Auto-merge도 가능)

Custom CLI

MCP와 별도로 개인용 CLI도 만들어서 사용 중입니다.
상대적으로 AI보다는 제가 많이 하게 되는 반복작업을 처리하기 위한 용도입니다. 다음과 같은 기능을 포함하고 있습니다.

  • 외부 저장소에서 환경변수 import/export
  • Git에서 Remote 브랜치 조회하여 Merge된 브랜치 삭제
  • Git Squash
    • 개인 작업물에서 Commit을 정리하기 위해 사용합니다. 협업에는 당연히 사용하지 않고 저의 개인 성향입니다 😊