Apidog

올인원 협업 API 개발 플랫폼

API 설계

API 문서

API 디버깅

API 모킹

API 자동화 테스트

Qwen3 MCP 서버 지원 및 사용법

Ashley Goolam

Ashley Goolam

Updated on May 1, 2025

Qwen 3와 멋진 MCP(모델-컨텍스트-프로토콜) 지원에 대해 기대하고 계신다면, 좋은 소식이 있습니다! 최근 제 윈도우 컴퓨터에서 Qwen 3의 기능을 자세히 살펴보았는데, SQLite 데이터베이스와 같은 도구와 상호 작용하는 AI 에이전트를 구축하는 데 있어 판도를 바꾸는 게임 체인저라는 것을 말씀드리고 싶습니다. 이 튜토리얼에서는 Qwen 3MCP를 활용하여 코딩 작업을 얼마나 쉽게 만드는지, 데이터베이스 쿼리 실습 예제를 통해 살펴보겠습니다. 또한 Qwen 3의 인상적인 벤치마크에 대해 간략히 알아보고, OpenRouter와 Roo Code를 사용하여 빠르게 시작하는 방법도 보여드리겠습니다. Qwen 3MCP를 새로운 단짝으로 만들 준비가 되셨나요? 함께 시작해 봅시다!

💡
시작하기 전에, API 애호가들을 위한 환상적인 도구인 Apidog에 대해 잠시 언급하고 싶습니다! API 설계, 테스트 및 문서화를 간소화하여 Qwen 3 통합 관리에 완벽합니다. apidog.com에서 확인해 보세요. 정말 큰 도움이 될 것입니다! 이제 본론으로 들어가겠습니다…
버튼

MCP 지원 Qwen 3란 무엇인가?

Qwen 3는 2025년 4월 말에 출시된 Alibaba Cloud Qwen 팀의 최신 대규모 언어 모델 시리즈입니다. 밀집형 모델과 Qwen3-235B-A22B(활성 매개변수 22B)와 같은 Mixture-of-Experts(MoE) 변형을 포함하여 0.6B에서 235B 매개변수에 이르는 강력한 모델 라인업을 갖추고 있습니다. qwen3.org에 따르면, Qwen 3는 코딩, 수학, 일반 작업에서 DeepSeek-R1, OpenAI의 o1, o3-mini, Grok-3, Gemini-2.5-Pro와 같은 최고 모델들과 경쟁합니다. 더 작은 MoE 모델인 Qwen3-30B-A3B는 활성 매개변수가 10배 적음에도 불구하고 QwQ-32B를 능가하기도 합니다. 꽤 인상적이죠?

Qwen 3

Qwen 3를 더욱 멋지게 만드는 것은 MCP 지원으로, 이를 통해 SQLite 데이터베이스, 메모리, 파일 시스템과 같은 외부 도구와 원활하게 상호 작용할 수 있습니다. MCP(모델-컨텍스트-프로토콜)를 통해 Qwen 3는 서버 기반 도구를 호출하여 모델이 데이터를 가져오고, 명령을 실행하는 등의 에이전트 워크플로우를 가능하게 합니다. X(이전 트위터)의 게시물들은 이 기능에 대해 뜨겁게 논의하며, 사용자들은 고급 함수 호출 및 에이전트 기능에 최적화되어 있다고 언급합니다. 데이터베이스 쿼리 예제를 통해 이를 설정하고 실제로 작동하는 모습을 살펴봅시다!

Qwen 3 작업 환경 설정: 기본 사항

Qwen 3MCP와 함께 사용할 수 있도록 시스템을 준비해 봅시다. 걱정 마세요. 단계별로 자세히 설명하여 길을 잃지 않도록 하겠습니다.

