✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

StarRocks MCP Server

A Model Control Protocol (MCP) server for interacting with StarRocks databases. This server provides a standardized interface for AI models to query and manipulate StarRocks databases through a set of defined tools.

Overview

The StarRocks MCP Server allows AI models to:

  • Execute SELECT queries on StarRocks databases
  • List available tables
  • Describe table schemas
  • Create new tables (when not in read-only mode)
  • Execute write operations like INSERT, UPDATE, DELETE (when not in read-only mode)

Installation

Prerequisites

  • Python 3.8+
  • StarRocks database instance
  • SQLAlchemy
  • MCP Python library

Install from source

git clone https://github.com/yourusername/mcp-server-starrocks.git
cd mcp-server-starrocks
pip install -e .

Install from Smithery

npm install @smithery/sdk @modelcontextprotocol/sdk

Using MCP Inspector

npx @modelcontextprotocol/inspector uv --directory ~/mcp-server-starrocks run mcp-server-starrocks

Usage

Starting the server

python -m mcp_server_starrocks.server --host <starrocks-host> --port <starrocks-port> --user <username> --database <database-name> [--password <password>] [--readonly]

Command-line arguments:

  • --host: StarRocks server host (required)
  • --port: StarRocks server port (default: 9030)
  • --user: StarRocks username (required)
  • --database: StarRocks database name (required)
  • --password: StarRocks password (if required)
  • --readonly: Run the server in read-only mode (optional)

Available Tools

The server provides the following tools:

Read-only tools:

  • read-query: Execute a SELECT query on the StarRocks database
  • list-tables: List all tables in the StarRocks database
  • describe-table: Describe the schema of a specific table

Write tools (available when not in read-only mode):

  • write-query: Execute an INSERT, UPDATE, or DELETE query
  • create-table: Create a new table in the StarRocks database

Examples

Listing tables

{
    "name": "list-tables",
    "arguments": {}
}

Executing a SELECT query

{
    "name": "read-query",
    "arguments": {
        "query": "SELECT FROM my_table LIMIT 10"
    }
}

Describing a table

{
    "name": "describe-table",
    "arguments": {
        "table_name": "my_table"
    }
}

Creating a table (when not in read-only mode)

{
    "name": "create-table",
    "arguments": {
        "query": "CREATE TABLE new_table (id INT, name VARCHAR(100))"
    }
}

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Featured Templates

View More
Data Analysis
Pharmacy Admin Panel
236 1697
Verified Icon
AI Assistants
Speech to Text
133 1501
Customer service
Service ERP
125 754
AI Assistants
AI Chatbot Starter Kit v0.1
129 665
AI Characters
Sarcastic AI Chat Bot
128 1438

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.