StarRocks
官方與 StarRocks 互動
你可以用 StarRocks MCP 做什麼?
- 執行 SQL 查詢 — 可要求透過
read_query執行SELECT陳述式,或透過write_query執行 DDL/DML 指令,並可選擇將大型結果輸出至檔案。 - 探索資料庫結構 — 列出資料庫與資料表,或使用
starrocks://資源(例如starrocks:///{db}/{table}/schema)取得資料表結構。 - 取得資料表或資料庫概覽 — 使用
table_overview或db_overview擷取欄位定義、列數與範例資料,並對重複請求提供快取功能。 - 視覺化查詢結果 — 使用
query_and_plotly_chart直接從 SQL 查詢產生 Plotly 圖表,並回傳 PNG 影像供 UI 顯示。 - 監控叢集健康狀態 — 透過稽核日誌存取次數(
top_hot_tables)找出熱門資料表,或依健康評分(top_bad_tables)找出效能不佳的資料表。 - 存取內部系統資訊 — 透過
proc://資源路徑查詢 StarRocks 內部資訊,例如 FE/BE 節點、交易或任務。
文件
StarRocks 官方 MCP 伺服器
StarRocks MCP 伺服器作為 AI 助理與 StarRocks 資料庫之間的橋樑。它允許直接執行 SQL、探索資料庫、透過圖表進行資料視覺化,以及取得詳細的 schema/資料概覽,無需複雜的用戶端設定。
功能特色
- 直接執行 SQL: 執行
SELECT查詢(read_query)和 DDL/DML 指令(write_query)。 - 資料庫探索: 列出資料庫和資料表、取得資料表 schema(
starrocks://資源)。 - 系統資訊: 透過
proc://資源路徑存取 StarRocks 內部的指標和狀態。 - 詳細概覽: 取得資料表(
table_overview)或整個資料庫(db_overview)的全面摘要,包括欄位定義、列數和範例資料。 - 資料視覺化: 執行查詢並直接從結果產生 Plotly 圖表(
query_and_plotly_chart)。 - 智慧快取: 資料表和資料庫概覽會快取在記憶體中,以加速重複請求。必要時可略過快取。
- 彈性設定: 可透過環境變數設定連線詳細資訊和行為。
先決條件
- Python 3.11 或更新版本。
- 一個可連線的 StarRocks 叢集(FE 服務)。預設情況下,伺服器會透過 MySQL 協定連線到
localhost:9030。 uv— 來自 Astral 的快速 Python 套件和專案管理工具(pip+virtualenv的現代替代品)。此專案使用uv來解析依賴項、建立虛擬環境並啟動伺服器。本 README 中的uv run指令會在首次使用時自動建立隔離環境並安裝所需的依賴項,因此無需手動執行pip install步驟。
安裝 uv
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via Homebrew / pipx / pip
brew install uv
# pipx install uv
# pip install uv
請參閱官方 uv 安裝指南以了解其他選項。安裝後,請確認它已在您的 PATH 中:
uv --version
安裝
您通常不需要手動安裝套件 — MCP 主機會透過 uv 為您啟動它(請參閱下方的設定)。uv 會按需取得套件及其依賴項。
若要直接執行以進行測試或開發:
# Run the published package in a throwaway environment
uv run --with mcp-server-starrocks mcp-server-starrocks --help
# Or, from a local checkout of this repository
git clone https://github.com/starrocks/mcp-server-starrocks.git
cd mcp-server-starrocks
uv sync # create the virtual environment and install dependencies
uv run mcp-server-starrocks --help
設定
MCP 伺服器通常透過 MCP 主機執行。設定會傳遞給主機,指定如何啟動 StarRocks MCP 伺服器程序。
使用 Streamable HTTP(建議):
若要以 Streamable HTTP 模式啟動伺服器:
首先測試與 StarRocks 的連線是否正常(9030 是 StarRocks MySQL 協定連接埠,而非 HTTP 伺服器連接埠):
$ STARROCKS_URL=root:@localhost:9030 uv run mcp-server-starrocks --test
啟動伺服器:
uv run mcp-server-starrocks --mode streamable-http --port 8000
然後像這樣設定 MCP:
{
"mcpServers": {
"mcp-server-starrocks": {
"url": "http://localhost:8000/mcp"
}
}
}
使用 Docker:
建置映像檔:
docker build -t mcp-server-starrocks:local .
建置並推送帶版本號的映像檔:
docker build -t <registry>/<namespace>/mcp-starrocks:0.4.0 .
docker push <registry>/<namespace>/mcp-starrocks:0.4.0
以 Streamable HTTP 模式啟動伺服器:
docker run --rm -p 8000:8000 \
-e STARROCKS_HOST=host.docker.internal \
-e STARROCKS_PORT=9030 \
-e STARROCKS_USER=root \
-e STARROCKS_PASSWORD='' \
mcp-server-starrocks:local
然後使用以下內容設定 MCP 用戶端:
{
"mcpServers": {
"mcp-server-starrocks": {
"url": "http://localhost:8000/mcp"
}
}
}
使用 uv 搭配已安裝的套件(個別環境變數):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": ["run", "--with", "mcp-server-starrocks", "mcp-server-starrocks"],
"env": {
"STARROCKS_HOST": "default localhost",
"STARROCKS_PORT": "default 9030",
"STARROCKS_USER": "default root",
"STARROCKS_PASSWORD": "default empty",
"STARROCKS_DB": "default empty"
}
}
}
}
使用 uv 搭配已安裝的套件(連線 URL):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": ["run", "--with", "mcp-server-starrocks", "mcp-server-starrocks"],
"env": {
"STARROCKS_URL": "root:password@localhost:9030/my_database"
}
}
}
}
使用 uv 搭配本機目錄(用於開發):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": [
"--directory",
"path/to/mcp-server-starrocks", // <-- Update this path
"run",
"mcp-server-starrocks"
],
"env": {
"STARROCKS_HOST": "default localhost",
"STARROCKS_PORT": "default 9030",
"STARROCKS_USER": "default root",
"STARROCKS_PASSWORD": "default empty",
"STARROCKS_DB": "default empty"
}
}
}
}
使用 uv 搭配本機目錄和連線 URL:
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": [
"--directory",
"path/to/mcp-server-starrocks", // <-- Update this path
"run",
"mcp-server-starrocks"
],
"env": {
"STARROCKS_URL": "root:password@localhost:9030/my_database"
}
}
}
}
命令列參數:
伺服器支援以下命令列參數:
uv run mcp-server-starrocks --help
--mode {stdio,sse,http,streamable-http}:傳輸模式(預設:stdio 或 MCP_TRANSPORT_MODE 環境變數)--host HOST:HTTP 模式的伺服器主機(預設:localhost)--port PORT:HTTP 模式的伺服器連接埠--test:以測試模式執行以驗證功能
範例:
# Start in streamable HTTP mode on custom host/port
uv run mcp-server-starrocks --mode streamable-http --host 0.0.0.0 --port 8080
# Start in stdio mode (default)
uv run mcp-server-starrocks --mode stdio
# Run test mode
uv run mcp-server-starrocks --test
url欄位應指向您 MCP 伺服器的 Streamable HTTP 端點(視需要調整主機/連接埠)。- 使用此設定,用戶端可以使用標準 JSON 透過 HTTP POST 請求與伺服器互動。無需特殊 SDK。
- 所有工具 API 都接受並回傳如上所述的標準 JSON。
注意:
sse(Server-Sent Events)模式已棄用且不再維護。請為所有新的整合使用 Streamable HTTP 模式。
環境變數:
連線設定
您可以使用個別的環境變數或單一連線 URL 來設定 StarRocks 連線:
選項 1:個別環境變數
STARROCKS_HOST:(選用)StarRocks FE 服務的主機名稱或 IP 位址。預設為localhost。STARROCKS_PORT:(選用)StarRocks FE 服務的 MySQL 協定連接埠。預設為9030。STARROCKS_USER:(選用)StarRocks 使用者名稱。預設為root。STARROCKS_PASSWORD:(選用)StarRocks 密碼。預設為空字串。STARROCKS_PASSWORD_FILE:(選用)包含密碼的 UTF-8 文字檔案路徑。這對於基於檔案的密碼注入(例如 systemd credentials)很有用。結尾的一個換行符會被忽略。僅在未透過STARROCKS_PASSWORD或STARROCKS_URL提供明確密碼時使用。STARROCKS_PASSWORD_KEYCHAIN_SERVICE:(選用,僅限 macOS)從鑰匙圈讀取密碼時使用的通用密碼服務名稱。僅在未設定明確密碼或STARROCKS_PASSWORD_FILE時使用。STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT:(選用,僅限 macOS)從鑰匙圈讀取密碼時使用的通用密碼帳戶名稱。預設為解析後的 StarRocks 使用者。STARROCKS_DB:(選用)若工具參數或資源 URI 中未指定,則使用的預設資料庫。若設定,連線將嘗試USE此資料庫。像table_overview和db_overview這類工具在其參數中省略資料庫部分時將使用此設定。預設為空(無預設資料庫)。STARROCKS_QUERY_TIMEOUT:(選用)等待查詢結果的秒數(整數),超過則放棄。預設未設定,表示無限等待,與先前行為一致。若卡住或長時間執行的查詢應失敗而非永遠阻塞工具呼叫,請設定此值。
選項 2:連線 URL(優先於個別變數)
-
STARROCKS_URL:(選用)包含所有連線參數的單一連線 URL 字串。格式:[<schema>://]user:password@host:port/database。schema 部分為選用。設定此變數時,它優先於個別的STARROCKS_HOST、STARROCKS_PORT、STARROCKS_USER、STARROCKS_PASSWORD和STARROCKS_DB變數。範例:
root:mypass@localhost:9030/test_dbmysql://admin:secret@db.example.com:9030/productionstarrocks://user:pass@192.168.1.100:9030/analytics
密碼優先順序:
- 嵌入在
STARROCKS_URL中的密碼優先,包括明確的空密碼,如user:@host:9030/db。 - 若
STARROCKS_URL省略密碼,則在設定時使用STARROCKS_PASSWORD。 - 若未設定任何明確的密碼來源且已設定
STARROCKS_PASSWORD_FILE,則從該檔案讀取密碼。 - 若未設定明確密碼或密碼檔案且已設定
STARROCKS_PASSWORD_KEYCHAIN_SERVICE,則從 macOS 鑰匙圈讀取密碼。
macOS 鑰匙圈範例
儲存密碼:
security add-generic-password -U -a root -s mcp-server-starrocks -w 'secret'
驗證已儲存的密碼:
security find-generic-password -a root -s mcp-server-starrocks -w
將它與此伺服器一起使用:
export STARROCKS_URL=root@localhost:9030/test_db
export STARROCKS_PASSWORD_KEYCHAIN_SERVICE=mcp-server-starrocks
export STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT=root
systemd 加密憑證 範例(systemd 250 或更新版本)
伺服器本身不會呼叫 systemd-creds。在部署時,管理員加密密碼;在服務啟動時,systemd 將其解密到服務的憑證目錄中,並僅將檔案路徑暴露給此伺服器。
建立主機綁定的加密憑證,而不將密碼放入 shell 歷史記錄中:
sudo -v
sudo install -d -m 0700 /etc/credstore.encrypted
sudo systemd-ask-password -n "StarRocks password:" \
| sudo systemd-creds encrypt \
--name=starrocks-password \
- /etc/credstore.encrypted/starrocks-password.cred
將憑證新增到服務單元。%d 指定符會展開為服務特定的憑證目錄:
[Service]
LoadCredentialEncrypted=starrocks-password:/etc/credstore.encrypted/starrocks-password.cred
Environment=STARROCKS_PASSWORD_FILE=%d/starrocks-password
PrivateMounts=yes
保持 STARROCKS_PASSWORD 未設定,並從 STARROCKS_URL 中省略密碼,然後重新載入單元並重新啟動服務。加密憑證通常綁定到本機主機(以及可用的 TPM2 裝置);它僅在服務啟動期間解密。服務程序和具有 root 權限的管理員仍可在執行時期存取明文密碼。請勿使用 systemd-creds encrypt --with-key=null,因為它不提供機密性。
其他設定
-
STARROCKS_FE_ARROW_FLIGHT_SQL_PORT:(選用)StarRocks FE 服務的 Arrow Flight SQL 連接埠。設定後,伺服器將使用高效能的 Arrow Flight SQL 協定(透過 ADBC 驅動程式)而非標準 MySQL 協定進行連線。保持未設定以使用預設的 MySQL 連線。主機、使用者和密碼取自上述相同的連線設定。 -
STARROCKS_OVERVIEW_LIMIT:(選用)概覽工具(table_overview、db_overview)在取得資料以填入快取時,所產生的_總_文字量的_近似_字元限制。這有助於防止非常大的 schema 或大量資料表造成過度的記憶體使用。預設為20000。 -
STARROCKS_MCP_OUTPUT_DIR:(選用)當read_query的output_file參數為相對路徑時所使用的目錄。預設為~/.mcp-server-starrocks/output/。該目錄會按需建立。傳遞給output_file的絕對路徑(包括~前綴路徑)會略過此設定。注意: 檔案會寫入 MCP 伺服器執行的機器上。對於 Claude Code / Claude Desktop,伺服器在本機執行,因此檔案會存放在您的筆記型電腦上。對於遠端/HTTP 部署,檔案會存放在伺服器上,而非用戶端。 -
STARROCKS_CHART_OUTPUT_DIR:(選用)query_and_plotly_chart寫入互動式 HTML 圖表的目錄(當format="html"時)。預設為系統暫存目錄。該目錄會按需建立。注意: 與其他輸出檔案一樣,圖表會寫入 MCP 伺服器執行的機器上。 -
STARROCKS_CHART_INCLUDE_PLOTLYJS:(選用)控制plotly.js如何打包到 HTML 圖表中。cdn(預設)保持檔案較小,但檢視時需要網路存取;inline/true嵌入完整函式庫以供離線使用;directory和false也可接受(傳遞給 Plotly 的write_html)。 -
STARROCKS_CHART_DEFAULT_FORMAT:(選用)當省略format參數時,query_and_plotly_chart的預設輸出格式。可為json、png、jpeg(預設)或html之一。設定為html以在每次呼叫時不傳遞format的情況下,始終將互動式圖表檔案寫入STARROCKS_CHART_OUTPUT_DIR(包含內嵌 PNG 預覽)。無效值會回退到jpeg並發出警告。 -
STARROCKS_MYSQL_AUTH_PLUGIN:(選用)指定連線到 StarRocks FE 服務時使用的驗證外掛程式。例如,若您的 StarRocks 部署需要明文密碼驗證(例如使用某些 LDAP 或外部驗證設定時),請設定為mysql_clear_password。僅在您的環境特別需要時設定;否則,將使用預設的 auth_plugin。
TLS / SSL 設定
這些變數控制連線的 TLS。當它們都未設定時,底層的 mysql.connector 會保持其預設行為(ssl-mode=PREFERRED):若伺服器支援 TLS,連線會加密,但伺服器憑證不會被驗證。為了真正的安全性,請提供 CA 憑證並啟用驗證。
STARROCKS_SSL_DISABLED:(可選)設定為true以強制停用 TLS。這會覆寫所有其他 SSL 設定。預設值為false。STARROCKS_SSL_CA:(可選)用於驗證 StarRocks 伺服器憑證的 CA 憑證(PEM)路徑。STARROCKS_SSL_CERT:(可選)用於雙向 TLS(mTLS)的用戶端憑證(PEM)路徑。STARROCKS_SSL_KEY:(可選)用於雙向 TLS(mTLS)的用戶端私鑰(PEM)路徑。STARROCKS_SSL_VERIFY_CERT:(可選)設定為true以根據 CA 驗證伺服器憑證。預設值為false。STARROCKS_SSL_VERIFY_IDENTITY:(可選)設定為true以同時驗證伺服器主機名稱與憑證相符。預設值為false。STARROCKS_TLS_VERSIONS:(可選)允許的 TLS 版本清單(以逗號分隔),例如TLSv1.2,TLSv1.3。
範例(根據 CA 憑證驗證伺服器):
"env": {
"STARROCKS_HOST": "your-fe-host",
"STARROCKS_PORT": "9030",
"STARROCKS_USER": "root",
"STARROCKS_PASSWORD": "your-password",
"STARROCKS_SSL_CA": "/path/to/ca.pem",
"STARROCKS_SSL_VERIFY_CERT": "true",
"STARROCKS_SSL_VERIFY_IDENTITY": "true"
}
對於高效能的 Arrow Flight SQL 連線(透過 STARROCKS_FE_ARROW_FLIGHT_SQL_PORT 啟用),TLS 是分開控制的:
STARROCKS_FE_ARROW_FLIGHT_SQL_USE_TLS:(可選)設定為true以使用grpc+tls://而非明文grpc://。啟用時,STARROCKS_SSL_CA會用作 TLS 根憑證,而STARROCKS_SSL_VERIFY_CERT=false(預設值)會略過伺服器憑證驗證。
安全性注意事項:避免將明文密碼直接儲存在
mcp.json中。建議從機密管理工具或環境變數注入STARROCKS_PASSWORD(以及憑證路徑),且切勿將憑證提交到版本控制系統。
MCP_TRANSPORT_MODE:(可選)通訊模式,指定 MCP Server 如何公開其服務。可用選項:stdio(預設):透過標準輸入/輸出進行通訊,適用於 MCP Host 託管。streamable-http(Streamable HTTP):以 Streamable HTTP Server 啟動,支援 RESTful API 呼叫。sse:(已棄用,不建議使用) 以 Server-Sent Events(SSE)串流模式啟動,適用於需要串流回應的場景。注意:SSE 模式已不再維護,建議統一使用 Streamable HTTP 模式。
元件
工具
-
read_query- 描述: 執行 SELECT 查詢或其他會回傳 ResultSet 的命令(例如
SHOW、DESCRIBE)。可選擇將完整結果寫入本機檔案而非內聯回傳——這對於結果過大而無法放入模型上下文的情況很有用。 - 輸入:
{ "query": "SQL query string", "db": "database name (optional, uses default database if not specified)", "output_file": "optional path; if set, writes the full result to disk and returns only a summary + small preview. Relative paths resolve against STARROCKS_MCP_OUTPUT_DIR (default: ~/.mcp-server-starrocks/output/); absolute paths and ~ are used as-is", "output_format": "optional: csv | tsv | json | jsonl. If omitted, inferred from output_file extension (.csv/.tsv/.json/.jsonl/.ndjson); defaults to csv" } - 輸出: 若未使用
output_file,則回傳包含查詢結果的文字內容,格式類似 CSV,帶有標題列和列數摘要。若使用output_file,則回傳簡短摘要,包含解析後的絕對路徑、位元組數和列數,以及小型預覽。失敗時回傳錯誤訊息。
- 描述: 執行 SELECT 查詢或其他會回傳 ResultSet 的命令(例如
-
write_query- 描述: 執行 DDL(
CREATE、ALTER、DROP)、DML(INSERT、UPDATE、DELETE)或其他不會回傳 ResultSet 的 StarRocks 命令。 - 輸入:
{ "query": "SQL command string", "db": "database name (optional, uses default database if not specified)" } - 輸出: 確認成功的文字內容(例如「Query OK, X rows affected」)或回報錯誤。成功時變更會自動提交。
- 描述: 執行 DDL(
-
analyze_query- 描述: 分析查詢並使用查詢設定檔或 explain analyze 取得分析結果。
- 輸入:
{ "uuid": "Query ID, a string composed of 32 hexadecimal digits formatted as 8-4-4-4-12", "sql": "Query SQL to analyze", "db": "database name (optional, uses default database if not specified)" } - 輸出: 包含查詢分析結果的文字內容。若提供 uuid 則使用
ANALYZE PROFILE FROM,否則若提供 sql 則使用EXPLAIN ANALYZE。
-
top_hot_tables- 描述: 根據稽核日誌的存取次數取得熱門資料表。它會將
information_schema.tables與starrocks_audit_db__.starrocks_audit_tbl__進行聯結,排除root和SHOW語句,將稽核 SQL 文字與資料表名稱進行比對,並依visit_count降序排序。 - 輸入:
{ "db": "optional database/schema filter", "table": "optional table name substring filter", "min_start_time_ms": 1704067200000, "max_start_time_ms": 1704153600000, "top_n": 20 } - 輸出: 文字摘要加上結構化內容,包含帶有
db、table和visit_count的排名列。
- 描述: 根據稽核日誌的存取次數取得熱門資料表。它會將
-
top_bad_tables- 描述: 根據資料表健康度分數取得最差的資料表,遵循 Star Management Studio 的
top-bad-tables邏輯。它重用基於information_schema.be_tablets和information_schema.partitions_meta的資料表健康度計算,過濾掉系統 schema,依table_health_score升序排序,並回傳分數最低的資料表。 - 輸入:
{ "db": "optional database/schema filter", "table": "optional table name substring filter", "top_n": 20 } - 輸出: 文字摘要加上結構化內容,包含帶有資料表健康度欄位(例如
db、table、tablet_num、replica_score、tablet_score和table_health_score)的排名列。
- 描述: 根據資料表健康度分數取得最差的資料表,遵循 Star Management Studio 的
-
query_and_plotly_chart- 描述: 執行 SQL 查詢,將結果載入 Pandas DataFrame,並使用提供的 Python 運算式產生 Plotly 圖表。專為在支援的 UI 中進行視覺化而設計。
- 輸入:
{ "query": "SQL query to fetch data", "plotly_expr": "Python expression string using 'px' (Plotly Express) and 'df' (DataFrame). Example: 'px.scatter(df, x=\"col1\", y=\"col2\")'", "db": "database name (optional, uses default database if not specified)" } - 輸出: 包含以下項目的清單:
TextContent:DataFrame 的文字表示以及圖表僅供 UI 顯示的說明。ImageContent:產生的 Plotly 圖表,編碼為 base64 PNG 影像(image/png)。失敗或查詢無資料時回傳文字錯誤訊息。
-
table_overview- 描述: 取得特定資料表的概覽:欄位(來自
DESCRIBE)、總列數和範例列(LIMIT 3)。除非refresh為 true,否則使用記憶體快取。 - 輸入:
{ "table": "Table name, optionally prefixed with database name (e.g., 'db_name.table_name' or 'table_name'). If database is omitted, uses STARROCKS_DB environment variable if set.", "refresh": false // Optional, boolean. Set to true to bypass the cache. Defaults to false. } - 輸出: 包含格式化概覽(欄位、列數、範例資料)的文字內容或錯誤訊息。快取結果在適用時會包含先前的錯誤。
- 描述: 取得特定資料表的概覽:欄位(來自
-
db_overview- 描述: 取得指定資料庫中_所有_資料表的概覽(欄位、列數、範例列)。除非
refresh為 true,否則對每個資料表使用資料表層級的快取。 - 輸入:
{ "db": "database_name", // Optional if default database is set. "refresh": false // Optional, boolean. Set to true to bypass the cache for all tables in the DB. Defaults to false. } - 輸出: 包含資料庫中所有資料表之串接概覽的文字內容,以標題分隔。若無法存取資料庫或資料庫中沒有資料表,則回傳錯誤訊息。
- 描述: 取得指定資料庫中_所有_資料表的概覽(欄位、列數、範例列)。除非
資源
直接資源
starrocks:///databases- 描述: 列出設定使用者可存取的所有資料庫。
- 等效查詢:
SHOW DATABASES - MIME 類型:
text/plain
資源範本
-
starrocks:///{db}/{table}/schema- 描述: 取得特定資料表的 schema 定義。
- 等效查詢:
SHOW CREATE TABLE {db}.{table} - MIME 類型:
text/plain
-
starrocks:///{db}/tables- 描述: 列出特定資料庫中的所有資料表。
- 等效查詢:
SHOW TABLES FROM {db} - MIME 類型:
text/plain
-
proc:///{+path}- 描述: 存取 StarRocks 內部系統資訊,類似於 Linux 的
/proc。path參數指定所需的資訊節點。 - 等效查詢:
SHOW PROC '/{path}' - MIME 類型:
text/plain - 常見路徑:
/frontends- 關於 FE 節點的資訊。/backends- 關於 BE 節點的資訊(適用於非雲原生部署)。/compute_nodes- 關於 CN 節點的資訊(適用於雲原生部署)。/dbs- 關於資料庫的資訊。/dbs/<DB_ID>- 關於特定資料庫(依 ID)的資訊。/dbs/<DB_ID>/<TABLE_ID>- 關於特定資料表(依 ID)的資訊。/dbs/<DB_ID>/<TABLE_ID>/partitions- 資料表的分區資訊。/transactions- 依資料庫分組的交易資訊。/transactions/<DB_ID>- 特定資料庫 ID 的交易資訊。/transactions/<DB_ID>/running- 資料庫 ID 的執行中交易。/transactions/<DB_ID>/finished- 資料庫 ID 的已完成交易。/jobs- 關於非同步作業(Schema Change、Rollup 等)的資訊。/statistic- 每個資料庫的統計資訊。/tasks- 關於代理任務的資訊。/cluster_balance- 負載平衡狀態資訊。/routine_loads- 關於 Routine Load 作業的資訊。/colocation_group- 關於 Colocation Join 群組的資訊。/catalog- 關於已設定 catalog(例如 Hive、Iceberg)的資訊。
- 描述: 存取 StarRocks 內部系統資訊,類似於 Linux 的
提示詞
此伺服器未定義任何提示詞。
快取行為
table_overview和db_overview工具使用記憶體快取來儲存產生的概覽文字。- 快取鍵是
(database_name, table_name)的元組。 - 呼叫
table_overview時,會先檢查快取。若存在結果且refresh參數為false(預設值),則立即回傳快取結果。否則,會從 StarRocks 取得資料、儲存到快取,然後回傳。 - 呼叫
db_overview時,會列出資料庫中的所有資料表,然後嘗試使用與table_overview相同的快取邏輯(先檢查快取,若需要且refresh為false或快取未命中則取得)來取得_每個資料表_的概覽。若refresh對db_overview設定為true,則會強制重新整理該資料庫中_所有_資料表。 STARROCKS_OVERVIEW_LIMIT環境變數提供了在填入快取時,每個資料表_所產生之概覽字串最大長度的_軟性目標,有助於管理記憶體使用量。- 快取結果(包括原始取得期間遇到的任何錯誤訊息)會儲存起來,並在後續快取命中時回傳。
除錯
啟動 mcp server 後,您可以使用 inspector 進行除錯:
npx @modelcontextprotocol/inspector
示範

