Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

Qwen3 MCPサーバー対応:使い方ガイド

Ashley Goolam

Ashley Goolam

Updated on 5月 1, 2025

Qwen 3とその輝かしいMCP(Model-Context-Protocol)サポートに興奮しているなら、素晴らしい体験が待っています!最近、私のWindowsコンピューターでQwen 3の機能を掘り下げてみましたが、SQLiteデータベースのようなツールと連携するAIエージェントを構築する上で、これはまさにゲームチェンジャーです。このチュートリアルでは、データベースのクエリ実行という実践的な例を通して、Qwen 3がどのようにMCPを活用してコーディングを容易にするかを探ります。また、Qwen 3の驚異的なベンチマークにも触れ、OpenRouterとRoo Codeを使ってすぐに始める方法を紹介します。Qwen 3MCPを新しい親友にする準備はできましたか?さあ、飛び込みましょう!

💡
始める前に、API愛好家にとって素晴らしいツールであるApidogに簡単に触れておきます!APIの設計、テスト、ドキュメント作成を簡素化し、Qwen 3の統合管理に最適です。apidog.comでぜひチェックしてみてください。まさに救世主です!さて、本題に入りましょう…
ボタン

MCPサポート付きのQwen 3とは?

Qwen 3は、Alibaba CloudのQwenチームによる最新の大規模言語モデルシリーズで、2025年4月下旬にリリースされました。0.6Bから235Bまでのパラメータを持つ強力なモデル群であり、Qwen3-235B-A22B(アクティブパラメータ22B)のような高密度およびMixture-of-Experts(MoE)バリアントを含みます。qwen3.orgによると、Qwen 3はコーディング、数学、一般的なタスクにおいて、DeepSeek-R1、OpenAIのo1、o3-mini、Grok-3、Gemini-2.5-Proといったトップモデルと競合しています。より小型のMoEモデルであるQwen3-30B-A3Bは、アクティブパラメータが10分の1であるにも関わらず、QwQ-32Bをも凌駕します。これはかなり印象的ですよね?

Qwen 3

Qwen 3をさらにクールにしているのは、そのMCPサポートです。これにより、SQLiteデータベース、メモリ、ファイルシステムのような外部ツールとシームレスに連携できます。MCP(Model-Context-Protocol)は、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のインストール

GitHubで述べられているように、Qwen 3MCPサポートを有効にするためにQwen-Agentフレームワークを使用します。これをインストールし、SQLiteの例に必要な依存関係をセットアップしましょう。

Qwen 3 Agent

MCPサポート付きQwen-Agentのインストール

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

このコマンドは、MCPサポートのための[mcp]、Web 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サーバーと連携するように設定します。データベースをクエリできるボットを定義し、対話的なテストのためのWeb 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を設定する:
カスタムスクリプトを使用しない方がよければ、以下の手順に従うことで、Roo CodeをOpenRouterで簡単にセットアップできます:

  1. Rooの設定を開きます。
  2. デフォルトプロバイダーをOpenRouterに変更します。
  3. Qwen 3モデルを選択します。
RooCode with Qwen 3

設定が完了すると、Roo Code内の既存のMCPサーバーはQwen 3モデルとシームレスに連携するようになります。

MCPでのQwen 3のテスト:データベースのクエリ実行

MCPセットアップでQwen 3をテストするために、SQLiteデータベースをクエリしてみましょう。

スクリプトの実行

MCP SQLiteサーバーが実行されている状態で(「MCPサーバーでのQwen 3の設定」のステップ1を参照)、スクリプトを実行します:

python qwen3_mcp_sqlite.py

デフォルトのクエリ(「データベースにはいくつのテーブルがありますか?」)は、以前作成したため、テーブルが1つ(example)であることを示す応答を返すはずです。

Web UIでの対話的なテスト

スクリプト内のapp_gui()呼び出しのコメントを解除して、再度実行します:

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

これにより、GradioベースのWeb UIが起動します。提供されたURL(通常http://127.0.0.1:7860)をブラウザで開き、「exampleテーブルのすべての名前をリストしてください」のようなクエリを入力すると、Qwen 3MCPサーバーを使用して結果(例:「Alice, Bob」)を取得します。

結果の理解

SQLiteの例は、Qwen 3MCPを使用して外部ツールとどのように連携するかを示しています。モデルはMCPサーバーにクエリを送信し、サーバーがそれをtest.dbに対して実行して結果を返します。このセットアップは、データを動的に取得する必要があるエージェントを構築するのに最適です。かなり強力ですよね?

RooCodeとMCPサーバーを始める方法を学びましょう

MCPでQwen 3を効果的に使用するためのヒント

  • クエリをシンプルに保つ: データベースタスクの場合、「exampleテーブルのすべての名前をリストしてください」のような明確なプロンプトを使用して、Qwen 3から正確な結果を得てください。
  • API使用状況を監視する: DashScopeまたはOpenRouterを使用しているかどうかにかかわらず、API使用状況を追跡してレート制限に達しないようにしてください。
  • 他のMCPツールを探求する: MCPはメモリやファイルシステムのようなツールをサポートしています。より多くの例については、Qwen-Agent GitHubを確認してください。
  • まずローカルでテストする: 本番環境にデプロイする前に、Web 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で引き続き素晴らしい成果を上げてください!

ボタン