关于 StarRocks Official MCP Server
StarRocks 官方 MCP 服务是连接 AI 助手与 StarRocks 数据库的桥梁,支持直接执行 SQL、浏览数据库结构并生成 Plotly 图表。它面向需要通过 AI 助手查询 StarRocks 的用户,无需复杂的客户端配置。
主要功能
- 01执行 SELECT 查询与 DDL/DML 命令
- 02浏览数据库、表结构与 starrocks:// 资源
- 03通过 proc:// 资源查看 StarRocks 内部指标
- 04生成表与数据库概览,并缓存结果
- 05根据查询结果生成 Plotly 图表
适用场景
- 01让 AI 助手直接查询 StarRocks 数据
- 02快速了解表结构、字段与样例数据
- 03根据查询结果生成可视化图表
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 read_query、write_query、table_overview、db_overview 等工具及 starrocks:// 与 proc:// 资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
StarRocks 官方 MCP 服务
StarRocks MCP 服务充当 AI 助手与 StarRocks 数据库之间的桥梁。它支持直接执行 SQL、探索数据库、通过图表可视化数据,以及获取详细的架构和数据概览,无需进行复杂的客户端设置。
功能
- 直接执行 SQL: 运行
SELECT查询(read_query)和 DDL/DML 命令(write_query)。 - 数据库探索: 列出数据库和表,获取表架构(
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(服务器发送事件)模式已弃用,不再维护。所有新的集成都请使用 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 凭据。末尾的一个换行符会被忽略。仅当未通过STARROCKS_PASSWORD或STARROCKS_URL显式提供密码时才会使用此项。STARROCKS_PASSWORD_KEYCHAIN_SERVICE:(可选,仅限 macOS)从 Keychain 读取密码时使用的通用密码服务名称。仅当未配置显式密码或STARROCKS_PASSWORD_FILE时才会使用此项。STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT:(可选,仅限 macOS)从 Keychain 读取密码时使用的通用密码账户名称。默认值为解析出的 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:[email protected]:9030/productionstarrocks://user:[email protected]: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 端口。设置后,服务器将通过 ADBC 驱动程序使用高性能 Arrow Flight SQL 协议连接,而不是使用标准 MySQL 协议。留空则使用默认的 MySQL 连接。主机、用户和密码取自上文所述的同一组连接设置。 -
STARROCKS_OVERVIEW_LIMIT:(可选)用于限制概览工具(table_overview、db_overview)在获取数据以填充缓存时生成的_总文本_长度的_近似_字符数上限。这有助于避免大型架构或表数量众多时占用过多内存。默认值为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 服务公开其服务的通信模式。可选项: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- 描述: 执行不返回 ResultSet 的 DDL(
CREATE、ALTER、DROP)、DML(INSERT、UPDATE、DELETE)或其他 StarRocks 命令。 - 输入:
{ "query": "SQL command string", "db": "database name (optional, uses default database if not specified)" } - 输出: 确认成功的文本内容(例如“Query OK, X rows affected”)或错误信息。成功后会自动提交更改。
- 描述: 执行不返回 ResultSet 的 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的表健康度计算,过滤掉系统架构,按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", // 如果已设置默认数据库,则为可选项。 "refresh": false // 可选,布尔值。设为 true 可绕过数据库中所有表的缓存。默认为 false。 } - 输出: 包含数据库中所有表概览的文本内容,各表概览以标题分隔。如果无法访问数据库或数据库中没有表,则返回错误消息。
- 描述: 获取指定数据库中_所有_表的概览(列、行数、示例行)。除非
资源
直接资源
starrocks:///databases- 描述: 列出配置用户可访问的所有数据库。
- 等效查询:
SHOW DATABASES - MIME 类型:
text/plain
资源模板
-
starrocks:///{db}/{table}/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- Agent 任务的信息。/cluster_balance- 负载均衡状态信息。/routine_loads- Routine Load 作业的信息。/colocation_group- Colocation Join 组的信息。/catalog- 已配置目录(如 Hive、Iceberg)的信息。
- 描述: 访问 StarRocks 内部系统信息,类似于 Linux
提示词
此服务未定义任何提示词。
缓存行为
table_overview和db_overview工具使用内存缓存存储生成的概览文本。- 缓存键是一个由
(database_name, table_name)组成的元组。 - 调用
table_overview时,会先检查缓存。如果存在结果且refresh参数为false(默认值),则立即返回缓存结果。否则,它会从 StarRocks 获取数据,将其存入缓存,然后返回。 - 调用
db_overview时,会列出数据库中的所有表,然后使用与table_overview相同的缓存逻辑,尝试获取_每个表_的概览(先检查缓存;如果需要且refresh为false或缓存未命中,则获取数据)。如果db_overview的refresh为true,则会强制刷新该数据库中的_所有_表。 - 环境变量
STARROCKS_OVERVIEW_LIMIT为填充缓存时生成的_每个表_概览字符串设定_软性目标_长度上限,有助于控制内存使用。 - 缓存结果(包括首次获取时遇到的任何错误消息)都会被存储,并在后续缓存命中时返回。
调试
启动 mcp server 后,你可以使用 inspector 进行调试:
npx @modelcontextprotocol/inspector
演示

评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
