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.
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)
- Python 3.8+
- StarRocks database instance
- SQLAlchemy
- MCP Python library
git clone https://github.com/yourusername/mcp-server-starrocks.git
cd mcp-server-starrocks
pip install -e .
npm install @smithery/sdk @modelcontextprotocol/sdk
npx @modelcontextprotocol/inspector uv --directory ~/mcp-server-starrocks run mcp-server-starrocks
python -m mcp_server_starrocks.server --host <starrocks-host> --port <starrocks-port> --user <username> --database <database-name> [--password <password>] [--readonly]
--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)
The server provides the following tools:
read-query
: Execute a SELECT query on the StarRocks databaselist-tables
: List all tables in the StarRocks databasedescribe-table
: Describe the schema of a specific table
write-query
: Execute an INSERT, UPDATE, or DELETE querycreate-table
: Create a new table in the StarRocks database
{
"name": "list-tables",
"arguments": {}
}
{
"name": "read-query",
"arguments": {
"query": "SELECT FROM my_table LIMIT 10"
}
}
{
"name": "describe-table",
"arguments": {
"table_name": "my_table"
}
}
{
"name": "create-table",
"arguments": {
"query": "CREATE TABLE new_table (id INT, name VARCHAR(100))"
}
}
Contributions are welcome! Please feel free to submit a Pull Request.