このブログは「Introducing the Documentation MCP Tool for Qt」の抄訳です。
現在、AIエージェントがウェブ上でQtのドキュメントを検索すると、ナビゲーションメニューやクッキーバナー、関連記事のサイドバー、検索エンジンのスニペットといった、回答とは無関係なHTML要素を大量に含むページが返ってきます。有用なコンテンツが1行現れるまでに、数千ものLLMトークンが消費されてしまいます。Qtが新たに公開した公式の Model Context Protocol(MCP)ツールは、この課題を直接解決するものです。
QtドキュメントMCPツールは、HTTPSを通じたクラウドサービスとして提供されており、AIエージェントがQtの完全なAPIリファレンスやガイドに対して、構造化された的確なアクセスを行えるようにします。ウェブページ全体ではなく、関連性の高いドキュメントの抜粋だけが返されるため、MCPを通じた1回の検索で消費するトークン量は、同等のウェブ検索と比べてわずかな割合に抑えられます。これにより、コンテキストウィンドウを実際のコーディング作業のために確保しつつ、大規模なエージェンティックワークフローを運用する開発者の推論コストを削減できます。
動画:Claude CodeにおけるQtドキュメントMCPサービスの様子(一部シーケンスは短縮・加速されています)
Stack OverflowやRedditのスレッドといったコミュニティ主導のリソースとは異なり、QtドキュメントMCPから返されるすべての回答は、Qtの公式ドキュメントから直接取得されます。この違いは、一見些細なように見えて実はとても重要です。コミュニティの回答はある時点のスナップショットにすぎません。Qt 5.15向けに書かれた高評価のStack Overflowの回答が、そのAPIがすでに廃止されているにもかかわらず、今日でもウェブ検索の上位に表示されることは珍しくありません。
一方、Qtのドキュメントはバージョン管理されており、フレームワーク本体を開発しているエンジニアたちが直接メンテナンスしています。MCPに問い合わせたエージェントが受け取るのは、推測に基づいた回避策でも、バージョン違いのアドバイスでも、善意ではあっても誤った説明でもありません。クラスリファレンス、プロパティ一覧、シグナルとスロットのシグネチャ、列挙値、公式にサポートされた使用例——Qtが提供するものそのものが、過不足なく返されます。
QtドキュメントMCPツールは、The Qt Companyがサービスとして提供するもので、AIエージェントに対して2つの主要なツールを公開しています。
qt_documentation_search - 自然言語またはキーワードによるクエリを受け取り、Qtの全モジュールカタログを横断して一致するドキュメントセクションをランク付けして返します。
qt_documentation_read - URLまたは識別子で指定したドキュメントページの全文を取得し、モデルが推論しやすいクリーンな構造化テキストとして返します。
これら2つのツールを組み合わせることで、エージェントは会話を離れることなく未知のQt APIを調べ、関連クラスを相互参照し、接続コードを生成する前にシグナルのシグネチャを確認し、ある機能がどのQtバージョンで追加されたかを確認するといった作業を、1回のエージェント処理の中で完結させることができます。
開発者がAIエージェントにQt固有の質問をした場合——たとえば「QListViewで選択が変わったときにシグナルを発火させるには?」や「PathViewのラッピングに関するプロパティは?」——エージェントは関連キーワードを用いて qt_documentation_searchを呼び出します。MCPサーバーはQtの公式ドキュメントコーパスから構築されたインデックスを検索し、ページ参照付きの的確な抜粋を返します。エージェントはその後、最も関連性の高い結果に対して qt_documentation_read を呼び出し、完全なAPIリファレンスを取得してからコードを生成します。
使用するエージェント環境によっては、Qt関連の質問に対してドキュメントMCPツールを使用するよう指示を追加する必要があります。たとえばGitHub Copilotの場合、カスタムエージェント指示を変更するか、Qtドキュメントサービスを指定するスキルを追加してください。この設定を行わないと、エージェントはLLMの事前学習済み知識のみに頼ってしまう場合があります。
画像:専用トリガースキルを使用したGitHub CopilotにおけるQtドキュメントMCPツールの結果表示
他のMCPベースのドキュメントサービスと同様に、本番のエージェンティックパイプラインで利用する前に理解しておくべき制約があります。
対象Qtリリース: 現時点では、最新リリースであるQt 6.11と最新LTSリリースであるQt 6.8 LTSをカバーしています。
クエリの精度への依存: 検索ベースのMCPツールと同様に、クエリの表現によって結果の品質が変わります。曖昧すぎる、あるいは広すぎるクエリは、エージェントが選別しなければならない低関連性の抜粋を返す場合があります。
認証とレート制限: 本サービスは評価目的のため、現時点では doc.qt.io のオンラインドキュメントと同様にオープンな形で提供しています。一部ユーザーによる過度な利用がサービス品質に影響すると判断された場合は、Qtアカウントによる認証と合理的な1日あたりのリクエスト制限を導入する権利を留保します。
これらはMCPドキュメント分野における一般的なトレードオフであり、オープンウェブ検索と比較したトークン効率と精度面でのメリットが大きく上回るものです。
QtドキュメントMCPには2通りの導入方法があります。最も手軽なのは、Claude Marketplaceプラグインを使う方法です。「qt-development」プラグインを検索してください。すでにClaude Marketplaceプラグインをインストール済みの場合は、ClaudeにGitHubリポジトリから最新バージョンへのアップデートを依頼してください。
Claude Code以外のエージェント環境を使用している開発者、または手動で設定したい場合は、設定ファイルにサーバー設定を追記し、QtのホストされたMCPエンドポイントを指定することで利用できます。設定手順の詳細は以下をご参照ください。
https://github.com/TheQtCompanyRnD/agent-skills/blob/main/docs/mcp/setup-manual.md
QtドキュメントMCPは、Claude Code CLI、Claude Desktop、Qt Creator 20 ベータ版、およびVS Code向けGitHub Copilot拡張機能での動作を確認しています。