CockroachDB
Un servidor para la interacción directa con bases de datos CockroachDB.
Documentación
Servidor MCP de CockroachDB
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
- Clone el repositorio y entre al directorio del proyecto
- Instale las dependencias:
pip install -r requirements.txt
- 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 datospassword: 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 datospassword: 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 keepalivekeepalives_idle=30: Enviar keepalive después de 30 segundos de inactividadkeepalives_interval=10: Enviar keepalive cada 10 segundoskeepalives_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
- Conexión rechazada: Asegúrese de que el servidor CockroachDB esté en ejecución y sea accesible desde su máquina.
- Autenticación fallida: Verifique que el nombre de usuario y la contraseña sean correctos.
- Tiempo de espera de conexión: Verifique que la conexión de red sea estable, especialmente al conectarse a una base de datos remota.
- Problemas con el servidor de base de datos: Verifique que el servidor CockroachDB esté funcionando correctamente.