필수 조건 확인: 다음 도구들이 설치되어 있는지 확인하세요:

  • Python: 버전 3.10 이상. 터미널에서 python --version을 실행하세요. 설치되어 있지 않다면 python.org에서 다운로드하세요.
  • Node.js: 일부 MCP 서버에 필요합니다. node --version으로 확인하거나 nodejs.org에서 다운로드하세요.
  • uv: MCP 서버 실행에 필요한 버전 0.4.18 이상. uv --version으로 확인하세요. 필요한 경우 pip install uv로 설치하세요.
  • Git: 리포지토리 클론에 필요합니다. git --version으로 확인하거나 Homebrew(Mac에서 brew install git) 또는 winget(Windows에서 winget install git.git)을 사용하여 설치하세요.
  • SQLite: 예제에 필요합니다. sqlite3 --version으로 확인하거나 Homebrew(brew install sqlite3) 또는 winget(winget install sqlite.sqlite)을 통해 설치하세요.
  • 하드웨어: AI 처리를 위해 4개 이상의 코어 CPU, 16GB 이상의 RAM, 10GB 이상의 여유 저장 공간이 필요합니다.

프로젝트 폴더 생성: 깔끔하게 정리해 봅시다:

mkdir qwen3-mcp
cd qwen3-mcp

이 폴더는 Qwen 3MCP 마법을 위한 작업 공간이 될 것입니다.

가상 환경 설정: 의존성 충돌을 피하기 위해 Python 가상 환경을 생성하세요:

python -m venv venv

활성화:

  • Mac/Linux: source venv/bin/activate
  • Windows: venv\Scripts\activate

터미널에 (venv) 프롬프트가 나타나면 준비가 완료된 것입니다.

MCP 지원을 위한 Qwen-Agent 설치

Qwen 3는 GitHub에 언급된 대로 MCP 지원을 가능하게 하기 위해 Qwen-Agent 프레임워크를 사용합니다. SQLite 예제를 위한 의존성을 설치하고 설정해 봅시다.

Qwen 3 Agent

MCP 지원 Qwen-Agent 설치:

pip install -U "qwen-agent[gui,rag,code_interpreter,mcp]"

이 명령어는 MCP 지원을 위한 [mcp], 웹 UI를 위한 [gui], 검색 증강 생성을 위한 [rag], 코드 실행을 위한 [code_interpreter]를 포함하여 모든 선택적 의존성과 함께 Qwen-Agent를 설치합니다.

설치 확인: 다음 명령어를 실행하여 Qwen-Agent가 올바르게 설치되었는지 확인하세요:

python -c "import qwen_agent; print(qwen_agent.__version__)"

버전 번호(예: 0.1.0)가 보이면 준비가 된 것입니다. 그렇지 않다면 다시 설치하거나 Python 환경을 확인하세요.

MCP 서버로 Qwen 3 구성하기

이제 도구 호출을 위해 Qwen 3MCP 서버와 함께 작동하도록 구성해 봅시다. Qwen-Agent GitHub 리포지토리의 SQLite 예제를 사용하여 데이터베이스를 쿼리할 것입니다.

SQLite용 MCP 서버 설정:

예제는 SQLite 데이터베이스 상호 작용을 처리하기 위해 MCP 서버를 사용합니다. 먼저, 테스트 데이터베이스(test.db)가 없다면 생성하세요:

sqlite3 test.db "CREATE TABLE example (id INTEGER PRIMARY KEY, name TEXT); INSERT INTO example (name) VALUES ('Alice'), ('Bob');"

이제 MCP SQLite 서버를 시작합니다:

uvx mcp-server-sqlite --db-path test.db

이 명령어는 SQLite MCP 서버를 실행하여 Qwen 3test.db를 쿼리할 수 있도록 합니다. 이 터미널은 계속 실행 상태로 유지하세요.

코드에서 Qwen 3 구성:

assistant_mcp_sqlite_bot.py 예제를 기반으로 Qwen 3MCP 서버와 함께 사용하는 Python 스크립트를 작성해 봅시다. qwen3_mcp_sqlite.py라는 이름의 파일을 생성하세요:

import os
from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI

