StarRocks

oficial

Interactuar con StarRocks

¿Qué puedes hacer con Star Rocks MCP?

  • Ejecutar consultas SQL de solo lectura — ejecuta sentencias SELECT, SHOW o DESCRIBE mediante read_query y, opcionalmente, guarda resultados grandes en un archivo.
  • Ejecutar comandos DDL/DML — realiza operaciones CREATE, INSERT, UPDATE o DELETE con write_query y obtén una confirmación de filas afectadas.
  • Explorar esquemas de bases de datos — lista bases de datos, tablas y recupera definiciones de SHOW CREATE TABLE a través de recursos starrocks://.
  • Obtener resúmenes de tablas y bases de datos — usa table_overview o db_overview para obtener definiciones de columnas, conteos de filas y filas de muestra, con almacenamiento en caché en memoria.
  • Visualizar resultados de consultas como gráficos — proporciona una consulta SQL y una expresión de Plotly a query_and_plotly_chart y recibe una imagen del gráfico.
  • Inspeccionar el estado del clúster y puntos críticos — identifica tablas de acceso frecuente con top_hot_tables o tablas con bajo estado con top_bad_tables, y accede a métricas internas del sistema mediante recursos proc://.

Documentación

MseeP.ai Security Assessment Badge

Servidor MCP Oficial de StarRocks

El Servidor MCP de StarRocks actúa como un puente entre los asistentes de IA y las bases de datos StarRocks. Permite la ejecución directa de SQL, la exploración de bases de datos, la visualización de datos mediante gráficos y la obtención de resúmenes detallados de esquemas/datos sin requerir una configuración compleja del lado del cliente.

StarRocks Server MCP server

