使用说明
项目简介
StarRocks MCP Server 是一个 MCP 服务器的实现,它允许大型语言模型(LLM)客户端通过 MCP 协议与 StarRocks 数据库进行交互。该服务器目前主要实现了工具 (Tools) 功能,允许 LLM 客户端调用预定义的工具来执行 StarRocks 数据库的 SQL 查询。
主要功能点
- 工具 (Tools) 支持:
- 'read_query': 执行 SELECT 查询或返回结果集的命令,并将结果以 CSV 格式返回。
- 'write_query': 执行 DDL/DML 或其他不返回结果集的 StarRocks 命令,并返回受影响的行数和执行时间。
- 基于 MCP 协议: 遵循 MCP 协议规范,可以与任何兼容 MCP 协议的 LLM 客户端进行通信。
- 可配置的 StarRocks 连接: 通过环境变量配置 StarRocks 数据库的连接信息,方便灵活部署。
安装步骤
- 环境准备: 确保已安装 Python 环境(推荐 Python 3.8+)。
- 安装依赖: 使用 pip 安装项目依赖。由于 'README.md' 中没有明确 requirements.txt,但 'server.py' 导入了 'mcp' 和 'mysql.connector' 库,以及 'pydantic',初步判断需要安装这些库。
pip install mcp pydantic mysql-connector-python - 下载仓库代码: 从 GitHub 克隆或下载 'mcp-server-starrocks' 仓库代码。
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。以下是根据仓库 'README.md' 和代码分析生成的 MCP 服务器配置信息:
{ "serverName": "mcp-server-starrocks", "command": "uv", "args": [ "run", "--with", "mcp-server-starrocks", "src/mcp_server_starrocks/__init__.py" ], "env": { // StarRocks 主机地址,默认为 localhost "STARROCKS_HOST": "localhost", // StarRocks 端口号,默认为 9030 "STARROCKS_PORT": "9030", // StarRocks 用户名,默认为 root "STARROCKS_USER": "root", // StarRocks 密码,默认为空 "STARROCKS_PASSWORD": "" } }
配置参数说明:
- 'serverName': MCP 服务器的名称,客户端用以识别。
- 'command': 启动 MCP 服务器的命令,这里使用 'uv run' 可能是项目使用的任务运行器 (需要用户环境中有 'uv' 命令,或者根据实际情况调整为 'python' 等命令)。
- 'args': 传递给启动命令的参数,'--with mcp-server-starrocks' 和 'src/mcp_server_starrocks/init.py' 用于指定运行 'mcp-server-starrocks' 以及入口文件。
- 'env': 环境变量配置,用于配置 StarRocks 数据库连接信息。用户需要根据实际 StarRocks 数据库的连接信息修改 'STARROCKS_HOST', 'STARROCKS_PORT', 'STARROCKS_USER', 'STARROCKS_PASSWORD' 环境变量的值。
注意:
- 'uv run' 命令可能需要根据实际环境进行调整。如果您的环境中没有 'uv',可以尝试使用 'python -m src.mcp_server_starrocks' 或 'python src/mcp_server_starrocks/init.py' 作为 'command',并相应调整 'args'。
- 请确保 MCP 客户端能够正确读取和解析上述 JSON 格式的配置信息。
基本使用方法
- 启动 MCP 服务器: 根据上述配置,在安装了必要依赖和配置好环境变量的环境中启动 MCP 服务器。
- 配置 MCP 客户端: 在 LLM 客户端中配置上述服务器配置信息,建立与 StarRocks MCP Server 的连接。
- 调用工具: 在 LLM 应用中,可以通过 MCP 协议调用 'read_query' 和 'write_query' 工具,向 StarRocks 数据库发送 SQL 查询请求,并获取查询结果或执行状态。
- 例如,调用 'read_query' 工具并传入 'query' 参数为 "SELECT * FROM your_table LIMIT 10;",即可执行 SQL 查询并获取结果。
示例 (MCP 客户端请求调用 'read_query' 工具):
{ "jsonrpc": "2.0", "method": "workspace/callTool", "params": { "name": "read_query", "arguments": { "query": "SELECT * FROM your_table LIMIT 10;" } }, "id": 1 }
服务器会执行该 SQL 查询,并将结果以 JSON-RPC 响应返回给客户端。
信息
分类
数据库与文件