# Define the agent with Qwen 3 and MCP configuration
def init_agent_service():
    llm_cfg = {
        'model': 'qwen3-32b',  # Use Qwen 3 model
        'model_type': 'qwen_dashscope',
        'api_key': os.getenv('DASHSCOPE_API_KEY'),
    }
    tools = [{
        'mcpServers': {
            'sqlite': {
                'command': 'uvx',
                'args': ['mcp-server-sqlite', '--db-path', 'test.db']
            }
        }
    }]
    bot = Assistant(
        llm=llm_cfg,
        function_list=tools,
        name='MCP-SQLite-Bot',
        description='This bot can answer questions by SQLite database'
    )
    return bot

# Test the agent with a query
def test(query='How many tables are in the database?'):
    bot = init_agent_service()
    messages = [{'role': 'user', 'content': query}]
    for response in bot.run(messages=messages):
        print(response)

# Run a web UI for interactive testing
def app_gui():
    bot = init_agent_service()
    WebUI(bot).run()

if __name__ == '__main__':
    test()
    # Uncomment to run the web UI
    # app_gui()

이 스크립트는 Qwen 3(특히 qwen3-32b)가 MCP SQLite 서버와 함께 작동하도록 설정합니다. 데이터베이스를 쿼리할 수 있는 봇을 정의하고, 대화형 테스트를 위한 웹 UI 옵션을 포함합니다.

DashScope API 키 설정:

이 스크립트는 Qwen 3를 위해 Alibaba Cloud의 DashScope 서비스를 사용합니다. DashScope API 키가 필요합니다:

  • dashscope.aliyuncs.com에서 가입하세요.
  • API 설정으로 이동하여 키를 생성하고 환경 변수로 설정하세요:
export DASHSCOPE_API_KEY="your-dashscope-api-key"

이를 쉘 프로필(예: ~/.zshrc)에 추가하고 source ~/.zshrc로 다시 로드하세요.

OpenRouter 및 Roo Code를 사용하여 MCP와 함께 Qwen 3 사용하기

DashScope를 사용하고 싶지 않다면, OpenRouter를 사용하여 Qwen 3에 액세스하고 Roo Code의 사전 구성된 MCP 서버를 활용할 수 있습니다. 방법은 다음과 같습니다:

OpenRouter API 키 받기:

  • openrouter.ai를 방문하여 가입하세요.
  • 계정 설정으로 이동하여 API 키를 생성하고 복사하세요.

OpenRouter로 Roo Code 설정:

Roo Code는 AI 에이전트 워크플로우를 단순화하는 플랫폼이며, 종종 사전 구성된 MCP 서버와 함께 제공됩니다. Roo Code가 설정되어 있다고 가정하고:

  • Roo Code 설정(일반적으로 API 통합 아래)에서 OpenRouter API 키를 구성하세요.
  • Roo Code의 모델 구성을 업데이트하여 OpenRouter를 통해 Qwen 3를 사용하도록 설정하세요:
{
    "model": "qwen3-32b",
    "model_server": "https://openrouter.ai/api/v1",
    "api_key": "your-openrouter-api-key"
}
  • Roo Code는 일반적으로 저희 스크립트와 유사한 MCP 서버 설정을 가지고 있습니다. SQLite 서버가 실행 중인지 확인하려면 문서를 확인하세요 (예: uvx mcp-server-sqlite --db-path test.db).

Roo Code로 동일한 스크립트 실행:

qwen3_mcp_sqlite.py 스크립트의 llm_cfg를 수정하여 OpenRouter를 사용하도록 설정하세요:

llm_cfg = {
    'model': 'qwen3-32b',
    'model_server': 'https://openrouter.ai/api/v1',
    'api_key': 'your-openrouter-api-key'
}

이전처럼 스크립트를 실행하세요. Roo Code의 MCP 서버가 SQLite 쿼리를 처리하고, Qwen 3가 OpenRouter를 통해 이를 처리할 것입니다.

옵션 2: OpenRouter와 함께 작동하도록 Roo Code 구성하기:
맞춤 스크립트를 사용하고 싶지 않다면, 다음 단계를 따라 OpenRouter로 Roo Code를 쉽게 설정할 수 있습니다:

  1. Roo의 설정을 엽니다.
  2. 기본 제공업체를 OpenRouter로 변경합니다.
  3. Qwen 3 모델을 선택합니다.