Características

  • Ejecución Directa de SQL: Ejecuta consultas SELECT (read_query) y comandos DDL/DML (write_query).
  • Exploración de Bases de Datos: Lista bases de datos y tablas, recupera esquemas de tablas (recursos starrocks://).
  • Información del Sistema: Accede a métricas y estados internos de StarRocks a través de la ruta de recurso proc://.
  • Resúmenes Detallados: Obtén resúmenes completos de tablas (table_overview) o bases de datos enteras (db_overview), incluyendo definiciones de columnas, conteo de filas y datos de muestra.
  • Visualización de Datos: Ejecuta una consulta y genera 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 las solicitudes repetidas. La caché se puede omitir cuando sea necesario.
  • Configuración Flexible: Establece los detalles de conexión y el comportamiento mediante variables de entorno.

Prerrequisitos

  • Python 3.11 o más reciente.
  • Un clúster de StarRocks accesible (servicio FE). Por defecto, el servidor se conecta a localhost:9030 a través del protocolo MySQL.
  • uv — un gestor rápido de paquetes y proyectos Python (un reemplazo moderno para pip + virtualenv) de Astral. Este proyecto usa uv para resolver dependencias, crear el entorno virtual y lanzar el servidor. Los comandos uv run a lo largo de este README crean automáticamente un entorno aislado e instalan las dependencias necesarias en el primer uso, por lo que no se necesita un paso manual de pip install.

Instalando 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

Consulta la guía oficial de instalación de uv para otras opciones. Después de instalar, verifica que esté en tu PATH:

uv --version

Instalación

Generalmente no necesitas instalar el paquete manualmente — el host MCP lo lanza por ti a través de uv (consulta Configuración más abajo). 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 se ejecuta típicamente a través de un host MCP. La configuración se pasa al host, especificando cómo lanzar el proceso del servidor MCP de StarRocks.

Usando HTTP Transmisible (recomendado):

Para iniciar el servidor en modo HTTP Transmisible:

Primero prueba que la conexión a StarRocks esté bien (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

Inicia el servidor:

uv run mcp-server-starrocks --mode streamable-http --port 8000

Luego configura el MCP así:

{
  "mcpServers": {
    "mcp-server-starrocks": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

Usando uv con el 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 el 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 soporta los siguientes argumentos de línea de comandos:

uv run mcp-server-starrocks --help
  • --mode {stdio,sse,http,streamable-http}: Modo de transporte (por defecto: stdio o variable de entorno MCP_TRANSPORT_MODE)
  • --host HOST: Host del servidor para modos HTTP (por defecto: localhost)
  • --port PORT: Puerto del servidor para modos HTTP
  • --test: Ejecutar en modo de prueba para verificar la 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 url debe apuntar al endpoint HTTP Transmisible de tu servidor MCP (ajusta host/puerto según sea necesario).
  • Con esta configuración, los clientes pueden interactuar con el servidor usando JSON estándar sobre solicitudes HTTP POST. No se requiere un SDK especial.
  • Todas las APIs de herramientas aceptan y devuelven JSON estándar como se describe arriba.

Nota: El modo sse (Eventos Enviados por el Servidor) está obsoleto y ya no recibe mantenimiento. Por favor, usa el modo HTTP Transmisible para todas las nuevas integraciones.

Variables de Entorno:

Configuración de Conexión

Puedes 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_KEYCHAIN_SERVICE: (Opcional, solo macOS) Nombre del servicio de contraseña genérica a usar al leer la contraseña del Llavero. Esto solo se usa cuando no se proporciona una contraseña explícita a través de STARROCKS_PASSWORD o STARROCKS_URL.
  • STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT: (Opcional, solo macOS) Nombre de cuenta de contraseña genérica a usar al leer la contraseña del Llavero. Por defecto el usuario de StarRocks resuelto.
  • STARROCKS_DB: (Opcional) Base de datos por defecto a usar si no se especifica en los argumentos de la herramienta o URIs de recursos. Si se establece, la conexión intentará hacer USE a esta base de datos. Herramientas como table_overview y db_overview usarán esta si la parte de la base de datos se omite en sus argumentos. Por defecto vacío (sin base de datos por defecto).

Opción 2: URL de Conexión (tiene prioridad sobre las 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 está configurada, tiene prioridad sobre las variables individuales STARROCKS_HOST, STARROCKS_PORT, STARROCKS_USER, STARROCKS_PASSWORD y STARROCKS_DB.

    Ejemplos:

    • root:mypass@localhost:9030/test_db
    • mysql://admin:secret@db.example.com:9030/production
    • starrocks://user:pass@192.168.1.100:9030/analytics

Precedencia de la contraseña:

  • Una contraseña incrustada en STARROCKS_URL gana, incluyendo una contraseña vacía explícita como user:@host:9030/db.
  • Si STARROCKS_URL omite la contraseña, se usa STARROCKS_PASSWORD cuando está configurada.
  • Si no se establece ninguna fuente de contraseña explícita y STARROCKS_PASSWORD_KEYCHAIN_SERVICE está configurado, la contraseña se lee del Llavero de macOS.

Ejemplo de Llavero de macOS

Almacena la contraseña:

security add-generic-password -U -a root -s mcp-server-starrocks -w 'secret'

Verifica la contraseña almacenada:

security find-generic-password -a root -s mcp-server-starrocks -w

Úsala 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

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éjalo sin configurar para usar la conexión MySQL por defecto. 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 usado por read_query cuando su argumento output_file es una ruta relativa. Por defecto ~/.mcp-server-starrocks/output/. El directorio se crea bajo demanda. Las rutas absolutas pasadas a output_file (incluyendo 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 tu portátil. Para despliegues remotos/http el archivo se guarda en el servidor, no en el cliente.

  • STARROCKS_CHART_OUTPUT_DIR: (Opcional) Directorio donde query_and_plotly_chart escribe gráficos HTML interactivos (cuando format="html"). Por defecto el directorio temporal del sistema. El directorio se crea bajo demanda. Nota: al igual que 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ómo se empaqueta plotly.js en los gráficos HTML. cdn (por defecto) mantiene los archivos pequeños pero necesita acceso a la red al visualizarlos; inline/true incrusta la biblioteca completa para uso sin conexión; directory y false también se aceptan (se pasan directamente a write_html de Plotly).

  • STARROCKS_CHART_DEFAULT_FORMAT: (Opcional) Formato de salida por defecto para query_and_plotly_chart cuando se omite el argumento format. Uno de json, png, jpeg (por defecto), o html. Configúralo como html para escribir siempre un archivo de gráfico interactivo en STARROCKS_CHART_OUTPUT_DIR (con una vista previa PNG en línea) sin pasar format en cada llamada. Los valores no válidos vuelven a jpeg con una advertencia.

  • STARROCKS_MYSQL_AUTH_PLUGIN: (Opcional) Especifica el plugin de autenticación a usar al conectarse al servicio FE de StarRocks. Por ejemplo, configúralo como mysql_clear_password si tu despliegue de StarRocks requiere autenticación de contraseña en texto claro (como cuando se usan ciertas configuraciones de LDAP o autenticación externa). Solo configúralo si tu entorno lo requiere específicamente; de lo contrario, se usa el auth_plugin por defecto.

Configuración TLS / SSL

Estas variables controlan TLS para la conexión. Cuando ninguna de ellas está configurada, el mysql.connector subyacente mantiene su comportamiento por defecto (ssl-mode=PREFERRED): la conexión se cifra si el servidor soporta TLS, pero el certificado del servidor no se verifica. Para una seguridad real, proporciona un certificado CA y habilita la verificación.

  • STARROCKS_SSL_DISABLED: (Opcional) Configúralo como true para forzar la desactivación de TLS. Anula todas las demás configuraciones SSL. Por defecto false.
  • STARROCKS_SSL_CA: (Opcional) Ruta al certificado CA (PEM) usado para verificar el certificado del servidor StarRocks.
  • STARROCKS_SSL_CERT: (Opcional) Ruta al certificado del 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) Configúralo como true para verificar el certificado del servidor contra la CA. Por defecto false.
  • STARROCKS_SSL_VERIFY_IDENTITY: (Opcional) Configúralo como true para verificar también que el nombre de host del servidor coincida con el certificado. Por defecto false.
  • 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 a través de STARROCKS_FE_ARROW_FLIGHT_SQL_PORT), TLS se controla por separado:

  • STARROCKS_FE_ARROW_FLIGHT_SQL_USE_TLS: (Opcional) Configúralo como true para usar grpc+tls:// en lugar de texto plano grpc://. Cuando está habilitado, STARROCKS_SSL_CA se usa como certificado raíz TLS y STARROCKS_SSL_VERIFY_CERT=false (por defecto) omite la verificación del certificado del servidor.

Nota de seguridad: evita almacenar contraseñas en texto plano directamente en mcp.json. Prefiere inyectar STARROCKS_PASSWORD (y rutas de certificados) desde un gestor de secretos o entorno, y nunca subas 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 (por defecto): Se comunica a través de entrada/salida estándar, adecuado para alojamiento de Host MCP.
    • streamable-http (HTTP Transmisible): Inicia como un Servidor HTTP Transmisible, soportando llamadas API RESTful.
    • sse: (Obsoleto, no recomendado) Inicia en modo de transmisión de Eventos Enviados por el Servidor (SSE), adecuado para escenarios que requieren respuestas de transmisión. Nota: El modo SSE ya no recibe mantenimiento, 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 (por ejemplo, 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 con los resultados de la consulta en formato similar a CSV con una fila de encabezado y un resumen del conteo de filas. Con output_file, un breve resumen que incluye la ruta absoluta resuelta, el conteo de bytes y el conteo de filas, más una pequeña vista previa. Devuelve un mensaje de error en caso de fallo.
  • write_query

    • Descripción: Ejecuta un comando 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 confirmando el éxito (por ejemplo, "Query OK, X filas afectadas") o informando de un error. Los cambios se confirman automáticamente en caso de éxito.
  • analyze_query

    • Descripción: Analiza una consulta y obtiene el resultado del análisis usando 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 con los resultados del análisis de la consulta. Usa ANALYZE PROFILE FROM si se proporciona uuid, de lo contrario usa EXPLAIN ANALYZE si se proporciona sql.
  • top_hot_tables

    • Descripción: Obtiene las tablas más consultadas según el conteo de visitas del registro de auditoría. Une information_schema.tables con starrocks_audit_db__.starrocks_audit_tbl__, excluye las sentencias root y SHOW, compara el texto SQL de auditoría con los nombres de las tablas y ordena por visit_count de forma descendente.
    • 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, table y visit_count.
  • top_bad_tables

    • Descripción: Obtiene las tablas con peor puntuación según la puntuación de salud de la tabla, siguiendo la lógica top-bad-tables de Star Management Studio. Reutiliza el cálculo de salud de la tabla basado en information_schema.be_tablets y information_schema.partitions_meta, filtra los esquemas del sistema, ordena por table_health_score de forma ascendente 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 la tabla como db, table, tablet_num, replica_score, tablet_score y table_health_score.
  • 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 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:
      1. 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.
      2. ImageContent: El gráfico Plotly generado codificado como una 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 visión general de una tabla específica: columnas (de DESCRIBE), conteo total de filas y filas de muestra (LIMIT 3). Utiliza una caché en memoria a menos que refresh sea 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 visión general formateada (columnas, conteo de filas, datos de muestra) o un mensaje de error. Los resultados en caché incluyen errores anteriores si corresponde.
  • db_overview

    • Descripción: Obtiene una visión general (columnas, conteo de filas, filas de muestra) para todas las tablas dentro de una base de datos especificada. Utiliza la caché a nivel de tabla para cada tabla a menos que refresh sea 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 las visiones 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 no contiene tablas.

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 del 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 /proc de Linux. El parámetro path especifica el nodo de información deseado.
    • Consulta Equivalente: SHOW PROC '/{path}'
    • Tipo MIME: text/plain
    • Rutas Comunes:
      • /frontends - Información sobre los nodos FE.
      • /backends - Información sobre los nodos BE (para despliegues no nativos de la nube).
      • /compute_nodes - Información sobre los nodos CN (para despliegues nativos 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 (Cambio de Esquema, Rollup, etc.).
      • /statistic - Estadísticas para cada base de datos.
      • /tasks - Información sobre tareas de agentes.
      • /cluster_balance - Información del estado de balanceo de carga.
      • /routine_loads - Información sobre trabajos de Carga Rutinaria.
      • /colocation_group - Información sobre grupos de Colocation Join.
      • /catalog - Información sobre catálogos configurados (por ejemplo, Hive, Iceberg).

Prompts

Ninguno definido por este servidor.

Comportamiento de Caché

  • Las herramientas table_overview y db_overview utilizan una caché en memoria para almacenar el texto de la visió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ámetro refresh es false (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 visión general para cada tabla usando la misma lógica de caché que table_overview (verificando primero la caché, obteniendo si es necesario y refresh es false o hay un fallo de caché). Si refresh es true para db_overview, fuerza una actualización para todas las tablas en esa base de datos.
  • La variable de entorno STARROCKS_OVERVIEW_LIMIT proporciona un objetivo flexible para la longitud máxima de la cadena de visión general generada por tabla al poblar la caché, ayudando 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 los aciertos de caché subsiguientes.

Depuración

Después de iniciar el servidor mcp, puede usar el inspector para depurar:

npx @modelcontextprotocol/inspector

Demostración

MCP Demo Image