使用说明(Markdown 摘要)

  • 项目简介

    • StarRocks MCP Server 是一个实现 MCP 协议的后端服务,负责与 MCP 客户端(如 Claude Code、Gemini CLI 等)通过 Stdio 通道进行 JSON-RPC 交互。服务器本地连接 StarRocks 数据库执行 SQL,并通过中心 API 进行分析编排,支持日志记录、会话管理以及多种传输场景(如 STDIO、SSE、WebSocket 的扩展能力在本实现中以 Stdio 为核心)。
  • 主要功能点

    • 完整的 MCP 服务端实现,处理 MCP 请求/响应,支持 ListTools、CallTool 等核心操作。
    • 本地数据库连接和 SQL 执行(MySQL 协议接口,StarRocks 常用端口)。
    • 通过中心 API 编排工具执行、分析结果多阶段迭代、支持 Prometheus、SSH、日志获取等原子操作。
    • 会话管理与确定性会话键,支持会话恢复、跨请求持续分析。
    • 日志系统:详细的客户端请求、中心请求/响应、数据库查询、Prometheus、SSH、CLI 等日志,并提供脱敏和摘要能力。
    • 功能扩展性:本地工具定义与远端工具列表合并,支持嵌套工具调用和多阶段分析。
  • 安装步骤

    • 先决条件
      • Node.js 版本 >= 18
      • StarRocks 数据库实例可访问(默认端口 9030,账户 root,密码可选)
      • 如使用中心 API,需可访问的中心 API 地址
    • 获取源码并运行
      • 克隆仓库后进入目录,在本地执行 node starrocks-mcp.js 启动服务器。启动时会读取环境变量配置,如 CENTRAL_API、SR_HOST、SR_PORT、SR_USER、SR_PASSWORD、PROMETHEUS_* 等,创建日志目录并写入启动信息。
    • 客户端连接示例(以 Claude Code/Gemini 等 MCP 客户端为例,实际命令请参考客户端文档)
      • 客户端需要知道 MCP 服务器的“启动命令”和参数,以便将该服务器加入到 MCP 客户端的工具列表中并建立连接。
  • 服务器配置(MCP 客户端的启动信息,示例以文本描述形式给出,实际以客户端配置文件为准)

    • 服务器名称(server name):starrocks-expert-thin
    • 启动命令(command):node
    • 启动参数(args):starrocks-mcp.js
    • 环境变量(environment variables,示例,客户端不需要修改,只用于描述服务端运行时所需配置):
      • SR_HOST: 本地 StarRocks 主机地址,例如 localhost
      • SR_PORT: StarRocks 查询端口,例如 9030
      • SR_USER: 数据库用户名,例如 root
      • SR_PASSWORD: 数据库密码(可为空)
      • CENTRAL_API: 中心 API 地址,例如 http://127.0.0.1:3002
      • CENTRAL_API_TOKEN: API 认证 Token(如有需要)
      • PROMETHEUS_PROTOCOL/HOST/PORT: Prometheus 提供的接入信息(如 http、localhost、9090)
  • 基本使用方法

    • 启动服务
      • 在具备所需依赖的环境中执行 Node.js 运行 StarRocks MCP Server(starrocks-mcp.js)。
    • 连接 MCP 客户端
      • 使用 MCP 客户端(如 Claude Code、Gemini CLI)按照各自的配置向服务器发起连接请求,客户端会通过 MCP 协议向服务器请求工具列表、执行工具以及获取分析结果。
    • 交互流程要点
      • 客户端查询工具列表,服务器合并本地定义的工具与远端工具,返回可用工具集合。
      • 客户端调用工具,服务器通过中心 API 编排后返回分析结果,支持多阶段查询与嵌套工具调用。
      • 日志会记录请求/响应、数据库查询、Prometheus 查询、SSH 及 CLI 命令等,便于追踪与调试。
    • 常见问题与排查
      • Node 版本确认、数据库连接参数正确性、中心 API 地址可访问性、日志目录权限等。

如需更多细节,请参阅仓库中的 StarRocks MCP Server 实现文件 starrocks-mcp.js,了解具体的请求处理、工具执行、分析流程与日志输出等实现细节。

信息

分类

AI与计算