RooCode with Qwen 3

구성되면 roo code의 기존 MCP 서버가 Qwen 3 모델과 원활하게 작동합니다.

MCP와 함께 Qwen 3 테스트: 데이터베이스 쿼리

SQLite 데이터베이스를 쿼리하여 MCP 설정으로 Qwen 3를 테스트해 봅시다.

스크립트 실행:

MCP SQLite 서버가 실행 중인 상태에서("MCP 서버로 Qwen 3 구성하기"의 1단계 참고), 스크립트를 실행하세요:

python qwen3_mcp_sqlite.py

기본 쿼리("데이터베이스에 테이블이 몇 개 있나요?")는 이전에 생성한 테이블(example)이 하나 있음을 나타내는 응답을 반환해야 합니다.

웹 UI를 사용한 대화형 테스트:

스크립트에서 app_gui() 호출의 주석 처리를 해제하고 다시 실행하세요:

if __name__ == '__main__':
    # test()
    app_gui()

이렇게 하면 Gradio 기반 웹 UI가 실행됩니다. 제공된 URL(일반적으로 http://127.0.0.1:7860)을 브라우저에서 열고 "example 테이블의 모든 이름을 나열해 줘"와 같은 쿼리를 입력하면, Qwen 3MCP 서버를 사용하여 결과를 가져올 것입니다(예: "Alice, Bob").

결과 이해하기:

SQLite 예제는 Qwen 3MCP를 사용하여 외부 도구와 상호 작용하는 방식을 보여줍니다. 모델은 MCP 서버에 쿼리를 보내고, 서버는 test.db에 대해 쿼리를 실행하고 결과를 반환합니다. 이 설정은 데이터를 동적으로 가져와야 하는 에이전트를 구축하는 데 완벽합니다. 꽤 강력하죠?

RooCode와 MCP 서버 시작하는 방법 배우기

MCP와 함께 Qwen 3를 효과적으로 사용하는 팁

  • 쿼리를 단순하게 유지: 데이터베이스 작업의 경우, Qwen 3로부터 정확한 결과를 얻기 위해 "example 테이블의 모든 이름을 나열해 줘"와 같이 명확한 프롬프트를 사용하세요.
  • API 사용량 모니터링: DashScope든 OpenRouter든, API 사용량을 추적하여 속도 제한에 걸리지 않도록 하세요.
  • 더 많은 MCP 도구 탐색: MCP는 메모리 및 파일 시스템과 같은 도구를 지원합니다. 더 많은 예제는 Qwen-Agent GitHub를 확인하세요.
  • 먼저 로컬에서 테스트: 프로덕션에 배포하기 전에 웹 UI를 사용하여 대화형으로 쿼리를 테스트하세요.

MCP와 함께하는 Qwen 3에 대한 나의 생각

Qwen 3MCP를 사용해 본 후 느낀 점은 다음과 같습니다:

  • 원활한 통합: MCP 서버 설정은 간단하며, Qwen 3는 도구 호출을 훌륭하게 처리합니다.
  • 에이전트에 강력함: 데이터베이스 쿼리는 시작일 뿐입니다. MCP는 에이전트 워크플로우에 무한한 가능성을 열어줍니다.
  • 성능 향상: Qwen 3의 벤치마크는 최고 경쟁자임을 보여주며, MCP 지원은 이를 더욱 다재다능하게 만듭니다.

문제가 발생하면 API 키를 다시 확인하고 MCP 서버가 실행 중인지 확인하세요.

마무리: Qwen 3와 MCP 여정

이제 MCP 지원을 통해 Qwen 3의 강력한 기능을 활용하여 AI 에이전트를 더 스마트하고 유능하게 만들었습니다! 데이터베이스 쿼리부터 다른 MCP 도구 탐색까지, 멋진 것들을 구축할 준비가 되었습니다. 더 자세한 내용은 Qwen-Agent GitHub 리포지토리 또는 qwen3.org를 확인해 보세요. Qwen 3MCP로 계속 멋진 작업을 하세요!

버튼