Servidor MCP BlazeSQL
Este proyecto implementa un servidor de Protocolo de Contexto de Modelo (MCP) mediante @modelcontextprotocol/sdk
que actúa como proxy para la API de Consultas en Lenguaje Natural de BlazeSQL. Permite que los clientes compatibles con MCP (como Cursor, Claude 3 con uso de herramientas, el Inspector de MCP, etc.) interactúen con BlazeSQL mediante lenguaje natural.
Características
- Construido utilizando la clase auxiliar
McpServer
moderna del SDK de MCP. - Expone la API de consulta de lenguaje natural BlazeSQL como una herramienta MCP llamada
blazesql_query
. - Utiliza
zod
para una validación robusta de los parámetros de entrada de la herramienta. - Maneja la autenticación de clave API de forma segura a través de variables de entorno.
- Se comunica con los clientes utilizando el transporte stdio MCP estándar.
Diagrama de flujo de trabajo
Este diagrama muestra la secuencia de interacciones cuando un cliente usa la herramienta blazesql_query
(Nota: la lógica del servidor interno ahora usa McpServer
, lo que simplifica el registro de la herramienta en comparación con los controladores de bajo nivel que se muestran en el diagrama):
Prerrequisitos
- Node.js (versión LTS recomendada)
- Hilo (clásico o baya)
- Una cuenta BlazeSQL con una clave API (se requiere suscripción a Team Advanced para la API).
- Al menos una conexión de base de datos configurada en su cuenta BlazeSQL.
- Documentación de la API de consulta en lenguaje natural de BlazeSQL: https://help.blazesql.com/en/article/natural-language-query-api-1fgx4au/
Configuración
- Clonar el repositorio:
- Dependencias de instalación:Esto instalará todas las dependencias necesarias, incluidas
@modelcontextprotocol/sdk
,dotenv
yzod
. - Configurar variables de entorno:
- Copie el archivo de entorno de ejemplo:
- Edite el archivo
.env
:ReemplaceYOUR_BLAZESQL_API_KEY_HERE
con su clave API real obtenida de la configuración de su cuenta BlazeSQL.
- Copie el archivo de entorno de ejemplo:
Ejecución del servidor
- Construir el servidor: compilar el código TypeScript en JavaScript:
- Ejecutar el servidor: Ejecute el código compilado:El servidor se iniciará y registrará los mensajes en
stderr
(podría ver "Clave API cargada correctamente...", etc.). Ahora está a la espera de una conexión de cliente MCP mediante la entrada/salida estándar (stdio).
Conexión de un cliente MCP
Este servidor utiliza el mecanismo de transporte stdio .
Uso del inspector MCP (recomendado para pruebas)
- Asegúrese de que el servidor no esté ejecutándose por separado.
- Ejecute el Inspector y dígale que inicie su servidor:
- Se iniciará la interfaz de usuario del Inspector y se conectará automáticamente a su servidor.
- Vaya a la pestaña "Herramientas" para interactuar con la herramienta
blazesql_query
.
Uso de clientes integrados (Cursor, Claude 3, etc.)
- Inicie el servidor en una terminal:
- Configurar el cliente: en la configuración de su cliente MCP, debe agregar una configuración de servidor personalizada.
- Transporte: Seleccionar
stdio
. - Comando: Especifique el comando exacto para ejecutar el servidor. Debe proporcionar la ruta absoluta al nodo y la ruta absoluta al archivo
build/index.js
.- Ejemplo (macOS/Linux - ajuste las rutas según sea necesario):
/usr/local/bin/node /Users/your_username/path/to/blaze-sql-mcp-server/build/index.js
- Puedes encontrar la ruta al nodo usando
which node
en tu terminal. - Puede encontrar la ruta al proyecto usando
pwd
dentro del directorio del proyecto.
- Ejemplo (macOS/Linux - ajuste las rutas según sea necesario):
- Guardar la configuración.
- Transporte: Seleccionar
- El cliente ahora debería poder conectarse a su servidor local y enumerar/utilizar sus herramientas.
Uso de la herramienta blazesql_query
Una vez conectado, el cliente puede llamar a la herramienta blazesql_query
.
- Nombre de la herramienta:
blazesql_query
- Argumentos:
db_id
(cadena, obligatoria): El ID de la conexión a la base de datos de destino en su cuenta de BlazeSQL. Puede encontrar este ID en la aplicación web de BlazeSQL al administrar sus conexiones a la base de datos.natural_language_request
(string, required): La consulta que desea ejecutar, escrita en inglés simple (p. ej., "muéstrame el número total de usuarios"). (La entrada se valida conzod
).
- Ejemplo de llamada (utilizando la sintaxis
mcp test
para ilustración): - Salida: si tiene éxito, la herramienta devuelve un solo bloque de contenido
text
que contiene:- La respuesta en lenguaje natural del agente BlazeSQL.
- La consulta SQL generada dentro de una valla de código Markdown (
sql ...
). - Los datos resultan formateados como JSON dentro de un límite de código Markdown (
json ...
).
Ejemplo de estructura dentro del bloque
text
:Resultado de los datos (JSON):
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 de protocolo de contexto de modelo que permite a los clientes de IA interactuar con la API de consulta de lenguaje natural de BlazeSQL, lo que permite realizar consultas en lenguaje natural en bases de datos SQL.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.Last updated -9PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables natural language queries to MySQL databases, powered by XiYanSQL text-to-SQL technology.Last updated -114PythonApache 2.0
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to query Erick Wendel's talks, blog posts, and videos across different platforms using natural language.Last updated -55TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through natural language, supporting SQL queries, table creation, and schema exploration.Last updated -2Python