CockroachDB

Un servidor para la interacción directa con bases de datos CockroachDB.

Documentación

Servidor MCP de CockroachDB

smithery badge English | 简体中文

Este es un servidor MCP de CockroachDB para Cursor, implementado según la especificación del Protocolo de Contexto de Modelo (MCP), que le permite interactuar directamente con la base de datos CockroachDB en Cursor.

Características

  • Conectar a la base de datos CockroachDB
  • Obtener todas las tablas de la base de datos
  • Obtener información de la estructura de tablas
  • Ejecutar consultas SQL
  • Proporcionar recursos de estado de la base de datos
  • Proporcionar plantillas de consultas SQL
  • Mecanismo de reconexión automática para garantizar la estabilidad de la conexión
  • Mecanismo de mantenimiento de conexión activa para evitar tiempos de espera
  • Manejo adecuado de la salida del proceso
  • Registro detallado para la resolución de problemas
  • Soporte de desconexión manual

Instalación

Instalación mediante Smithery

Para instalar automáticamente el Servidor MCP de CockroachDB para Claude Desktop a través de Smithery:

npx -y @smithery/cli install @Swayingleaves/cockroachdb-mcp-server --client claude
  1. Clone el repositorio y entre al directorio del proyecto
  2. Instale las dependencias:
pip install -r requirements.txt
  1. Instale uv
curl -LsSf https://astral.sh/uv/install.sh | sh

Uso en Cursor

{
    "mcpServers": {
        "cockroachdb-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/Users/local/cockroachdb-mcp",
                "run",
                "server.py"
            ],
            "jdbc_url": "jdbc:postgresql://localhost:26257/defaultdb",
            "username": "root",
            "password": "root"
        }
    }
  }

Descripción de funciones MCP

Herramientas

connect_database

Conectar a la base de datos CockroachDB.

Parámetros:

  • jdbc_url: URL de conexión JDBC (por ejemplo, jdbc:postgresql://localhost:26257/defaultdb)
  • username: Nombre de usuario de la base de datos
  • password: Contraseña de la base de datos

initialize_connection

Inicializar la conexión a la base de datos; se puede llamar inmediatamente después de conectarse al servidor MCP para establecer una conexión con la base de datos.

Parámetros:

  • jdbc_url: URL de conexión JDBC (por ejemplo, jdbc:postgresql://localhost:26257/defaultdb)
  • username: Nombre de usuario de la base de datos
  • password: Contraseña de la base de datos

disconnect_database

Desconectar manualmente de la base de datos.

Sin parámetros.

get_tables

Obtener todas las tablas de la base de datos.

Sin parámetros.

get_table_schema

Obtener información de la estructura de una tabla especificada.

Parámetros:

  • table_name: Nombre de la tabla

execute_query

Ejecutar una consulta SQL.

Parámetros:

  • query: Sentencia de consulta SQL

Recursos

db://status

Obtener el estado de la conexión a la base de datos.

Devuelve:

  • Cuando no está conectado: "Not connected"
  • Cuando está conectado: "Connected - [Database version]"
  • Cuando hay un error de conexión: "Connection error - [Error message]"

Prompts

sql_query_template

Plantilla de consulta SQL para ayudar a los usuarios a escribir consultas SQL.

Registros

Los registros del servidor se guardan en el archivo logs/cockroachdb_mcp.log. Puede revisar este archivo para conocer el estado de ejecución del servidor y los registros detallados.

El archivo de registro utiliza un mecanismo de rotación de registros; cada archivo de registro tiene un tamaño máximo de 10 MB y conserva hasta 5 archivos de respaldo para evitar un uso excesivo del espacio en disco.

Manejo de caracteres especiales

Este servidor utiliza psycopg2 para conectarse directamente a la base de datos CockroachDB, que maneja automáticamente los caracteres especiales en nombres de usuario y contraseñas sin necesidad de codificación adicional en la URL. Esto garantiza una conexión correcta a la base de datos incluso cuando la contraseña contiene caracteres especiales (como @, %, &, etc.).

Configuración de TCP keep-alive

El servidor está configurado con el mecanismo TCP keep-alive por defecto para evitar que las conexiones se cierren por largos períodos de inactividad:

  • keepalives=1: Habilitar TCP keepalive
  • keepalives_idle=30: Enviar keepalive después de 30 segundos de inactividad
  • keepalives_interval=10: Enviar keepalive cada 10 segundos
  • keepalives_count=5: Abandonar después de 5 intentos

Resolución de problemas

Si encuentra problemas, revise el archivo de registro logs/cockroachdb_mcp.log, que le ayudará a comprender el estado de ejecución del servidor y los posibles problemas.

Problemas comunes

  1. Conexión rechazada: Asegúrese de que el servidor CockroachDB esté en ejecución y sea accesible desde su máquina.
  2. Autenticación fallida: Verifique que el nombre de usuario y la contraseña sean correctos.
  3. Tiempo de espera de conexión: Verifique que la conexión de red sea estable, especialmente al conectarse a una base de datos remota.
  4. Problemas con el servidor de base de datos: Verifique que el servidor CockroachDB esté funcionando correctamente.