StarRocks
oficialInteractuar con StarRocks
¿Qué puedes hacer con StarRocks MCP?
- Ejecutar consultas SQL — Solicita ejecutar sentencias
SELECTmedianteread_queryo comandos DDL/DML a través dewrite_query, con salida opcional a archivo para resultados grandes. - Explorar la estructura de la base de datos — Lista bases de datos y tablas, u obtén esquemas de tablas usando recursos
starrocks://comostarrocks:///{db}/{table}/schema. - Obtener resúmenes de tablas o bases de datos — Usa
table_overviewodb_overviewpara recuperar definiciones de columnas, conteos de filas y datos de muestra, con caché para solicitudes repetidas. - Visualizar resultados de consultas — Genera un gráfico de Plotly directamente desde una consulta SQL usando
query_and_plotly_chart, devolviendo una imagen PNG para mostrar en la interfaz de usuario. - Monitorear la salud del clúster — Identifica las tablas más populares por visitas en el registro de auditoría (
top_hot_tables) o tablas con bajo rendimiento según la puntuación de salud (top_bad_tables). - Acceder a información interna del sistema — Consulta los componentes internos de StarRocks como nodos FE/BE, transacciones o trabajos mediante la ruta de recurso
proc://.
Documentación
Servidor MCP Oficial de StarRocks
El Servidor MCP de StarRocks actúa como un puente entre asistentes de IA y bases de datos StarRocks. Permite la ejecución directa de SQL, exploración de bases de datos, visualización de datos mediante gráficos y la obtención de resúmenes detallados de esquemas/datos sin requerir una configuración compleja en el lado del cliente.
Características
- Ejecución directa de SQL: Ejecute consultas
SELECT(read_query) y comandos DDL/DML (write_query). - Exploración de bases de datos: Liste bases de datos y tablas, obtenga esquemas de tablas (recursos
starrocks://). - Información del sistema: Acceda a métricas y estados internos de StarRocks a través de la ruta de recurso
proc://. - Resúmenes detallados: Obtenga resúmenes completos de tablas (
table_overview) o bases de datos enteras (db_overview), incluyendo definiciones de columnas, recuentos de filas y datos de muestra. - Visualización de datos: Ejecute una consulta y genere un gráfico Plotly directamente desde los resultados (
query_and_plotly_chart). - Caché inteligente: Los resúmenes de tablas y bases de datos se almacenan en caché en memoria para acelerar solicitudes repetidas. La caché se puede omitir cuando sea necesario.
- Configuración flexible: Establezca detalles de conexión y comportamiento mediante variables de entorno.
Requisitos previos
- Python 3.11 o superior.
- Un clúster StarRocks accesible (servicio FE). Por defecto, el servidor se conecta a
localhost:9030a través del protocolo MySQL. uv— un paquete Python rápido y gestor de proyectos (un reemplazo moderno parapip+virtualenv) de Astral. Este proyecto utilizauvpara resolver dependencias, crear el entorno virtual e iniciar el servidor. Los comandosuv runa lo largo de este README crean automáticamente un entorno aislado e instalan las dependencias requeridas en el primer uso, por lo que no se necesita un paso manual depip install.
Instalación de uv
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via Homebrew / pipx / pip
brew install uv
# pipx install uv
# pip install uv
Consulte la guía oficial de instalación de uv para otras opciones. Después de instalar, verifique que esté en su PATH:
uv --version
Instalación
Generalmente no necesita instalar el paquete manualmente — el host MCP lo inicia por usted mediante uv (consulte Configuración a continuación). uv obtiene el paquete y sus dependencias bajo demanda.
Para ejecutarlo directamente para pruebas o desarrollo:
# Run the published package in a throwaway environment
uv run --with mcp-server-starrocks mcp-server-starrocks --help
# Or, from a local checkout of this repository
git clone https://github.com/starrocks/mcp-server-starrocks.git
cd mcp-server-starrocks
uv sync # create the virtual environment and install dependencies
uv run mcp-server-starrocks --help
Configuración
El servidor MCP normalmente se ejecuta a través de un host MCP. La configuración se pasa al host, especificando cómo iniciar el proceso del servidor MCP de StarRocks.
Usando Streamable HTTP (recomendado):
Para iniciar el servidor en modo Streamable HTTP:
Primero verifique que la conexión a StarRocks sea correcta (9030 es el puerto del protocolo MySQL de StarRocks, no el puerto del servidor HTTP):
$ STARROCKS_URL=root:@localhost:9030 uv run mcp-server-starrocks --test
Inicie el servidor:
uv run mcp-server-starrocks --mode streamable-http --port 8000
Luego configure el MCP de esta manera:
{
"mcpServers": {
"mcp-server-starrocks": {
"url": "http://localhost:8000/mcp"
}
}
}
Usando Docker:
Construya la imagen:
docker build -t mcp-server-starrocks:local .
Construya y publique una imagen versionada:
docker build -t <registry>/<namespace>/mcp-starrocks:0.4.0 .
docker push <registry>/<namespace>/mcp-starrocks:0.4.0
Inicie el servidor en modo Streamable HTTP:
docker run --rm -p 8000:8000 \
-e STARROCKS_HOST=host.docker.internal \
-e STARROCKS_PORT=9030 \
-e STARROCKS_USER=root \
-e STARROCKS_PASSWORD='' \
mcp-server-starrocks:local
Luego configure el cliente MCP con:
{
"mcpServers": {
"mcp-server-starrocks": {
"url": "http://localhost:8000/mcp"
}
}
}
Usando uv con paquete instalado (variables de entorno individuales):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": ["run", "--with", "mcp-server-starrocks", "mcp-server-starrocks"],
"env": {
"STARROCKS_HOST": "default localhost",
"STARROCKS_PORT": "default 9030",
"STARROCKS_USER": "default root",
"STARROCKS_PASSWORD": "default empty",
"STARROCKS_DB": "default empty"
}
}
}
}
Usando uv con paquete instalado (URL de conexión):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": ["run", "--with", "mcp-server-starrocks", "mcp-server-starrocks"],
"env": {
"STARROCKS_URL": "root:password@localhost:9030/my_database"
}
}
}
}
Usando uv con directorio local (para desarrollo):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": [
"--directory",
"path/to/mcp-server-starrocks", // <-- Update this path
"run",
"mcp-server-starrocks"
],
"env": {
"STARROCKS_HOST": "default localhost",
"STARROCKS_PORT": "default 9030",
"STARROCKS_USER": "default root",
"STARROCKS_PASSWORD": "default empty",
"STARROCKS_DB": "default empty"
}
}
}
}
Usando uv con directorio local y URL de conexión:
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": [
"--directory",
"path/to/mcp-server-starrocks", // <-- Update this path
"run",
"mcp-server-starrocks"
],
"env": {
"STARROCKS_URL": "root:password@localhost:9030/my_database"
}
}
}
}
Argumentos de línea de comandos:
El servidor admite los siguientes argumentos de línea de comandos:
uv run mcp-server-starrocks --help
--mode {stdio,sse,http,streamable-http}: Modo de transporte (predeterminado: stdio o variable de entorno MCP_TRANSPORT_MODE)--host HOST: Host del servidor para modos HTTP (predeterminado: localhost)--port PORT: Puerto del servidor para modos HTTP--test: Ejecutar en modo de prueba para verificar funcionalidad
Ejemplos:
# Start in streamable HTTP mode on custom host/port
uv run mcp-server-starrocks --mode streamable-http --host 0.0.0.0 --port 8080
# Start in stdio mode (default)
uv run mcp-server-starrocks --mode stdio
# Run test mode
uv run mcp-server-starrocks --test
- El campo
urldebe apuntar al endpoint Streamable HTTP de su servidor MCP (ajuste host/puerto según sea necesario). - Con esta configuración, los clientes pueden interactuar con el servidor usando JSON estándar a través de solicitudes HTTP POST. No se requiere un SDK especial.
- Todas las API de herramientas aceptan y devuelven JSON estándar como se describió anteriormente.
Nota: El modo
sse(Server-Sent Events) está obsoleto y ya no se mantiene. Utilice el modo Streamable HTTP para todas las integraciones nuevas.
Variables de entorno:
Configuración de conexión
Puede configurar la conexión a StarRocks usando variables de entorno individuales o una única URL de conexión:
Opción 1: Variables de entorno individuales
STARROCKS_HOST: (Opcional) Nombre de host o dirección IP del servicio FE de StarRocks. Por defecto:localhost.STARROCKS_PORT: (Opcional) Puerto del protocolo MySQL del servicio FE de StarRocks. Por defecto:9030.STARROCKS_USER: (Opcional) Nombre de usuario de StarRocks. Por defecto:root.STARROCKS_PASSWORD: (Opcional) Contraseña de StarRocks. Por defecto: cadena vacía.STARROCKS_PASSWORD_FILE: (Opcional) Ruta a un archivo de texto UTF-8 que contiene la contraseña. Esto es útil con inyección de secretos basada en archivos, como credenciales systemd. Se ignora un salto de línea final. Solo se usa cuando no se proporciona una contraseña explícita medianteSTARROCKS_PASSWORDoSTARROCKS_URL.STARROCKS_PASSWORD_KEYCHAIN_SERVICE: (Opcional, solo macOS) Nombre del servicio de contraseñas genérico para usar al leer la contraseña desde Keychain. Solo se usa cuando no se configura una contraseña explícita oSTARROCKS_PASSWORD_FILE.STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT: (Opcional, solo macOS) Nombre de cuenta genérico para usar al leer la contraseña desde Keychain. Por defecto: el usuario de StarRocks resuelto.STARROCKS_DB: (Opcional) Base de datos predeterminada para usar si no se especifica en argumentos de herramientas o URI de recursos. Si se establece, la conexión intentaráUSEesta base de datos. Herramientas comotable_overviewydb_overviewusarán esto si la parte de la base de datos se omite en sus argumentos. Por defecto: vacío (sin base de datos predeterminada).STARROCKS_QUERY_TIMEOUT: (Opcional) Número de segundos para esperar los resultados de una consulta antes de rendirse, como entero. Sin establecer por defecto, lo que espera indefinidamente, coincidiendo con el comportamiento anterior. Establezca esto si una consulta atascada o de larga duración debe fallar en lugar de bloquear una llamada de herramienta para siempre.
Opción 2: URL de conexión (tiene prioridad sobre variables individuales)
-
STARROCKS_URL: (Opcional) Una cadena de URL de conexión que contiene todos los parámetros de conexión en una sola variable. Formato:[<schema>://]user:password@host:port/database. La parte del esquema es opcional. Cuando esta variable se establece, tiene prioridad sobre las variables individualesSTARROCKS_HOST,STARROCKS_PORT,STARROCKS_USER,STARROCKS_PASSWORDySTARROCKS_DB.Ejemplos:
root:mypass@localhost:9030/test_dbmysql://admin:secret@db.example.com:9030/productionstarrocks://user:pass@192.168.1.100:9030/analytics
Precedencia de contraseña:
- Una contraseña incrustada en
STARROCKS_URLgana, incluida una contraseña vacía explícita comouser:@host:9030/db. - Si
STARROCKS_URLomite la contraseña, se usaSTARROCKS_PASSWORDcuando está establecida. - Si ninguna fuente de contraseña explícita está establecida y
STARROCKS_PASSWORD_FILEestá configurado, la contraseña se lee de ese archivo. - Si no se configura una contraseña explícita ni un archivo de contraseña y
STARROCKS_PASSWORD_KEYCHAIN_SERVICEestá establecido, la contraseña se lee desde el Keychain de macOS.
Ejemplo de Keychain de macOS
Almacene la contraseña:
security add-generic-password -U -a root -s mcp-server-starrocks -w 'secret'
Verifique la contraseña almacenada:
security find-generic-password -a root -s mcp-server-starrocks -w
Úsela con este servidor:
export STARROCKS_URL=root@localhost:9030/test_db
export STARROCKS_PASSWORD_KEYCHAIN_SERVICE=mcp-server-starrocks
export STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT=root
Credenciales cifradas systemd ejemplo (systemd 250 o posterior)
El servidor no invoca systemd-creds por sí mismo. En el momento de la implementación, un administrador cifra la contraseña; al inicio del servicio, systemd la descifra en el directorio de credenciales del servicio y expone solo la ruta del archivo a este servidor.
Cree una credencial cifrada vinculada al host sin poner la contraseña en el historial del shell:
sudo -v
sudo install -d -m 0700 /etc/credstore.encrypted
sudo systemd-ask-password -n "StarRocks password:" \
| sudo systemd-creds encrypt \
--name=starrocks-password \
- /etc/credstore.encrypted/starrocks-password.cred
Agregue la credencial a la unidad de servicio. El especificador %d se expande al directorio de credenciales específico del servicio:
[Service]
LoadCredentialEncrypted=starrocks-password:/etc/credstore.encrypted/starrocks-password.cred
Environment=STARROCKS_PASSWORD_FILE=%d/starrocks-password
PrivateMounts=yes
Mantenga STARROCKS_PASSWORD sin establecer y omita la contraseña de STARROCKS_URL, luego recargue la unidad y reinicie el servicio. La credencial cifrada normalmente está vinculada al host local (y a su dispositivo TPM2 cuando está disponible); solo se descifra mientras el servicio se está activando. El proceso del servicio y los administradores con privilegios de root aún pueden acceder a la contraseña en texto plano en tiempo de ejecución. No use systemd-creds encrypt --with-key=null, que no proporciona confidencialidad.
Configuración adicional
-
STARROCKS_FE_ARROW_FLIGHT_SQL_PORT: (Opcional) Puerto Arrow Flight SQL del servicio FE de StarRocks. Cuando se establece, el servidor se conecta usando el protocolo Arrow Flight SQL de alto rendimiento (a través de controladores ADBC) en lugar del protocolo MySQL estándar. Déjelo sin establecer para usar la conexión MySQL predeterminada. El host, usuario y contraseña se toman de la misma configuración de conexión descrita anteriormente. -
STARROCKS_OVERVIEW_LIMIT: (Opcional) Un límite de caracteres aproximado para el texto total generado por las herramientas de resumen (table_overview,db_overview) al obtener datos para poblar la caché. Esto ayuda a prevenir el uso excesivo de memoria para esquemas muy grandes o numerosas tablas. Por defecto:20000. -
STARROCKS_MCP_OUTPUT_DIR: (Opcional) Directorio utilizado porread_querycuando su argumentooutput_filees una ruta relativa. Por defecto:~/.mcp-server-starrocks/output/. El directorio se crea bajo demanda. Las rutas absolutas pasadas aoutput_file(incluidas las rutas con prefijo~) omiten esta configuración. Nota: los archivos se escriben en la máquina donde se ejecuta el servidor MCP. Para Claude Code / Claude Desktop, el servidor se ejecuta localmente, por lo que los archivos se guardan en su computadora portátil. Para implementaciones remotas/http, el archivo se guarda en el servidor, no en el cliente. -
STARROCKS_CHART_OUTPUT_DIR: (Opcional) Directorio dondequery_and_plotly_chartescribe gráficos HTML interactivos (cuandoformat="html"). Por defecto: directorio temporal del sistema. El directorio se crea bajo demanda. Nota: como otros archivos de salida, los gráficos se escriben en la máquina donde se ejecuta el servidor MCP. -
STARROCKS_CHART_INCLUDE_PLOTLYJS: (Opcional) Controla cómoplotly.jsse incluye en los gráficos HTML.cdn(predeterminado) mantiene los archivos pequeños pero necesita acceso a la red al visualizar;inline/trueincrusta la biblioteca completa para uso sin conexión;directoryyfalsetambién se aceptan (se pasan alwrite_htmlde Plotly). -
STARROCKS_CHART_DEFAULT_FORMAT: (Opcional) Formato de salida predeterminado paraquery_and_plotly_chartcuando se omite el argumentoformat. Uno dejson,png,jpeg(predeterminado) ohtml. Establezca enhtmlpara escribir siempre un archivo de gráfico interactivo enSTARROCKS_CHART_OUTPUT_DIR(con una vista previa PNG en línea) sin pasarformaten cada llamada. Los valores no válidos vuelven ajpegcon una advertencia. -
STARROCKS_MYSQL_AUTH_PLUGIN: (Opcional) Especifica el complemento de autenticación que se usará al conectarse al servicio FE de StarRocks. Por ejemplo, establezca enmysql_clear_passwordsi su implementación de StarRocks requiere autenticación de contraseña en texto claro (como cuando se usan ciertas configuraciones de autenticación LDAP o externa). Solo establezca esto si su entorno lo requiere específicamente; de lo contrario, se usa el auth_plugin predeterminado.
Configuración TLS / SSL
Estas variables controlan TLS para la conexión. Cuando ninguna de ellas está establecida, el mysql.connector subyacente mantiene su comportamiento predeterminado (ssl-mode=PREFERRED): la conexión se cifra si el servidor admite TLS, pero el certificado del servidor no se verifica. Para seguridad real, proporcione un certificado de CA y habilite la verificación.
STARROCKS_SSL_DISABLED: (Opcional) Establecer atruepara forzar la desactivación de TLS. Anula todas las demás configuraciones SSL. El valor predeterminado esfalse.STARROCKS_SSL_CA: (Opcional) Ruta al certificado CA (PEM) utilizado para verificar el certificado del servidor StarRocks.STARROCKS_SSL_CERT: (Opcional) Ruta al certificado de cliente (PEM) para TLS mutuo (mTLS).STARROCKS_SSL_KEY: (Opcional) Ruta a la clave privada del cliente (PEM) para TLS mutuo (mTLS).STARROCKS_SSL_VERIFY_CERT: (Opcional) Establecer atruepara verificar el certificado del servidor contra la CA. El valor predeterminado esfalse.STARROCKS_SSL_VERIFY_IDENTITY: (Opcional) Establecer atruepara verificar también que el nombre de host del servidor coincida con el certificado. El valor predeterminado esfalse.STARROCKS_TLS_VERSIONS: (Opcional) Lista separada por comas de versiones TLS permitidas, p. ej.TLSv1.2,TLSv1.3.
Ejemplo (verificar el servidor contra un certificado CA):
"env": {
"STARROCKS_HOST": "your-fe-host",
"STARROCKS_PORT": "9030",
"STARROCKS_USER": "root",
"STARROCKS_PASSWORD": "your-password",
"STARROCKS_SSL_CA": "/path/to/ca.pem",
"STARROCKS_SSL_VERIFY_CERT": "true",
"STARROCKS_SSL_VERIFY_IDENTITY": "true"
}
Para la conexión de alto rendimiento Arrow Flight SQL (habilitada mediante STARROCKS_FE_ARROW_FLIGHT_SQL_PORT), TLS se controla por separado:
STARROCKS_FE_ARROW_FLIGHT_SQL_USE_TLS: (Opcional) Establecer atruepara usargrpc+tls://en lugar degrpc://en texto plano. Cuando está habilitado,STARROCKS_SSL_CAse usa como certificado raíz TLS ySTARROCKS_SSL_VERIFY_CERT=false(predeterminado) omite la verificación del certificado del servidor.
Nota de seguridad: evite almacenar contraseñas en texto plano directamente en
mcp.json. Prefiera inyectarSTARROCKS_PASSWORD(y rutas de certificados) desde un administrador de secretos o el entorno, y nunca envíe credenciales al control de versiones.
MCP_TRANSPORT_MODE: (Opcional) Modo de comunicación que especifica cómo el servidor MCP expone sus servicios. Opciones disponibles:stdio(predeterminado): Se comunica a través de entrada/salida estándar, adecuado para el alojamiento del host MCP.streamable-http(HTTP transmisible): Se inicia como un servidor HTTP transmisible, compatible con llamadas API RESTful.sse: (Obsoleto, no recomendado) Se inicia en modo de transmisión Server-Sent Events (SSE), adecuado para escenarios que requieren respuestas de transmisión. Nota: el modo SSE ya no se mantiene, se recomienda usar el modo HTTP transmisible de manera uniforme.
Componentes
Herramientas
-
read_query- Descripción: Ejecuta una consulta SELECT u otros comandos que devuelven un ResultSet (p. ej.,
SHOW,DESCRIBE). Opcionalmente, escribe el resultado completo en un archivo local en lugar de devolverlo en línea; útil para resultados demasiado grandes para caber en el contexto del modelo. - Entrada:
{ "query": "SQL query string", "db": "database name (optional, uses default database if not specified)", "output_file": "optional path; if set, writes the full result to disk and returns only a summary + small preview. Relative paths resolve against STARROCKS_MCP_OUTPUT_DIR (default: ~/.mcp-server-starrocks/output/); absolute paths and ~ are used as-is", "output_format": "optional: csv | tsv | json | jsonl. If omitted, inferred from output_file extension (.csv/.tsv/.json/.jsonl/.ndjson); defaults to csv" } - Salida: Sin
output_file, contenido de texto que contiene los resultados de la consulta en formato similar a CSV con una fila de encabezado y un resumen del recuento de filas. Conoutput_file, un resumen breve que incluye la ruta absoluta resuelta, el recuento de bytes y el recuento de filas, además de una pequeña vista previa. Devuelve un mensaje de error en caso de fallo.
- Descripción: Ejecuta una consulta SELECT u otros comandos que devuelven un ResultSet (p. ej.,
-
write_query- Descripción: Ejecuta un DDL (
CREATE,ALTER,DROP), DML (INSERT,UPDATE,DELETE) u otro comando de StarRocks que no devuelve un ResultSet. - Entrada:
{ "query": "SQL command string", "db": "database name (optional, uses default database if not specified)" } - Salida: Contenido de texto que confirma el éxito (p. ej., "Query OK, X rows affected") o informa de un error. Los cambios se confirman automáticamente en caso de éxito.
- Descripción: Ejecuta un DDL (
-
analyze_query- Descripción: Analiza una consulta y obtiene el resultado del análisis utilizando el perfil de consulta o explain analyze.
- Entrada:
{ "uuid": "Query ID, a string composed of 32 hexadecimal digits formatted as 8-4-4-4-12", "sql": "Query SQL to analyze", "db": "database name (optional, uses default database if not specified)" } - Salida: Contenido de texto que contiene los resultados del análisis de la consulta. Usa
ANALYZE PROFILE FROMsi se proporciona uuid; de lo contrario, usaEXPLAIN ANALYZEsi se proporciona sql.
-
top_hot_tables- Descripción: Obtiene las tablas más populares por recuento de visitas del registro de auditoría. Une
information_schema.tablesconstarrocks_audit_db__.starrocks_audit_tbl__, excluye las sentenciasrootySHOW, compara el texto SQL de auditoría con los nombres de las tablas y ordena porvisit_countdescendente. - Entrada:
{ "db": "optional database/schema filter", "table": "optional table name substring filter", "min_start_time_ms": 1704067200000, "max_start_time_ms": 1704153600000, "top_n": 20 } - Salida: Resumen de texto más contenido estructurado que contiene filas clasificadas con
db,tableyvisit_count.
- Descripción: Obtiene las tablas más populares por recuento de visitas del registro de auditoría. Une
-
top_bad_tables- Descripción: Obtiene las tablas más problemáticas por puntuación de salud de tabla, siguiendo la lógica de
top-bad-tablesde Star Management Studio. Reutiliza el cálculo de salud de tabla basado eninformation_schema.be_tabletsyinformation_schema.partitions_meta, filtra los esquemas del sistema, ordena portable_health_scoreascendente y devuelve las tablas con la puntuación más baja. - Entrada:
{ "db": "optional database/schema filter", "table": "optional table name substring filter", "top_n": 20 } - Salida: Resumen de texto más contenido estructurado que contiene filas clasificadas con campos de salud de tabla como
db,table,tablet_num,replica_score,tablet_scoreytable_health_score.
- Descripción: Obtiene las tablas más problemáticas por puntuación de salud de tabla, siguiendo la lógica de
-
query_and_plotly_chart- Descripción: Ejecuta una consulta SQL, carga los resultados en un DataFrame de Pandas y genera un gráfico Plotly usando una expresión de Python proporcionada. Diseñado para visualización en interfaces de usuario compatibles.
- Entrada:
{ "query": "SQL query to fetch data", "plotly_expr": "Python expression string using 'px' (Plotly Express) and 'df' (DataFrame). Example: 'px.scatter(df, x=\"col1\", y=\"col2\")'", "db": "database name (optional, uses default database if not specified)" } - Salida: Una lista que contiene:
TextContent: Una representación de texto del DataFrame y una nota de que el gráfico es para visualización en la interfaz de usuario.ImageContent: El gráfico Plotly generado codificado como imagen PNG en base64 (image/png). Devuelve un mensaje de error de texto en caso de fallo o si la consulta no produce datos.
-
table_overview- Descripción: Obtiene una descripción general de una tabla específica: columnas (de
DESCRIBE), recuento total de filas y filas de muestra (LIMIT 3). Usa una caché en memoria a menos querefreshsea verdadero. - Entrada:
{ "table": "Table name, optionally prefixed with database name (e.g., 'db_name.table_name' or 'table_name'). If database is omitted, uses STARROCKS_DB environment variable if set.", "refresh": false // Optional, boolean. Set to true to bypass the cache. Defaults to false. } - Salida: Contenido de texto que contiene la descripción general formateada (columnas, recuento de filas, datos de muestra) o un mensaje de error. Los resultados en caché incluyen errores anteriores si corresponde.
- Descripción: Obtiene una descripción general de una tabla específica: columnas (de
-
db_overview- Descripción: Obtiene una descripción general (columnas, recuento de filas, filas de muestra) para todas las tablas dentro de una base de datos especificada. Usa la caché a nivel de tabla para cada tabla a menos que
refreshsea verdadero. - Entrada:
{ "db": "database_name", // Optional if default database is set. "refresh": false // Optional, boolean. Set to true to bypass the cache for all tables in the DB. Defaults to false. } - Salida: Contenido de texto que contiene descripciones generales concatenadas para todas las tablas encontradas en la base de datos, separadas por encabezados. Devuelve un mensaje de error si no se puede acceder a la base de datos o si no contiene tablas.
- Descripción: Obtiene una descripción general (columnas, recuento de filas, filas de muestra) para todas las tablas dentro de una base de datos especificada. Usa la caché a nivel de tabla para cada tabla a menos que
Recursos
Recursos Directos
starrocks:///databases- Descripción: Lista todas las bases de datos accesibles para el usuario configurado.
- Consulta Equivalente:
SHOW DATABASES - Tipo MIME:
text/plain
Plantillas de Recursos
-
starrocks:///{db}/{table}/schema- Descripción: Obtiene la definición de esquema de una tabla específica.
- Consulta Equivalente:
SHOW CREATE TABLE {db}.{table} - Tipo MIME:
text/plain
-
starrocks:///{db}/tables- Descripción: Lista todas las tablas dentro de una base de datos específica.
- Consulta Equivalente:
SHOW TABLES FROM {db} - Tipo MIME:
text/plain
-
proc:///{+path}- Descripción: Accede a la información interna del sistema de StarRocks, similar a Linux
/proc. El parámetropathespecifica el nodo de información deseado. - Consulta Equivalente:
SHOW PROC '/{path}' - Tipo MIME:
text/plain - Rutas Comunes:
/frontends- Información sobre nodos FE./backends- Información sobre nodos BE (para implementaciones no nativas de la nube)./compute_nodes- Información sobre nodos CN (para implementaciones nativas de la nube)./dbs- Información sobre bases de datos./dbs/<DB_ID>- Información sobre una base de datos específica por ID./dbs/<DB_ID>/<TABLE_ID>- Información sobre una tabla específica por ID./dbs/<DB_ID>/<TABLE_ID>/partitions- Información de particiones para una tabla./transactions- Información de transacciones agrupadas por base de datos./transactions/<DB_ID>- Información de transacciones para un ID de base de datos específico./transactions/<DB_ID>/running- Transacciones en ejecución para un ID de base de datos./transactions/<DB_ID>/finished- Transacciones finalizadas para un ID de base de datos./jobs- Información sobre trabajos asíncronos (Schema Change, Rollup, etc.)./statistic- Estadísticas para cada base de datos./tasks- Información sobre tareas de agente./cluster_balance- Información del estado de equilibrio de carga./routine_loads- Información sobre trabajos de Routine Load./colocation_group- Información sobre grupos de Colocation Join./catalog- Información sobre catálogos configurados (p. ej., Hive, Iceberg).
- Descripción: Accede a la información interna del sistema de StarRocks, similar a Linux
Prompts
Ninguno definido por este servidor.
Comportamiento de Caché
- Las herramientas
table_overviewydb_overviewutilizan una caché en memoria para almacenar el texto de descripción general generado. - La clave de caché es una tupla de
(database_name, table_name). - Cuando se llama a
table_overview, primero verifica la caché. Si existe un resultado y el parámetrorefreshesfalse(predeterminado), el resultado en caché se devuelve inmediatamente. De lo contrario, obtiene los datos de StarRocks, los almacena en la caché y luego los devuelve. - Cuando se llama a
db_overview, lista todas las tablas en la base de datos y luego intenta recuperar la descripción general de cada tabla usando la misma lógica de caché quetable_overview(verificando la caché primero, obteniendo si es necesario yrefreshesfalseo hay un error de caché). Sirefreshestrueparadb_overview, fuerza una actualización para todas las tablas en esa base de datos. - La variable de entorno
STARROCKS_OVERVIEW_LIMITproporciona un objetivo flexible para la longitud máxima de la cadena de descripción general generada por tabla al completar la caché, lo que ayuda a gestionar el uso de memoria. - Los resultados en caché, incluidos los mensajes de error encontrados durante la obtención original, se almacenan y se devuelven en aciertos de caché posteriores.
Depuración
Después de iniciar el servidor mcp, puede usar el inspector para depurar:
npx @modelcontextprotocol/inspector
Demo

