개발 생산성을 높이는 MCP의 개념과 Cursor AI 설정법

2025. 7. 16. 19:49·개발이야기

"바이브 코딩"이라는 단어와 함께 MCP에 대한 관심이 뜨겁습니다. Cursor AI라는 코드 에디터는 LLM이 직접 로컬 프로젝트 파일들을 직접 수정하고 코드를 작성하며 바이브 코딩을 가능케 합니다(Cursor AI에 대해서는 이 글을 참고하세요). 그러나, LLM은 간혹 '할루시네이션' 문제를 일으키거나, 잘못된/버그가 있는 코드를 생성하거나, 최신 정보를 알지 못하여 낡은 답변을 내놓는 등의 한계를 보여줍니다. MCP는 이런 한계점들을 돌파할 수 있도록 LLM에게 쥐어줄 수 있는 도구와 같습니다. 이 글에서는 MCP가 무엇인지와 Cursor AI에서 어떻게 설정할 수 있는지를 소개합니다

MCP란?

MCP(Model Context Protocol)는 LLM과 외부의 도구를 연결하는 방법에 대한 규약입니다. 기존 웹 생태계에서 브라우저가 서버에 HTTP 요청을 하듯이, AI 에이전트는 MCP 서버에 MCP 요청을 할 수 있습니다. Claude의 개발사인 Antropic에서 제안한 프로토콜이며, 구체적인 작동 방식과 명세는 이 링크를, MCP 클라이언트/서버를 직접 개발하고 싶다면 이 링크를 참고하면 됩니다.

 

이해하기 쉽게 예를 들어보겠습니다. LLM에게 오늘 날씨를 물어보면, LLM은 대답하지 못하거나 웹 검색 결과를 바탕으로 대답하게 됩니다. 하지만, AI 에이전트에 "오늘의 날씨" MCP 서버를 연결시켜 두었다면, LLM은 필요한 정보를 해당 서버로부터 받아와 답변할 수 있게 됩니다. 마치 HTTP GET 요청을 한 것처럼요. 만약 Github MCP server와 연결한다면, 우리가 github에서 하는 커밋 조회, 브랜치 생성, 이슈 생성 등을 LLM을 통해 수행할 수 있습니다. 당연히, 권한을 인증할 수 있는 접근 토큰을 요구합니다. Slack 메시지를 보내거나, Notion 문서를 정리하는 일도 대신 수행할 수 있습니다. 이미 웬만한 대형 서비스들은 MCP 서버를 지원합니다.

 

HTTP와 다른 점은, MCP 서버를 향한 MCP 요청들이 하나의 게이트웨이를 통한다는 것입니다. 대표적으로, Smithery가 있습니다. Smithery는 다양한 MCP 서버들을 통합하는 플랫폼입니다. Smithery에서 특정 MCP 서버의 키를 발급받아 Cursor에 전달해두면, 후에 Cursor는 Smithery를 통하여 여러 MCP 서버들에 접근할 수 있게됩니다. 그림으로 표현하면 아래와 같습니다.

MCP 동작 다이어그램

Cursor에 MCP 설정하기

이제 우리의 Cursor에서 MCP를 사용할 수 있도록 설정하는 방법을 소개합니다. 이 글에서는 포켓몬 정보를 가져오는 MCP를 Cursor에 추가해보겠습니다. Smithery에 로그인한 후, 이 링크로 들어가봅시다.

포켓몬 MCP 서버

우리가 이용할 MCP 서버에 대한 개괄(About)과 기능(tools)을 소개하고 있습니다. 연결 방법(Connect)은 여러가지가 있지만, 저는 JSON 방식을 선호합니다. 우측 하단에서 JSON 탭을 누르고, Connect 버튼을 누르면 설정에 필요한 JSON을 받을 수 있습니다. 이 pokemcp는 특별한 인증 수단을 요구하지 않지만, mcp 서버에 따라서는 connect 버튼을 누르기 전에 다른 토큰을 요구할 수도 있습니다. 용도에 맞게 전달하면 됩니다.

 

커서에서는 맥 기준, Cursor > Preferences > Cursor Settings에서 MCP 탭으로 이동합니다. 그러면 나오는 아래의 화면 우측 상단의 파란색 "+Add new global MCP server"를 누릅니다. 그러면 .cursor/mcp.json 파일이 생성됩니다. Smithery에서 복사해온 JSON 값을 붙여넣기 하면 설정은 끝납니다.

세팅하는 과정

다시 커서 세팅 화면으로 들어가면 poke-mcp가 추가된 것을 확인할 수 있습니다. 저는 이미지 캡쳐를 위해 토큰을 hidden 값으로 가리느라, 사용불가라고 보이는 상태지만, smithery에서 만들어 준 값을 그대로 사용하면 문제 없이 사용가능합니다. 이제, 채팅에 포켓몬 관련 프롬프트를 넘기면, cursor가 필요성을 파악하고 추가한 mcp 요청을 알아서 생성합니다.

오늘의 포켓몬은 플라이곤

저작자표시 (새창열림)

'개발이야기' 카테고리의 다른 글

TCP의 혼잡제어(congestion control)  (0) 2026.02.26
네이버지도에서 매장 정보 수집을 실패하기까지의 고군분투 이야기  (0) 2025.12.31
OCaml에 대해 실전 속성 압축으로 익혀보기  (0) 2025.06.22
VSCode 환경에서 make로 빌드되는 c파일 gdb로 디버깅하기  (0) 2025.06.16
TailwindCss로 도막도막 끊기는 스크롤 화면 구현하기: Full Page Scroll과 Scroll snap  (1) 2025.05.17
'개발이야기' 카테고리의 다른 글
  • TCP의 혼잡제어(congestion control)
  • 네이버지도에서 매장 정보 수집을 실패하기까지의 고군분투 이야기
  • OCaml에 대해 실전 속성 압축으로 익혀보기
  • VSCode 환경에서 make로 빌드되는 c파일 gdb로 디버깅하기
준별
준별
  • 준별
    준별개발
    준별
  • 전체
    오늘
    어제
    • 분류 전체보기 (58)
      • 개발이야기 (25)
        • 토막글 (11)
      • 일상이야기 (6)
      • 개인 공부 (23)
      • 생각과 기록 (2)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Linkedin
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    http pipelining
    필수툴
    정보보호개론
    nestjs
    http2.0
    이산구조
    맥북초기세팅
    k9s
    맥북터미널세팅
    전산기조직
    zsh세팅
    데스크셋업
    nodejs
    http1.1
    zsh-autosuggestion
    터미널꾸미기
    http1.0
    터미널세팅
    클램쉘
    조합형
    데이터베이스
    맥북
    powerlevel10k
    바이브코딩
    맥북세팅
    Zsh
    실전압축
    persistent connection
    artillery
    http3.0
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
준별
개발 생산성을 높이는 MCP의 개념과 Cursor AI 설정법
상단으로

티스토리툴바