Apache Doris
公式Apache Doris用のMCPサーバー。MPPベースのリアルタイムデータウェアハウスです。
Apache Doris MCPで何ができますか?
- Doris のクエリと診断 —
doris_queryドメインを使用して、クエリ実行、プラン、プロファイル分析、またはスロークエリの診断を依頼します。 - カタログとスキーマの探索 —
doris_catalogの子ツールを通じて、データベース、テーブル、およびサイズ情報を含むテーブルコンテキストを発見します。 - クラスタの健全性監視 —
doris_clusterドメインを使用して、ノード、タスク、メトリクス、メモリ、キャッシュ、およびコンパクションの状態を検査します。 - データパイプラインの管理 —
doris_pipelineツールを使用して、取り込みステータス、マテリアライズドビュー、鮮度、および依存関係を確認します。 - データの検索と分析 —
doris_searchドメインを通じて、テキスト、ベクトル、またはハイブリッド検索を実行し、インデックスを検査します。 - ガバナンスと監査 —
doris_governance機能を使用して、データ品質、ストレージ、リネージ、監査ログ、およびUDFをレビューします。
ドキュメント
Apache Doris MCP Server
Apache Doris MCP Server は、MCP 2026-07-28 を介して、読み取り専用の Apache Doris 機能を MCP ホストおよび AI エージェントに公開します。バージョン 1.0 は、大きなフラットなツールサーフェスを、8 つの安定したドメインと 55 の段階的に開示される子機能に置き換え、ランタイムの可用性、認可、入力スキーマ、出力スキーマ、および障害時の動作を明示的に保ちます。
リリースステータス
パッケージバージョンは 1.0.0 です。master 上の MCP 2026-07-28 プロトコル互換性は、Streamable HTTP および stdio において Generally Available (GA) です。この GA の表明はプロトコル互換性に限定されます。Python パッケージのクラシファイアは Beta のままであり、文書化されたデプロイメント制限は引き続き適用されます。
アップグレード前に、1.0 リリースノート、1.0 移行ガイド、および生成された 8ドメイン/55子機能レジストリ をお読みください。詳細なリリース記録は Issue #189 です。
アーキテクチャ概要
MCP Host
-> stdio or Streamable HTTP
-> transport security and authentication
-> MCP protocol validation and authorization
-> stable domain discovery
-> route-aware Doris capability detection
-> exact child dispatch and read-only runtime
-> request-specific Doris route and RBAC
-> bounded, schema-validated result
デフォルトの hierarchical モードでは、以下のドメインが公開されます:
| ドメイン | 子機能数 | 責務 |
|---|---|---|
doris_catalog | 5 | カタログ、データベース、テーブル、テーブルコンテキスト、サイズ |
doris_query | 7 | クエリ、explain、プロファイル、診断、スロークエリ、明示的 ADBC |
doris_cluster | 11 | ノード、タスク、メトリクス、メモリ、キャッシュ、コンパクション、ワークロード |
doris_pipeline | 5 | 取り込み、マテリアライズドビュー、鮮度、依存関係 |
doris_search | 4 | テキスト/ベクター/ハイブリッド検索、アナライザー、インデックス、診断 |
doris_governance | 8 | 品質、ストレージ、リネージ、監査、UDF、認証マッピング |
doris_lakehouse | 3 | 外部カタログ、レイクハウステーブル、Variant |
doris_semantic | 12 | オプションの Apache Ossie グラウンディングおよび MetricFlow 消費 |
{} を指定してドメインを呼び出すと、認可された子機能と正確なスキーマを検出できます。同じドメインを再度 child_tool、arguments、および返された manifest_version とともに呼び出します。プログレッシブディスクロージャーを使用できないホストは、起動前に MCP_TOOL_EXPOSURE_MODE=flat を設定できます。これにより、同じ 55 の子機能が衝突のない正式名で公開され、1.0 以前のエイリアスは復元されません。
アーキテクチャ、リクエストライフサイクル、およびツールドメイン を参照してください。
クイックスタート
要件:
- Python 3.12 以降
- Apache Doris 2.0.0 以降
- Doris FE MySQL エンドポイントへのネットワークアクセス(通常はポート
9030)
固定されたリリースをインストールします:
pip install doris-mcp-server==1.0.0
doris-mcp-server はサーバーを起動します。doris-mcp-client は別のクライアントです。この 2 つのコマンドは互換性がありません。
Doris ルートを構成します:
export DORIS_HOST=127.0.0.1
export DORIS_PORT=9030
export DORIS_USER=mcp_reader
export DORIS_PASSWORD='replace-me'
export DORIS_DATABASE=information_schema
ループバック上で Streamable HTTP を起動します:
doris-mcp-server \
--transport http \
--host 127.0.0.1 \
--port 3000
エンドポイント:
- MCP:
POST http://127.0.0.1:3000/mcp - レガシー MCP(オプトイン):
POST http://127.0.0.1:3000/mcp/legacy - 死活監視:
GET http://127.0.0.1:3000/live - Doris 連携の readiness:
GET http://127.0.0.1:3000/ready
ハンドシェイク時代の Streamable HTTP に限定されるホスト(MCP 2025-06-18 を使用する Dify 1.16.1 を含む)は、ENABLE_LEGACY_HTTP_ADAPTER=true を設定し、/mcp/legacy に接続する必要があります。アダプターはプロトコル境界のみを変更します。同じ 1.0 のツール、認可、機能ゲート、および読み取り専用実行を保持します。
または、ローカルホスト用に stdio を実行します:
doris-mcp-server --transport stdio
完全なクイックスタート とホスト統合ガイド を参照してください。
セキュリティ境界
- 組み込みの 1.0 カタログは読み取り専用です。
doris_adminは予約されており、登録されません。 - 静的トークン、JWT、外部 OAuth/OIDC、および Doris 連携の OAuth は、相互に検証された構成境界のもとでサポートされます。
- ドメインの検出と子機能の実行には、正確な認可識別子が使用されます。
- Doris RBAC は、可視オブジェクトとデータに対する最終的な権限のままです。
- SQL の形状、識別子、パラメータ、タイムアウト、行数、バイト数、および結果スキーマは、データがサーバーを離れる前に制限されます。
- シークレットとバックエンドエラーは、公開結果とログから編集されます。
- 明示的な危険な開発用オーバーライドが有効になっていない限り、非ループバック HTTP には認証が必要です。
セキュリティおよび権限モデル と Doris きめ細かなアクセスガイド をお読みください。
信頼性境界
サーバーは、決定論的なマニフェストとエラー、署名付き期限付きカーソル、ルート認識機能スナップショット、制限付きステールフォールバック、リクエスト固有の接続ルーティング、複数 FE フェイルオーバー、死活監視/readiness の分離、出力スキーマ検証、およびサニタイズされたトレース伝播を使用します。サポートされていない、または誤って構成された機能は、callable=false で検出可能なままであり、呼び出されるとフェイルクローズします。
現在の制限には、プロセスローカルの Doris 連携 OAuth、デフォルトで無効でトークンバインドルートでフェイルクローズする明示専用 ADBC、オプションの読み取り専用 Ossie グラウンディング、SQL が制限付き MCP クエリランタイムを通じて実行される必要があるオプションの MetricFlow コンパイラサイドカー、およびベストエフォートのネイティブリネージ配信が含まれます。信頼性と制限 を参照してください。
ドキュメント
ルート README は意図的にエントリーポイントです。バイリンガルドキュメントシステムは以下に索引付けされています:
主要ガイド:
- アーキテクチャ
- リクエストとデータフロー
- ツールドメイン
- 機能の可用性
- Doris バージョン機能マトリックス
- MetricFlow 統合
- MCP 2026-07-28 契約
- セキュリティモデル
- デプロイメント
- 信頼性と制限
- トラブルシューティング
- 構成リファレンス
- ホスト統合
- カスタムツールプロバイダー
- コントリビューション
開発
git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
uv sync --group dev
uv run pytest
生成されたアーティファクトは同期を維持する必要があります:
uv run python generate_tool_catalog.py --check
uv lock --check
コントリビューションと検証 を参照してください。
ライセンス
Apache License 2.0。LICENSE.txt と NOTICE を参照してください。