mcpField
D
Doris Mcp Server

Doris Mcp Server

ローカル
github.com/NomotoKデータベース170 週間前に更新

Doris Mcp Server について

Doris-MCP-Liteは、LLMアプリケーションをApache Dorisやその他のMySQL互換データベースに接続します。読み取り専用クエリに加え、スキーマリソースと分析用プロンプトを提供します。

主な機能

  1. 01読み取り専用SQLクエリの実行
  2. 02スキーマとテーブル構造の確認
  3. 03利用状況とリソース情報の取得
  4. 04組み込み分析プロンプトの利用
  5. 05構造化リソースとしてのスキーマ提供
  6. 06コネクションプールによる接続管理

活用シーン

  1. 01Dorisデータベースのスキーマ探索
  2. 02読み取り専用の分析クエリ実行
  3. 03LLMクエリにテーブル情報を提供

MCP 対応

MCPサーバーは、データベースクエリ用ツール、分析プロンプト、スキーマリソースをMCPクライアントに公開します。Apache Dorisとその他のMySQL互換データベースに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

📖 Doris-MCP-Lite

Apache Doris またはその他の MySQL 互換データベーススキーマへの接続を目的とした軽量な MCP サーバーです。LLM アプリケーション向けにツールとプロンプトを提供します。

このサーバーを使うと、LLM と MCP クライアントは、標準化された安全な MCP インターフェースを通じて、データベーススキーマの調査、読み取り専用 SQL クエリの実行、事前に用意された分析用プロンプトの活用ができます。

警告

これは doris-mcp-lite の初期開発版です。一部の機能が正常に動作しない場合や、軽微なバグが存在する場合があります。ご質問がある場合は、issue を作成してください。 Apache Doris 公式の MCP サーバーは apache/doris-mcp-server で利用できます。

🚀 特長

🛠️ ツール
  • Doris データベースに対して 読み取り専用 SQL クエリを実行します。
  • 年次、月次、日次の使用状況データの取得など、データ分析操作を実行します。
  • データベーススキーマ、テーブル構造、リソース使用状況などのメタデータを照会します。
  • コネクションプーリング:パフォーマンスを最適化するため、プーリングによって接続を効率的に管理します。
  • 非同期実行:応答性を高めるため、非同期クエリの実行をサポートします。
🧠 プロンプト
  • LLM が分析に関する質問を行うのに役立つ、組み込みのプロンプトテンプレートを備えています。
  • LLM と Doris データベースの連携を強化するマルチロールプロンプトをサポートします。
  • ユーザー定義および汎用の SQL 分析プロンプトをサポートします。
🗂️ リソース
  • Doris のデータベーススキーマを構造化リソースとして公開します。
  • LLM がテーブルとフィールドの定義にコンテキストに応じてアクセスできるようにし、クエリの理解を向上させます。

📦 インストール方法

Python 環境の管理には uv の使用を推奨します。

方法 1:シェルスクリプトでインストール

個人利用およびサーバーへのデプロイに推奨

これが最も簡単なインストール方法です。プロジェクト内の setup.sh ファイルをコピーして、ローカルで実行してください。詳細については、Doris MCP インストールガイドを参照してください。

  1. setup.sh をローカルにコピーします。
  2. スクリプトを実行可能にします。
chmod +x setup.sh
  1. スクリプトを実行します。
./setup.sh

スクリプトがサーバーを自動的にインストールし、データベースの設定を案内します。

方法 2:pip でインストール

本番環境での利用に推奨

pip install doris-mcp-lite

✅ インストール後、コマンドラインツールを起動して MCP サーバーを実行できるようになります。

方法 3:ソースをクローンして手動でインストール

サーバーを変更する場合に推奨

  1. リポジトリをフォークしてクローンします。
git clone https://github.com/YOUR_USERNAME/doris-mcp-lite.git
cd doris-mcp-lite
  1. uv を使ってローカルの Python 環境をセットアップします。
uv venv # Create a virtual environment
uv sync # Install dependencies

# Activate the virtual environment
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

uv pip install
  1. このサーバーを LLM クライアントに追加するか、サーバーを実行します。
uv run server doris://user:pass@localhost:9030/mydb
方法 4:uv を直接使用してインストール

ローカルでの編集可能なインストール向け

uv pip install 'git+https://github.com/NomotoK/doris-mcp-lite.git'
uv sync
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

uv pip install -e .

uv run server doris://user:pass@localhost:9030/mydb

⚙️ インストール後の設定

ステップ 1:.env ファイルを設定(任意)

.env ファイルを使うと、データベースの接続情報を MCP サーバーに永続的に保存できます。これにより、MCP サーバーを CLI で実行するたびに、データベース接続を入力する必要がなくなります。もちろん、この手順は必須ではありません。MCP 互換の LLM クライアントを使用している場合は、後から MCP クライアントの設定ファイルでデータベース接続を設定することもできます(ステップ 2 を参照してください)。次の手順に従って設定を完了してください。

シェルスクリプトを使った設定

これが最も推奨される簡単な設定方法です。Doris MCP インストールガイドを参照してください。

.envで手動設定する

インストール後、プロジェクトディレクトリ内のdoris_mcp_lite/config/ディレクトリに移動します。pipを使用している場合、パッケージはPythonのsite-packagesにインストールされます。

  • Mac/Linux: /Users/YOUR_USERNAME/.local/lib/python3.x/site-packages/doris_mcp_lite/config/

  • Windows: C:\Users\YOUR_USERNAME\AppData\Local\Programs\Python\Python3x\Lib\site-packages\doris_mcp_lite\config\

