A
securityA
licenseA
qualityAllows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.
Last updated -
1
580
Python
MIT License
StarRocks MCP 服务器充当 AI 助手和 StarRocks 数据库之间的桥梁。它允许直接执行 SQL、探索数据库、通过图表进行数据可视化以及检索详细的架构/数据概览,而无需复杂的客户端设置。
SELECT
查询( read_query
)和 DDL/DML 命令( write_query
)。starrocks://
资源)。proc://
资源路径访问内部 StarRocks 指标和状态。table_overview
)或整个数据库( db_overview
)的综合摘要,包括列定义、行数和样本数据。query_and_plotly_chart
)。MCP 服务器通常通过 MCP 主机运行。配置会传递给主机,指定如何启动 StarRocks MCP 服务器进程。
使用已安装包的uv
:
使用uv
和本地目录(用于开发):
环境变量:
STARROCKS_HOST
:(可选)StarRocks FE 服务的主机名或 IP 地址。默认为localhost
。STARROCKS_PORT
:(可选)StarRocks FE 服务的 MySQL 协议端口。默认为9030
。STARROCKS_USER
:(可选)StarRocks 用户名。默认为root
。STARROCKS_PASSWORD
:(可选)StarRocks 密码。默认为空字符串。STARROCKS_DB
:(可选)如果工具参数或资源 URI 中未指定,则使用默认数据库。设置后,连接将尝试USE
此数据库。如果table_overview
和db_overview
等工具的参数中省略了数据库部分,则会使用此数据库。默认为空(无默认数据库)。STARROCKS_OVERVIEW_LIMIT
:(可选)概览工具( table_overview
、 db_overview
)在获取数据填充缓存时生成的文本总数的近似字符数限制。这有助于防止非常大的模式或大量的表占用过多的内存。默认为20000
。read_query
SHOW
、 DESCRIBE
)。{ "query": "SQL query string" }
write_query
CREATE
、 ALTER
、 DROP
)、DML( INSERT
、 UPDATE
、 DELETE
)或其他 StarRocks 命令。{ "query": "SQL command string" }
query_and_plotly_chart
TextContent
:DataFrame 的文本表示以及图表用于 UI 显示的注释。ImageContent
:生成的 Plotly 图表以 base64 编码,为 PNG 图像( image/png
)。查询失败或未产生数据时,返回文本错误消息。table_overview
DESCRIBE
)、总行数和示例行数( LIMIT 3
)。除非refresh
为 true,否则使用内存缓存。db_overview
refresh
为 true,否则将使用每个表的表级缓存。starrocks:///databases
SHOW DATABASES
text/plain
starrocks:///{db}/{table}/schema
SHOW CREATE TABLE {db}.{table}
text/plain
starrocks:///{db}/tables
SHOW TABLES FROM {db}
text/plain
proc:///{+path}
/proc
。 path
参数指定所需的信息节点。SHOW PROC '/{path}'
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
有关异步作业(模式更改、汇总等)的信息。/statistic
每个数据库的统计信息。/tasks
有关代理任务的信息。/cluster_balance
负载平衡状态信息。/routine_loads
有关例行加载作业的信息。/colocation_group
- 有关 Colocation Join 组的信息。/catalog
- 有关已配置目录的信息(例如,Hive、Iceberg)。此服务器未定义任何内容。
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
环境变量为填充缓存时每个表生成的概览字符串的最大长度��供了一个软目标,有助于管理内存使用情况。hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
充当 AI 助手和 StarRocks 数据库之间的桥梁,允许直接执行 SQL 和数据库探索,而无需复杂的设置或配置。
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/StarRocks/mcp-server-starrocks'
If you have feedback or need assistance with the MCP directory API, please join our Discord server