Cursor에서 MCP 연동하기: Tavily Search로 실시간 웹 검색 기능 구현하기

Moondy·2025년 5월 6일
0

Cursor란?

Cursor는 AI 기반의 통합 개발 환경(IDE)으로, VSCode(Visual Studio Code)를 기반으로 하여 개발자 생산성을 극대화하는 다양한 기능을 제공합니다. 기본적으로 VSCode 인터페이스와 똑같기 때문에 빠르게 적응하기 쉬우며, Copilot처럼 자연어로 코드 작성 및 수정이 가능합니다. 특히 전체 코드베이스를 이해하고 이에 대한 질문에 답변하는 기능이 뛰어납니다. 내 폴더구조와 여러 파일들을 Context 인식해서 그에 맞게 폴더/파일/코드라인 단위로 코드를 생성해줍니다.

MCP란?

MCP(Model Context Protocol)는 AI 애플리케이션이 외부 데이터 소스나 도구와 통신할 수 있도록 표준화된 인터페이스를 제공하는 오픈 프로토콜입니다. MCP는 AI 모델이 다양한 외부 시스템과 상호 작용할 수 있도록 지원하여, 개발자가 복잡한 통합 작업 없이도 AI 기능을 확장할 수 있게 합니다.

표준화된 인터페이스를 제공한다는 말은, 동일한 방법으로 외부 데이터 소스나 도구를 호출해서 사용할 수 있다는 것입니다. 마치 Server-Client의 호출이 HTTP프로토콜로 표준화되어 있듯이, MCP Server - MCP Client사이의 통신 프로토콜이 표준화 되어 있는것입니다.

주로 MCP 서버는 외부 데이터 소스를 제공하거나, 외부 API를 실행하는 기능을 제공하고, 호스트 애플리케이션(예: Cursor, Claude Desktop 등)은 MCP 클라이언트를 통해 MCP 서버를 호출합니다. 주요 시나리오는 유저가 호스트 애플리케이션에 질문을 하면, 호스트 애플리케이션은 어떤 MCP Server를 어떻게 호출할지 AI 모델을 이용해서 판단하고, MCP Server를 실행하고, 그 결과를 취합하여 최종 결론을 내는 방식입니다.
MCP_architecture

Cursor에 TavilySearch MCP Server 연동해야하는 이유

Cursor는 강력한 AI 기능을 제공하지만, 기본적으로 웹 검색 기능이 내장되어 있지 않습니다. 따라서 최신 정보를 반영하거나 외부 데이터를 실시간으로 조회하는 데에는 한계가 있습니다.

예를 들어, "최신 AI 기술 동향을 알려줘"와 같은 질문을 할 경우, Cursor는 자체적으로 웹 검색을 수행하지 않기 때문에 최신 정보를 제공하는 데 어려움이 있습니다.

이러한 문제를 해결하기 위해, Tavily Search API를 제공하는 MCP를 Cursor에 연동하여 실시간 웹 검색 기능을 구현할 수 있습니다. Tavily Search는 웹 검색 API를 통해 다양한 웹 데이터를 조회할 수 있는 기능을 제공합니다.

이번 글에서는 Tavily Search를 MCP로 연동하여 Cursor 내에서 실시간 웹 검색 기능을 구현하는 방법을 단계별로 안내하겠습니다. 이를 통해 Cursor의 기능을 확장하고, 최신 정보를 반영한 개발 환경을 구축할 수 있습니다.

1.사전 준비

1.1 Cursor 설치

Cursor는 공식 웹사이트에서 다운로드하여 설치할 수 있습니다. 설치 방법은 운영 체제에 따라 다르므로, 해당 페이지의 안내를 참고하시기 바랍니다.

cursor

1.2 Node.js 및 npx 설치

MCP 서버 실행을 위해 Node.js와 npx가 필요합니다. Node.js는 공식 웹사이트에서 설치할 수 있으며, 설치 시 npx도 함께 제공됩니다.

1.3 Tavily Search API 키 발급

Tavily Search API를 사용하려면 API 키가 필요합니다. Tavily 공식 웹사이트에 가입한 후, 대시보드에서 API 키를 발급받을 수 있습니다. 이 키는 이후 MCP 서버와 Cursor에서 사용됩니다.