次のコマンドを実行すると、pipのインストール先を確認できます。

pip show doris-mcp-lite

.env.exampleファイルがあります。

  1. .env.exampleを.envにコピーします。
cp .env.example .env
  1. .envを編集して、Dorisデータベースの接続情報を設定します。
DB_HOST=your-doris-host
DB_PORT=9030
DB_USER=your-username
DB_PASSWORD=your-password
DB_NAME=your-database

MCP_SERVER_NAME=DorisAnalytics
DEBUG=false

メモ

.env が存在しない場合、サーバーは.env.exampleからの自動作成を試みますが、正しい認証情報を手動で入力する必要があります。

ステップ2:MCP クライアントを設定する

このサーバーをMCP互換クライアント(例:Claude Desktop、CherryStudio、Cline)に接続するには、MCPクライアントの設定JSONを変更する必要があります。

CherryStudioを使用する場合の例:

  • name: doris-mcp-lite
  • type: stdio
  • command: absolute/path/to/your/uv
  • arguments:
--directory
/Users/hailin/dev/Doris-MCP-Lite
run
server
doris://user:pass@localhost:9030/mydb

pipを使用してインストールする場合の例(mcp_setting.json):

{
  "mcpServers": {
    "DorisAnalytics": {
      "command": "server",
      "args": ["doris://user:pass@localhost:9030/mydb"],
      "transportType": "stdio"
    }
  }
}

ソースコード/uvを使用してインストールする場合、またはsetup.shを使用する場合:

{
"mcpServers": {
	"DorisAnalytics": {
		"disabled": false,
		"timeout": 60,
		"command": "absolute/path/to/uv",
		"args": [
			"--directory",
			"absolute/path/to/mcp/server",
			"run",
			"server"
			"doris://user:pass@localhost:9030/mydb"
		],
		"transportType": "stdio"
		}
	}

}

設定ファイルで絶対パスを指定せずにuvとserverを使用することもできますが、uvがPATHに含まれていることを確認してください。

接続URL

doris://user:pass@localhost:9030/mydbを実際のデータベース接続文字列に置き換えてください。

クライアントの設定方法について詳しくは、以下を参照してください。

サーバー開発者向け - Model Context Protocol - Claude

Config and Using MCP | CherryStudio

✅ LLMクライアントが、MCPサーバーを通じてDoris Analyticsのツール、プロンプト、リソースを見つけられるようになります。


🖥️ 使用方法

MCP サーバーのテスト(任意)

開始前に、プロジェクトのsrc/doris-mcp-liteディレクトリにあるtest.pyを実行すると、LLM(ClaudeやGPTなどのモデル)を使わずに、MCPサーバーの機能インターフェースを直接呼び出して、データベース接続、リソース、ツールなどをテストできます。コマンドラインから引数を渡して、テストする機能を指定できます。

サーバーが公開するすべてのリソースをテストします。

python test.py --server server.py --test resources

または、提供されているすべてのツールをテストします。

python test.py --server server.py --test tools

または、データベース接続をテストします。

python test.py --server "doris://user:pass@localhost:9030/mydb" --test dbconfig

または、リソース、ツール、プロンプトのすべての機能を一度にテストします。

python test.py --server server.py --test all
データベース接続のテストとサーバーの実行

次のコマンドを実行して、MCPサーバーを起動します。

server doris://user:pass@localhost:9030/mydb

または、手動で実行します。

python -m doris_mcp_lite.server doris://user:pass@localhost:9030/mydb

サーバーはすぐにデータベースへの接続を試みます。接続に成功すると、起動後に次のように表示されます。

🚀 Doris MCP Server is starting...
[DorisConnector] Connected to 127.0.0.1:9030
✅ Database connection successful.
[DorisConnector] Connection closed.

これで、MCPクライアント内のツールとプロンプトを使用できます。

📚 プロジェクト構成の概要

src/
└── doris_mcp_lite/
	├── config/             # Configuration files
	│   ├── __init__.py
	│   ├── config.py       # Loads environment variables
	│   ├── .env.example    # Environment variables template
	│   └── .env            # Stores your database credentials
	│
	├── db/                 # Database interaction logic
	│   ├── __init__.py
	│   ├── db.py           # Doris database connection class
	│   └── tools.py        # SQL query execution tools
	│
	├── res/                # Resource definitions (e.g., schemas)
	│   ├── __init__.py
	│   └── resources.py
	│
	├── prompts/            # Prebuilt prompt templates
	│   ├── __init__.py
	│   ├── general_prompts.py
	│   └── customize_prompts.py
	│
	├── __init__.py         # Main entry point to start the MCP server
	├── server.py           # Server launcher
	├── mcp_app.py          # MCP server instance
	└── test.py             # Unit test script
README.md                   # Documentation
INSTALL.md                  # Installation guide
LISENCE                     # Lisence
setup.sh                    # Auto setup wizard
pyproject.toml              # Project build configuration
.gitignore                  # Git ignore settings

📜 ライセンス

このプロジェクトはMIT Licenseのもとでライセンスされています。

🌟謝辞

  • MCP Python SDKを使用して構築されています。
  • 基盤:MCP:LLMが外部データソースと連携するための標準であるModel Context Protocol。
  • Apache Doris:オープンソースの高性能リアルタイム分析データベース。
  • Apache Doris Official MCP Server:Apache Doris公式のMCPサーバー。
  • PyMySQL:データベース連携用のPython MySQLクライアントライブラリ。
  • MCP公式のサンプルとベストプラクティスに着想を得ています。

🤝 貢献

貢献を歓迎します。お気軽にイシューを作成するか、プルリクエストを送信してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。