Servidor MCP de SingleStore
Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con bases de datos SingleStore. Este servidor proporciona herramientas para consultar tablas, describir esquemas y generar diagramas ER.
Características
Listar todas las tablas en la base de datos
Ejecutar consultas SQL personalizadas
Obtenga información detallada de la tabla, incluido el esquema y los datos de muestra
Generar diagramas ER de sirena del esquema de base de datos
Compatibilidad con SSL con obtención automática de paquetes de CA
Manejo adecuado de errores y seguridad de tipos en TypeScript
Prerrequisitos
Node.js 16 o superior
npm o hilo
Acceso a una base de datos SingleStore
Paquete CA de SingleStore (obtenido automáticamente del portal)
Instalación
Instalación mediante herrería
Para instalar SingleStore MCP Server para Claude Desktop automáticamente a través de Smithery :
Clonar el repositorio:
Instalar dependencias:
Construir el servidor:
Variables de entorno
Variables de entorno requeridas
El servidor requiere las siguientes variables de entorno para la conexión a la base de datos:
Todas estas variables de entorno son necesarias para que el servidor establezca una conexión con su base de datos de SingleStore. La conexión utiliza SSL con el paquete de CA de SingleStore, que se obtiene automáticamente del portal de SingleStore.
Variables de entorno opcionales
Para compatibilidad con el protocolo SSE (eventos enviados por el servidor):
Configuración de variables de entorno
En su shell : configure las variables en su terminal antes de ejecutar el servidor:
En los archivos de configuración del cliente : agregue las variables a su archivo de configuración del cliente MCP como se muestra en las secciones de integración a continuación.
Uso
Soporte de protocolo
Este servidor admite dos protocolos para la integración de clientes:
Protocolo MCP : el protocolo de contexto de modelo estándar que utiliza la comunicación stdio, utilizado por Claude Desktop, Windsurf y Cursor.
Protocolo SSE : eventos enviados por el servidor a través de HTTP para clientes y aplicaciones basados en web que necesitan transmisión de datos en tiempo real.
Ambos protocolos exponen las mismas herramientas y funcionalidades, lo que le permite elegir el mejor método de integración para su caso de uso.
Herramientas disponibles
listas_de_tablas
Enumera todas las tablas de la base de datos
No se requieren parámetros GXP8
tabla de consulta
Ejecuta una consulta SQL personalizada
Parámetros:
consulta: cadena de consulta SQL GXP9
describe_tabla
Obtiene información detallada sobre una tabla
Parámetros:
tabla: Nombre de la tabla GXP10
generar_diagrama_er
Genera un diagrama ER de sirena del esquema de la base de datos
No se requieren parámetros GXP11
ejecutar_lectura_consulta
Ejecuta una consulta de solo lectura (SELECT) en la base de datos
Parámetros:
consulta: consulta SQL SELECT para ejecutar GXP12
crear_tabla
Crear una nueva tabla en la base de datos con columnas y restricciones específicas
Parámetros:
table_name: Nombre de la tabla a crear
columnas: Matriz de definiciones de columnas
table_options: Configuración de tabla opcional GXP13
generar_datos_sintéticos
Generar e insertar datos sintéticos en una tabla existente
Parámetros:
tabla: Nombre de la tabla en la que se insertarán los datos
count: Número de filas a generar (predeterminado: 100)
column_generators: generadores personalizados para columnas específicas
batch_size: Número de filas a insertar en cada lote (predeterminado: 1000) GXP14
optimizar_sql
Analizar una consulta SQL utilizando PROFILE y proporcionar recomendaciones de optimización
Parámetros:
consulta: Consulta SQL para analizar y optimizar GXP15
La respuesta incluye:
Consulta original
Resumen del perfil de rendimiento (tiempo total de ejecución, tiempo de compilación, tiempo de ejecución)
Lista de cuellos de botella detectados
Recomendaciones de optimización con niveles de impacto (alto/medio/bajo)
Sugerencias para índices, uniones, uso de memoria y otras optimizaciones
Ejecución independiente
Construir el servidor:
Ejecute el servidor solo con el protocolo MCP:
Ejecute el servidor con los protocolos MCP y SSE:
Uso del protocolo SSE
Cuando SSE está habilitado, el servidor expone los siguientes puntos finales HTTP:
Punto final raíz
Devuelve información del servidor y los puntos finales disponibles.
Chequeo de salud
Devuelve información de estado sobre el servidor.
Conexión SSE
Establece una conexión de eventos enviados por el servidor para actualizaciones en tiempo real.
Herramientas de lista
Devuelve una lista de todas las herramientas disponibles, igual que la funcionalidad
list_tools
de MCP.También admite solicitudes POST para compatibilidad con MCP Inspector:
Herramienta de llamada
Ejecuta una herramienta con los argumentos proporcionados.
Si se proporciona
client_id
, la respuesta se transmite a ese cliente SSE.Si se omite
client_id
, la respuesta se devuelve directamente en la respuesta HTTP.
También admite el formato MCP estándar para compatibilidad con MCP Inspector:
Tipos de eventos de SSE
Al utilizar conexiones SSE, el servidor envía los siguientes tipos de eventos:
mensaje (evento sin nombre): se envía cuando se establece correctamente una conexión SSE.
abierto : Evento de conexión adicional establecida.
mensaje : se utiliza para todos los mensajes del protocolo MCP, incluidos eventos de inicio de herramienta, resultado y error.
Todos los eventos siguen el formato JSON-RPC 2.0 del protocolo MCP. El sistema utiliza el tipo de evento message
estándar para garantizar la compatibilidad con el Inspector de MCP y la mayoría de las bibliotecas cliente de SSE.
Ejemplo de cliente JavaScript
Uso con MCP Inspector
El Inspector MCP es una herramienta basada en navegador para probar y depurar servidores MCP. Para usarlo con este servidor:
Inicie el servidor y el inspector MCP con un solo comando:
O iniciar solo el servidor con:
Para instalar y ejecutar MCP Inspector por separado:
El inspector se abrirá en su navegador predeterminado.
Cuando se abre el Inspector MCP:
a. Introduzca la URL en el campo de conexión:
Nota: El puerto real puede variar según la configuración. Consulte los registros de inicio del servidor para conocer el puerto utilizado. El servidor mostrará:
b. Asegúrese de que "SSE" esté seleccionado como tipo de transporte.
c. Haga clic en "Conectar".
Si tiene problemas de conexión, pruebe estas alternativas:
a. Intente conectarse a un punto final específico:
b. Intente usar la dirección IP real de su máquina:
c. Si se ejecuta en Docker:
Depuración de problemas de conexión :
a. Verifique que el servidor esté en funcionamiento visitando http://localhost:8081 en su navegador.
b. Verifique los registros del servidor para ver si hay intentos de conexión.
c. Intente reiniciar tanto el servidor como el inspector.
d. Asegúrese de que ningún otro servicio esté utilizando el puerto 8081
e. Pruebe la conexión SSE con el script proporcionado:
O manualmente con curl:
f. Verifique que la configuración de su firewall permita conexiones al puerto 8081
Una vez conectado, el inspector mostrará todas las herramientas disponibles y le permitirá probarlas de forma interactiva.
⚠️ Nota : Al utilizar el Inspector MCP, debe utilizar la URL completa, incluido el prefijo http://
.
Integración de clientes MCP
Instalación en Claude Desktop
Agregue la configuración del servidor a su archivo de configuración de Claude Desktop ubicado en:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
Las variables SSE_ENABLED y SSE_PORT son opcionales. Inclúyalas si desea habilitar el servidor HTTP con compatibilidad con SSE junto con el protocolo MCP estándar.
Reiniciar la aplicación de escritorio Claude
En tu conversación con Claude, ahora puedes usar el servidor SingleStore MCP con:
Instalación en Windsurf
Agregue la configuración del servidor a su archivo de configuración de Windsurf ubicado en:
macOS:
~/Library/Application Support/Windsurf/config.json
Ventanas:
%APPDATA%\Windsurf\config.json
Las variables SSE_ENABLED y SSE_PORT son opcionales, pero habilitan funcionalidad adicional a través del servidor HTTP SSE.
Reiniciar Windsurf
En su conversación con Claude en Windsurf, las herramientas MCP de SingleStore estarán disponibles automáticamente cuando Claude necesite acceder a la información de la base de datos.
Instalación en Cursor
Añade la configuración del servidor a la configuración del cursor:
Cursor abierto
Vaya a Configuración (icono de engranaje) > Extensiones > Claude AI > Servidores MCP
Agregue un nuevo servidor MCP con la siguiente configuración:
Las variables SSE_ENABLED y SSE_PORT permiten que las aplicaciones web se conecten al servidor a través de HTTP y reciban actualizaciones en tiempo real a través de eventos enviados por el servidor.
Reiniciar cursor
Al utilizar Claude AI dentro de Cursor, las herramientas SingleStore MCP estarán disponibles para las operaciones de la base de datos.
Consideraciones de seguridad
Nunca envíe credenciales al control de versiones
Utilice variables de entorno o gestión de configuración segura
Considere utilizar un mecanismo de agrupación de conexiones para uso en producción
Implementar controles de acceso y permisos de usuario adecuados en SingleStore
Mantenga actualizado el paquete SingleStore CA
Desarrollo
Estructura del proyecto
Edificio
Pruebas
Solución de problemas
Problemas de conexión
Verifique las credenciales y la información del host en sus variables de entorno
Comprobar la configuración de SSL
Asegúrese de que la base de datos sea accesible desde su red
Verifique la configuración de su firewall para permitir conexiones salientes a su base de datos SingleStore
Problemas de compilación
Borrar node_modules y reinstalar las dependencias
Verificar la configuración de TypeScript
Comprobar la compatibilidad de la versión de Node.js (debe ser 16+)
Problemas de integración de MCP
Verifique que la ruta al archivo build/index.js del servidor sea correcta en la configuración de su cliente
Compruebe que todas las variables de entorno estén configuradas correctamente en la configuración de su cliente
Reinicie su aplicación cliente después de realizar cambios de configuración
Verifique los registros del cliente para ver si hay mensajes de error relacionados con el servidor MCP
Intente ejecutar primero el servidor de forma independiente para validar que funciona fuera del cliente
Contribuyendo
Bifurcar el repositorio
Crear una rama de características
Confirme sus cambios
Empujar hacia la rama
Crear una solicitud de extracción
Licencia
Licencia MIT: consulte el archivo de LICENCIA para obtener más detalles
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Un servidor para interactuar con bases de datos SingleStore, que permite la consulta de tablas, descripciones de esquemas y generación de diagramas ER con soporte SSL seguro y seguridad TypeScript.
- Características
- Prerrequisitos
- Instalación
- Variables de entorno
- Uso
- Integración de clientes MCP
- Consideraciones de seguridad
- Desarrollo
- Solución de problemas
- Contribuyendo
- Licencia
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA server that enables running SQL queries against IoTDB databases, providing data reading capabilities and schema information through a Model Context Protocol interface.Last updated -428Apache 2.0
- AsecurityAlicenseAqualityA server that connects to PostgreSQL databases and provides tools for safely exploring schemas, running read-only SQL queries, and performing data analysis with pre-built templates.Last updated -65951MIT License
- -securityAlicense-qualityA TypeScript-based server project with comprehensive development tooling including testing, linting, and build configurations.Last updated -MIT License
- -securityFlicense-qualityA server that exposes SQLite database operations as tools, allowing natural language interactions with a database through LlamaIndex and Ollama LLM integration.Last updated -1