2.TavilySearch MCP Server 테스트

방법1 - Smithery 서비스 사용

원래는 MCP Server를 모아두는 Smithery.ai(https://smithery.ai/) 에서 쉽게 TavilySearch MCP Server를 실행하려고 했으나.. 일시적으로 사이트 장애가 있어서 직접 내 local에 실행하기로 했습니다.
Smithery

Smithery에 가입하여 아래 페이지에 접속한 후 우측에 Install을 누르면 Smithery에 MCP 서버가 실행되고, Smithery에서 제공하는 endpoint를 제공한다고 들었는데...

https://smithery.ai/server/@tavily-ai/tavily-mcp/api
vail_mcp_server
로그인만 하면 Smithery 페이지 장애가 나서 더이상 실행할 수 없었습니다.
surprised_cat

방법2 - Local에 MCP Server 실행 테스트

GitHub의 Tavily-MCP Repository 를 찾아서 따라 내 Local에 MCP Server를 실행해봤습니다.
https://github.com/tavily-ai/tavily-mcp?tab=readme-ov-file
github

뭔가를 설치하기는 싫어서 npx를 통해 간단히 실행했습니다.
1.3단계에서 발급받은 TAVILY의 APIKEY를 환경변수로 설정해주고, npx로 mcp 서버를 실행했을 때 이미지와 같이 서버가 running중이라는 말이 뜨면 성공입니다.

export TAVILY_API_KEY=< API KEY>
npx -y tavily-mcp@0.1.4  

terminal

3. Cursor에서 MCP Server등록

자, 이제 tavily-mcp@0.1.4가 잘 돌아간다는 것을 확인했으니 cursor에 MCP Server를 등록하겠습니다.

  • Cursor Settings를 열고
  • Navigate to Features > MCP Servers
  • "+ Add New MCP Server" 버튼 클릭
  • 다음과 같이 json 등록
{
  "mcpServers": {
    "tavily-mcp": {
      "command": "npx",
      "args": ["-y", "tavily-mcp@0.1.4"],
      "env": {
        "TAVILY_API_KEY": "< API_KEY>"
      }
    }
  }
}

이렇게 등록을 하면 아래와 같이 cursor가 command 명령어를 실행해 tavily-mcp 서버를 띄워놓은것을 확인할 수 있습니다.
cursor

4. 실행

Cursor에서 Command+I를 눌러 채팅을 연 후 Agent를 선택한 후 채팅을 쳐보겠습니다.

choose_agent

"langchain_mcp_adapters 이용해서 숫자를 더하고 곱하는 tool이 있는 mcp server 만들어줘 python" 이라고 질문해봤습니다.

cusor_chat1
처음에는 제 로컬 파일중에서 관련내용을 찾았는데, 관련내용이 없었습니다.
두번째는 웹검색을 하고자 했습니다. 웹검색을 사용해도 되는지 제 동의를 구했습니다.

cusor_chat1
검색한 내용을 바탕으로 최종 코드를 작성하여 파일을 생성했습니다.

(Update) Cursor 기본기능으로 Web검색 기능 추가됨

최근 웹검색이 Cursor의 기본 기능으로 제공되었습니다. 이제 채팅에서 @Web 으로 질문을 시작하면 웹에서 검색해서 답변을 생성합니다. 굳이 tavily search를 MCP를 사용해야할 이유가 사라졌습니다!
web_search_built_in

마무리

MCP 연동하는게 생각보다 너무 쉬운데, 개발 생산성은 매우 올라가는것 같습니다.
SmitheryGlama 같은 사이트에 보면 MCP 서버가 엄청 많은데, 웹서치 이외에도 다양한 툴을 연동해보면 좋을 것 같습니다.

하지만 MCP서버를 많이 등록하면 등록할수록 호스트(Cursor)가 질문에 맞는 서버를 고르는 정확도가 떨어질 수 있으니 적당히 필요에 맞게 조절해가며 사용하면 좋을 것 같습니다.(커서는 최대 40개까지 등록할 수 있습니다.)

그리고 Claude Desktop 에도 MCP 연동할 수 있다는데, 채팅만 사용하려면 Claude에도 연동하면 쓸만할 것 같다는 생각이 들었습니다.

profile
LLM Application을 개발중인 BackEnd 개발자

0개의 댓글