Skip to main content
Glama

StarRocks MCP Server

StarRocks MCP Server

一个专业的 TypeScript 版本的 StarRocks MCP (Model Context Protocol) 服务器实现。

功能特性

  • 🔌 完整的 MCP 协议支持 - 实现了标准的 MCP 协议
  • 🗄️ StarRocks 数据库集成 - 支持 StarRocks 数据库的所有操作
  • 🛠️ 多种 SQL 操作 - 支持 SELECT、INSERT、UPDATE、DELETE、CREATE TABLE 等
  • 🔒 安全性 - 内置 SQL 验证和错误处理
  • 📝 完整的日志系统 - 支持不同级别的日志记录
  • 🧪 测试覆盖 - 包含完整的单元测试
  • 📦 TypeScript 支持 - 完整的类型定义和类型安全

支持的 MCP 工具

工具名称描述参数
run_sql_query执行只读 SQL 查询(仅限 SELECT 语句)query: string
create_table在 StarRocks 数据库中创建新表query: string
insert_data向 StarRocks 数据库表插入数据query: string
update_data更新 StarRocks 数据库表中的数据query: string
delete_data从 StarRocks 数据库表中删除数据query: string
execute_sql执行任意非 SELECT 的 SQL 语句query: string

安装和设置

1. 克隆项目

git clone https://github.com/your-username/StarRocks-MCP.git cd StarRocks-MCP

2. 安装依赖

npm install

3. 配置环境变量

复制环境变量示例文件:

cp env.example .env

编辑 .env 文件,配置你的 StarRocks 数据库连接信息:

# StarRocks Database Configuration STARROCKS_HOST=localhost STARROCKS_PORT=9030 STARROCKS_USER=root STARROCKS_PASSWORD=your_password_here STARROCKS_DATABASE=your_database_name # Optional Configuration STARROCKS_CHARSET=utf8mb4 STARROCKS_TIMEZONE=local STARROCKS_CONNECTION_LIMIT=10 STARROCKS_ACQUIRE_TIMEOUT=60000 STARROCKS_TIMEOUT=60000 # Logging Configuration NODE_ENV=production LOG_LEVEL=info

4. 构建项目

npm run build

5. 运行服务器

npm start

开发

开发模式运行

npm run dev

运行测试

npm test

代码检查

npm run lint

代码格式化

npm run format

项目结构

src/ ├── connection/ # 数据库连接管理 │ └── StarRocksConnection.ts ├── server/ # MCP 服务器核心 │ └── StarRocksMCPServer.ts ├── types/ # TypeScript 类型定义 │ └── index.ts ├── utils/ # 工具类 │ ├── ErrorHandler.ts │ ├── Logger.ts │ └── SqlValidator.ts ├── tests/ # 测试文件 │ ├── setup.ts │ └── StarRocksConnection.test.ts └── index.ts # 主入口文件

使用示例

1. 查询数据

{ "method": "tools/call", "params": { "name": "run_sql_query", "arguments": { "query": "SELECT * FROM users WHERE age > 18;" } } }

2. 创建表

{ "method": "tools/call", "params": { "name": "create_table", "arguments": { "query": "CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100), age INT);" } } }

3. 插入数据

{ "method": "tools/call", "params": { "name": "insert_data", "arguments": { "query": "INSERT INTO users (id, name, age) VALUES (1, 'John', 25);" } } }

配置选项

数据库配置

配置项默认值描述
STARROCKS_HOSTlocalhostStarRocks 服务器主机
STARROCKS_PORT9030StarRocks 服务器端口
STARROCKS_USERroot数据库用户名
STARROCKS_PASSWORD''数据库密码
STARROCKS_DATABASEundefined默认数据库名
STARROCKS_CHARSETutf8mb4字符集
STARROCKS_TIMEZONElocal时区

连接配置

配置项默认值描述
STARROCKS_CONNECTION_LIMIT10连接池大小
STARROCKS_ACQUIRE_TIMEOUT60000获取连接超时时间(毫秒)
STARROCKS_TIMEOUT60000查询超时时间(毫秒)

日志配置

配置项默认值描述
LOG_LEVELinfo日志级别(debug, info, warn, error)
NODE_ENVproduction运行环境

错误处理

服务器包含完整的错误处理机制:

  • 连接错误 - 自动重连和错误恢复
  • SQL 错误 - 详细的错误信息和建议
  • MCP 协议错误 - 标准化的错误响应
  • 日志记录 - 完整的错误日志记录

安全性

  • ✅ SQL 注入防护
  • ✅ 参数化查询
  • ✅ 输入验证
  • ✅ 错误信息过滤
  • ✅ 连接池管理

贡献

欢迎提交 Issue 和 Pull Request!

开发指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request

许可证

MIT License - 详见 LICENSE 文件

支持

如果你遇到问题或有建议,请:

  1. 查看 Issues
  2. 创建新的 Issue
  3. 联系维护团队

StarRocks MCP Server - 让 StarRocks 数据库操作更简单、更安全!

-
security - not tested
F
license - not found
-
quality - not tested

A TypeScript implementation of a Model Context Protocol server that enables interaction with StarRocks databases, supporting SQL operations like queries, table creation, and data manipulation through standardized MCP tools.

  1. 功能特性
    1. 支持的 MCP 工具
      1. 安装和设置
        1. 1. 克隆项目
        2. 2. 安装依赖
        3. 3. 配置环境变量
        4. 4. 构建项目
        5. 5. 运行服务器
      2. 开发
        1. 开发模式运行
        2. 运行测试
        3. 代码检查
        4. 代码格式化
      3. 项目结构
        1. 使用示例
          1. 1. 查询数据
          2. 2. 创建表
          3. 3. 插入数据
        2. 配置选项
          1. 数据库配置
          2. 连接配置
          3. 日志配置
        3. 错误处理
          1. 安全性
            1. 贡献
              1. 开发指南
            2. 许可证
              1. 支持

                Related MCP Servers

                • A
                  security
                  F
                  license
                  A
                  quality
                  A TypeScript-based template for developing Model Context Protocol servers with features like dependency injection and service-based architecture, facilitating the creation and integration of custom data processing tools.
                  Last updated -
                  1
                  9
                  4
                  TypeScript
                • A
                  security
                  A
                  license
                  A
                  quality
                  A TypeScript-based template for building Model Context Protocol servers, featuring fast testing, automated version management, and a clean structure for MCP tool implementations.
                  Last updated -
                  1
                  568
                  4
                  TypeScript
                  MIT License
                • A
                  security
                  A
                  license
                  A
                  quality
                  A TypeScript implementation of a Model Context Protocol server providing tools to help developers work with Starwind UI components.
                  Last updated -
                  6
                  TypeScript
                  MIT License
                • -
                  security
                  F
                  license
                  -
                  quality
                  A Model Context Protocol server implementation that provides a simple interface to interact with PostgreSQL databases, enabling SQL queries, database operations, and schema management through MCP.
                  Last updated -
                  Python

                View all related MCP servers

                MCP directory API

                We provide all the information about MCP servers via our MCP API.

                curl -X GET 'https://glama.ai/api/mcp/v1/servers/alittleyellowkevin/StarRocks-MCP'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server