StarRocks MCP服务器Docker镜像
集装箱 模型上下文协议(MCP) 服务器 星石,使人工智能助手能够与StarRocks数据库进行交互。
概述
这个Docker镜像打包了 mcp服务器starrocks 带有添加健康检查端点的自定义包装器的Python包。它跑进去了 可流式传输http 模式,为MCP客户端暴露HTTP端点。
快速开始
docker run -d \
-p 8000:8000 \
-e STARROCKS_HOST=your-starrocks-host \
-e STARROCKS_PORT=9030 \
-e STARROCKS_USER=root \
-e STARROCKS_PASSWORD=your-password \
ghcr.io/radiant-network/radiant-mcp:latest端点
| 端点 | 方法 | 描述 |
|---|---|---|
/mcp | POST | MCP协议端点(基于HTTP的JSON-RPC) |
/health | GET | 健康检查-返回数据库连接状态 |
/ready | GET | 就绪检查-返回服务器状态 |
健康检查响应
{"status": "healthy", "database": "connected"}正常时返回HTTP 200,数据库断开连接时返回HTTP 503。
准备就绪检查响应
{"status": "ready"}环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
STARROCKS_HOST | 是 | - | StarRocks FE(前端)主机名或IP |
STARROCKS_PORT | 没有 | 9030 | StarRocks FE查询端口 |
STARROCKS_USER | 是 | - | 数据库用户名 |
STARROCKS_PASSWORD | 是 | - | 数据库密码 |
STARROCKS_DB | 否 | - | 要使用的默认数据库 |
STARROCKS_OVERVIEW_LIMIT | 无 | - | 概览查询限制(内存管理) |
替代方案:连接URL
您可以使用单个连接URL来代替单个变量:
docker run -d \
-p 8000:8000 \
-e STARROCKS_URL="user:password@host:9030/database" \
ghcr.io/radiant-network/radiant-mcp:latest塑造形象
docker build -t radiant-mcp:latest .容器配置
端口映射
服务器监听容器内的端口8000。
健康检查
对于容器编排(Docker Compose、Kubernetes、ECS):
curl -f http://localhost:8000/healthDocker编写示例
services:
radiant-mcp:
image: ghcr.io/radiant-network/radiant-mcp:latest
ports:
- "8000:8000"
environment:
STARROCKS_HOST: starrocks-fe
STARROCKS_PORT: 9030
STARROCKS_USER: root
STARROCKS_PASSWORD: ${STARROCKS_PASSWORD}
STARROCKS_DB: my_database
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3部署考虑
- 记忆:由于pandas/pyrow依赖关系,建议至少1GB
- 秘密:商店
STARROCKS_PASSWORD安全(例如,AWS Secrets Manager、Kubernetes Secrets)
MCP客户端配置
配置您的MCP客户端以连接到服务器:
{
"mcpServers": {
"starrocks": {
"url": "http://localhost:8000/mcp"
}
}
}可用的MCP工具
| 工具 | 说明 |
|---|---|
read_query | 执行SELECT查询 |
write_query | 执行DDL/DML命令 |
analyze_query | 分析查询性能 |
table_overview | 获取表架构和示例数据 |
db_summary | 使用表架构获取数据库摘要 |
query_and_plotly_chart | 执行查询并生成Plotly图表 |
许可证
请参阅 上游仓库 获取许可证信息。
