Qwen 3とその輝かしいMCP(Model-Context-Protocol)サポートに興奮しているなら、素晴らしい体験が待っています!最近、私のWindowsコンピューターでQwen 3の機能を掘り下げてみましたが、SQLiteデータベースのようなツールと連携するAIエージェントを構築する上で、これはまさにゲームチェンジャーです。このチュートリアルでは、データベースのクエリ実行という実践的な例を通して、Qwen 3がどのようにMCPを活用してコーディングを容易にするかを探ります。また、Qwen 3の驚異的なベンチマークにも触れ、OpenRouterとRoo Codeを使ってすぐに始める方法を紹介します。Qwen 3とMCPを新しい親友にする準備はできましたか?さあ、飛び込みましょう!
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をさらにクールにしているのは、そのMCPサポートです。これにより、SQLiteデータベース、メモリ、ファイルシステムのような外部ツールとシームレスに連携できます。MCP(Model-Context-Protocol)は、Qwen 3がサーバーベースのツールを呼び出すことを可能にし、モデルがデータを取得したり、コマンドを実行したりできるエージェント的なワークフローを実現します。Xの投稿では、この機能について話題になっており、高度な関数呼び出しやエージェント機能のために最適化されているとユーザーは指摘しています。セットアップして、データベースクエリの例で実際に見てみましょう!
Qwen 3で作業するための環境構築:基本
Qwen 3をMCPと共に使用するためのシステム準備をしましょう。心配しないでください。迷わないようにステップバイステップで解説します。
前提条件の確認: これらのツールがインストールされていることを確認してください:
- 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 3とMCPの魔法のためのワークスペースになります。
仮想環境のセットアップ: 依存関係の衝突を避けるために、Python仮想環境を作成します:
python -m venv venv
アクティベートします:
- Mac/Linux:
source venv/bin/activate
- Windows:
venv\Scripts\activate
ターミナルに (venv)
というプロンプトが表示されれば、準備完了です。
MCPサポートのためのQwen-Agentのインストール
GitHubで述べられているように、Qwen 3はMCPサポートを有効にするためにQwen-Agentフレームワークを使用します。これをインストールし、SQLiteの例に必要な依存関係をセットアップしましょう。

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 3がMCPサーバーと連携するように設定しましょう。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 3がtest.db
をクエリできるようになります。このターミナルは起動したままにしておいてください。
コードでのQwen 3の設定:
assistant_mcp_sqlite_bot.py
の例に基づいて、Qwen 3をMCPサーバーと共に使用する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で簡単にセットアップできます:
- Rooの設定を開きます。
- デフォルトプロバイダーをOpenRouterに変更します。
- 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 3がMCPサーバーを使用して結果(例:「Alice, Bob」)を取得します。
結果の理解:
SQLiteの例は、Qwen 3がMCPを使用して外部ツールとどのように連携するかを示しています。モデルはMCPサーバーにクエリを送信し、サーバーがそれをtest.db
に対して実行して結果を返します。このセットアップは、データを動的に取得する必要があるエージェントを構築するのに最適です。かなり強力ですよね?
MCPでQwen 3を効果的に使用するためのヒント
- クエリをシンプルに保つ: データベースタスクの場合、「exampleテーブルのすべての名前をリストしてください」のような明確なプロンプトを使用して、Qwen 3から正確な結果を得てください。
- API使用状況を監視する: DashScopeまたはOpenRouterを使用しているかどうかにかかわらず、API使用状況を追跡してレート制限に達しないようにしてください。
- 他のMCPツールを探求する: MCPはメモリやファイルシステムのようなツールをサポートしています。より多くの例については、Qwen-Agent GitHubを確認してください。
- まずローカルでテストする: 本番環境にデプロイする前に、Web UIを使用して対話的にクエリをテストしてください。
MCPでのQwen 3に関する私の見解
Qwen 3とMCPを使ってみた感想は以下の通りです:
- シームレスな統合: MCPサーバーのセットアップは簡単で、Qwen 3はツール呼び出しを完璧に処理します。
- エージェントにとって強力: データベースのクエリ実行は始まりにすぎません。MCPはエージェントワークフローに無限の可能性を開きます。
- パフォーマンス向上: Qwen 3のベンチマークは、それがトップクラスの競争相手であることを示しており、MCPサポートによりさらに多用途になります。
何か問題が発生した場合は、APIキーを再確認し、MCPサーバーが実行されていることを確認してください。
まとめ:Qwen 3とMCPの旅
MCPサポート付きのQwen 3の力を解き放ち、AIエージェントをよりスマートで有能にしました!データベースのクエリ実行から他のMCPツールの探索まで、素晴らしいものを構築する準備ができました。詳細については、Qwen-Agent GitHubリポジトリまたはqwen3.orgをご覧ください。Qwen 3とMCPで引き続き素晴らしい成果を上げてください!