StarRocks查询协议服务器

一个为StarRocks数据库提供的只读MCP(模型上下文协议)服务器,允许通过Claude等AI助手查询和探索StarRocks数据。

  • by jason-ung
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jason-ung/starrocks-mcp

使用说明

星岩公司

StarRocks数据库的只读MCP(模型上下文协议)服务器。通过Claude和其他人工智能助手查询和探索您的StarRocks数据。

特征

支持✅

  • SQL查询执行
    • 直接从Claude Desktop执行SQL查询
    • 大型数据集的自动结果截断
  • 表操作
    • 列出所有数据库
    • 列出数据库中的表
    • 获取表架构详细信息
  • LDAP身份验证
    • 安全LDAP身份验证支持
    • 每个用户使用自己的凭据

不支持❌

  • 数据摄取
  • 表/模式创建或修改
  • 用户/权限管理

工具

工具 说明
execute_query 执行SQL查询并返回结果
list_databases 列出StarRocks中的所有数据库
list_tables 列出数据库中的表
describe_table 获取表的详细架构信息

安装

使用uvx(推荐)

uvx --from git+https://github.com/jason-ung/starrocks-mcp starrocks-mcp

使用pip

pip install git+https://github.com/jason-ung/starrocks-mcp
starrocks-mcp

配置

环境变量 必填 默认 描述
STARROCKS_HOST 是 - StarRocks主持人
STARROCKS_PORT 没有 9030 StarRocks港口
STARROCKS_USER 是 - 您的LDAP用户名
STARROCKS_PASSWORD 是 - 您的LDAP密码
STARROCKS_DATABASE 没有 ads 默认数据库
LOG_LEVEL 没有 INFO 日志记录级别
DEFAULT_QUERY_TIMEOUT_MS 没有 30000 默认查询超时(ms)
MAX_QUERY_LENGTH 没有 10000 最大SQL查询长度

Claude桌面设置

添加到您的Claude Desktop配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "starrocks": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jason-ung/starrocks-mcp",
        "starrocks-mcp"
      ],
      "env": {
        "STARROCKS_HOST": "starrocks.datapl.datahou.se",
        "STARROCKS_PORT": "9030",
        "STARROCKS_USER": "your.ldap.username",
        "STARROCKS_PASSWORD": "your_ldap_password",
        "STARROCKS_DATABASE": "ads"
      }
    }
  }
}

⚠️ 重要:替换 your.ldap.username 和 your_ldap_password 使用您的实际LDAP凭据。

使用示例

User: Show me all databases in StarRocks

Claude: [Uses list_databases]
- ads
- search
- user_behavior
User: What tables are in the ads database?

Claude: [Uses list_tables with database="ads"]
- advtr_product_da_preprocessed_log
- advtr_product_sa_preprocessed_log
- campaign_budget
User: Describe the advtr_product_da_preprocessed_log table

Claude: [Uses describe_table with table="advtr_product_da_preprocessed_log"]
Field | Type | Description
----- | ---- | -----------
eventTs | BIGINT | Event timestamp
eventType | VARCHAR | Event type (IMPRESSION, CLICK, etc.)
...
User: Query the top 10 campaigns by impression count

Claude: [Uses execute_query]
SELECT campaignId, COUNT(*) as impression_count
FROM advtr_product_da_preprocessed_log
WHERE eventType = 'IMPRESSION'
  AND base_dt = '2026-01-29'
GROUP BY campaignId
ORDER BY impression_count DESC
LIMIT 10

发展

本地设置

git clone https://github.com/jason-ung/starrocks-mcp.git
cd starrocks-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -e ".[dev]"

# Copy .env.example to .env and configure
cp .env.example .env
# Edit .env with your credentials

# Run the server
starrocks-mcp

测试连接

# Test StarRocks connection
mysql -h starrocks.datapl.datahou.se -P 9030 -u your.username -p --ssl-mode=DISABLED --enable-cleartext-plugin

安全

  • 从不提交凭据:始终对敏感数据使用环境变量
  • 使用个人LDAP帐户:每个用户都应该使用自己的凭据
  • LDAP身份验证:支持通过安全连接进行明文LDAP身份验证
  • 只读操作:此MCP服务器仅支持SELECT查询和元数据操作

许可证

MIT许可证-请参阅 许可证 了解详情。

作者

杰森儿子(@吴)


由...制作❤️ Bucketplace广告团队