VS Code에서 MCP를 사용해보자

드리머·2025년 5월 25일

MCP

목록 보기
1/2
post-thumbnail

요즘 핫하다는 MCP를 사용한 프로젝트를 진행하게 되어서 관련 내용을 가볍게 정리해보았다.

Model Context Protocol(MCP)

모델 컨텍스트 프로토콜(MCP)은 AI 모델이 통합 인터페이스를 통해 외부 도구 및 서비스와 상호 작용할 수 있도록 하는 개방형 표준이다.

MCP는 클라이언트 - 서버 아키텍쳐를 따른다.

  • MCP 클라이언트: MCP 서버에 연결하여 AI모델을 대신하여 작업을 요청한다.
  • MCP 서버: 잘 정의된 인터페이스를 통해 하나 이상의 도구를 제공한다.

    MCP는 MCP 클라이언트와 MCP 서버 간의 통신을 위한 메시지 형식을 정의한다.

예를 들어, 파일 시스템 MCP 서버는 파일과 디렉터리를 읽고, 쓰고, 검색하는 도구를 제공할 수 있다. vs code나 cursor같은 ide는 MCP클라이언트이다.

MCP 서버-클라이언트 상호작용 예시

1. 사용자: "main.cpp파일의 내용을 출력해줘"
2. MCP 클라이언트(vs code): 파일 시스템 MCP 서버가 제공한 검색 도구로 main.cpp를 요청.
3. 파일 시스템 MCP 서버는 main.cpp의 내용을 반환.
4. MCP 클라이언트는 반환된 결과를 바탕으로 사용자에게 응답.
응답 예시

코파일럿: 
  main.cpp의 내용은 다음과 같습니다.
  #include<stdio.h>
    ...
  더 요청하실 것이 있다면 말씀해주세요:)

참고)

VS Code는 MCP 서버 전송을 위해 로컬 표준 입출력(stdio), 서버 전송 이벤트(sse), 스트리밍 가능한 HTTP(http)를 지원한다.

VS code에서 MCP설정하는 방법

  1. VS code에서 MCP를 사용할 수 있게 설정을 변경한다.
    vs code 설정창에 chat.mcp.enabled 를 검색하고 아래 그림처럼 체크해준다.
  2. 코파일럿을 사용할 수 있게 설정한다. (이미 사용하고 있다면 스킵)
    vs code 하단 바에서 코파일럿(로봇) 아이콘을 클릭한다.

    Sign in을 클릭한다.
  3. .vscode/mcp.json 파일을 폴더에 생성한다.
  4. 이번에는 perplexity MCP서버를 이용할 것이므로, 다음의 내용을 복붙해준다.
{
  // 💡 Inputs are prompted on first server start, then stored securely by VS Code.
  "inputs": [
    {
      "type": "promptString",
      "id": "perplexity-key",
      "description": "Perplexity API Key",
      "password": true
    }
  ],
  "servers": {
    // https://github.com/ppl-ai/modelcontextprotocol/
    "Perplexity": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "server-perplexity-ask"],
      "env": {
        "PERPLEXITY_API_KEY": "${input:perplexity-key}"
      }
    }
  }
}
  1. 시작 버튼을 클릭하면 api key를 입력하라는 창이 뜬다.
  2. perplexity api key를 입력해준다.
    api key는 perplexity에 로그인 후 설정에 들어가서 찾을 수 있다.
  3. 터미널 창이 뜨고 상태가 실행 중으로 바뀐 것을 볼 수 있다.
  4. Ctrl+Alt+I로 코파일럿 채팅 창을 열고 ask->agent로 변경한다.
  5. 도구 선택 버튼을 클릭한다.
  6. perplexity가 성공적으로 나오는 것을 볼 수 있다.
  7. 이제 사용해보려고 하는데, 기본적으로 명령을 입력하면 자동으로 tool을 사용하지만,,

    도구를 줘도 사용못하는 멍청한 코파일럿..
    "# 도구이름"으로 해당 도구를 사용하라고 명시할 수 있다.

    이렇게 코파일럿이 perplexity MCP서버로 MCP메시지를 보내려고 할텐데, 수락해준다.

    에러가 난다.. 코파일럿이 role을 잘못 설정해서 그렇다고 한다.

    그런데 이 에러를 보고 코파일럿이 다시 자동으로 메시지를 고쳐서 요청을 보냈다.

    현재 서울의 날씨는 맑고, 기온은 약 21°C입니다. 오늘 최고 기온은 23°C, 최저 기온은 12°C로 예보되어 있습니다. 미세먼지와 초미세먼지 모두 '보통' 수준이며, 비 소식은 없습니다. 오후로 갈수록 기온이 점차 내려가고, 습도는 밤에 높아질 전망입니다.
    자세한 정보는 기상청, AccuWeather, 서울관광포털 등에서 확인하실 수 있습니다.

MCP의 기본적인 세팅이 끝났다.
원하는 서버를 찾고 mcp.json파일을 수정해주면 서버를 추가할 수 있다.

github MCP 서버를 사용하면
"코드 파일 변경사항을 보고 commit 메세지 알아서 작성해서 커밋하고 푸시해." 과 같이 사용할 수 있을지 기대가 된다.

참고)

profile
매일을 열정적으로!

0개의 댓글