Implementación de un servidor de Protocolo de Contexto de Modelo (MCP) para la plataforma de base de datos Nile. Este servidor permite que las aplicaciones LLM interactúen con la plataforma Nile a través de una interfaz estandarizada.
Características
Gestión de bases de datos : crear, enumerar, obtener detalles y eliminar bases de datos
Gestión de credenciales : crear y enumerar credenciales de bases de datos
Gestión de regiones : enumera las regiones disponibles para la creación de bases de datos
Compatibilidad con consultas SQL : ejecute consultas SQL directamente en las bases de datos de Nile
Compatibilidad con el protocolo MCP : implementación completa del protocolo de contexto de modelo
Seguridad de tipos : escrito en TypeScript con verificación de tipos completa
Manejo de errores : Manejo de errores integral y mensajes de error fáciles de usar
Cobertura de pruebas : conjunto completo de pruebas con Jest
Gestión del entorno : Carga automática de variables de entorno desde el archivo .env
Validación de entrada : Validación de entrada basada en esquemas utilizando Zod
Instalación
Instalar la versión estable:
Para la última versión alfa/previa:
Esto instalará @niledatabase/nile-mcp-server en la carpeta node_modules. Por ejemplo: node_modules/@niledatabase/nile-mcp-server/dist/
Instalación manual
Otros administradores de paquetes mcp
npx @michaellatman/mcp-get@última instalación @niledatabase/nile-mcp-server
Iniciando el servidor
Hay varias formas de iniciar el servidor:
Ejecución directa de nodos :
node dist/index.jsModo de desarrollo (con reconstrucción automática):
npm run dev
El servidor se iniciará y escuchará los mensajes del protocolo MCP. Debería ver los registros de inicio que indican:
Variables de entorno cargadas
Instancia de servidor creada
Herramientas inicializadas
Conexión de transporte establecida
Para detener el servidor, presione Ctrl+C
.
Verificar que el servidor esté en ejecución
Cuando el servidor se inicie correctamente, debería ver registros similares a:
Si ve estos registros, el servidor está listo para aceptar comandos de Claude Desktop.
Configuración
Cree un archivo .env
en el directorio raíz con sus credenciales de Nile:
Para crear una clave API de Nile, inicie sesión en su cuenta de Nile , haga clic en Espacios de trabajo en la parte superior izquierda, seleccione su espacio de trabajo y navegue a la sección Seguridad en el menú de la izquierda.
Uso con Claude Desktop
Configuración
Instale Claude Desktop si aún no lo ha hecho
Construir el proyecto:
npm run buildAbra Claude Desktop
Vaya a Configuración > Servidores MCP
Haga clic en "Agregar servidor"
Agregue la siguiente configuración:
Reemplazar:
/path/to/your/nile-mcp-server
con la ruta absoluta al directorio de su proyectoyour_api_key_here
con su clave API de Nileyour_workspace_slug
con el slug de tu espacio de trabajo de Nile
Uso con cursor
Configuración
Instala Cursor si aún no lo has hecho
Construir el proyecto:
npm run buildCursor abierto
Vaya a Configuración (⌘,) > Características > Servidores MCP
Haga clic en "Agregar nuevo servidor MCP"
Configurar el servidor:
Nombre:
nile-database
(o cualquier nombre que prefieras)Dominio:
env NILE_API_KEY=your_key NILE_WORKSPACE_SLUG=your_workspace node /absolute/path/to/nile-mcp-server/dist/index.jsReemplazar:
your_key
con su clave API de Nileyour_workspace
con el slug de tu espacio de trabajo de Nile/absolute/path/to
con la ruta real a su proyecto
Haga clic en "Guardar"
Debería ver un indicador verde que muestra que el servidor MCP está conectado
Reinicie el cursor para que los cambios surtan efecto
Modos de servidor
El servidor admite dos modos operativos:
Modo STDIO (predeterminado)
El modo predeterminado utiliza entrada/salida estándar para la comunicación, lo que lo hace compatible con las integraciones de Claude Desktop y Cursor.
Modo SSE
El modo de eventos enviados por el servidor (SSE) permite la comunicación en tiempo real basada en eventos a través de HTTP.
Para habilitar el modo SSE:
Establezca
MCP_SERVER_MODE=sse
en su archivo.env
El servidor iniciará un servidor HTTP (puerto predeterminado 3000)
Conéctese al punto final SSE:
http://localhost:3000/sse
Enviar comandos a:
http://localhost:3000/messages
Ejemplo de uso de SSE con curl:
Ejemplos de indicaciones
Después de configurar el servidor MCP en Cursor, puede usar lenguaje natural para interactuar con las bases de datos de Nile. A continuación, se muestran algunos ejemplos de indicaciones:
Gestión de bases de datos
Creación de tablas
Consulta de datos
Gestión de esquemas
Herramientas disponibles
El servidor proporciona las siguientes herramientas para interactuar con las bases de datos de Nile:
Gestión de bases de datos
crear base de datos
Crea una nueva base de datos del Nilo
Parámetros:
name
(cadena): Nombre de la base de datosregion
(cadena):AWS_US_WEST_2
(Oregón) oAWS_EU_CENTRAL_1
(Frankfurt)
Devuelve: Detalles de la base de datos que incluyen ID, nombre, región y estado.
Ejemplo: "Crear una base de datos llamada 'my-app' en AWS_US_WEST_2"
bases de datos de listas
Enumera todas las bases de datos en su espacio de trabajo
No se requieren parámetros
Devuelve: Lista de bases de datos con sus ID, nombres, regiones y estado
Ejemplo: "Enumerar todas mis bases de datos"
obtener base de datos
Obtiene información detallada sobre una base de datos específica
Parámetros:
name
(cadena): Nombre de la base de datos
Devoluciones: Información detallada de la base de datos, incluido el host de API y el host de la base de datos
Ejemplo: "Obtener detalles de la base de datos 'my-app'"
eliminar base de datos
Elimina una base de datos
Parámetros:
name
(cadena): Nombre de la base de datos a eliminar
Devoluciones: Mensaje de confirmación
Ejemplo: "Eliminar la base de datos 'my-app'"
Gestión de credenciales
lista de credenciales
Enumera todas las credenciales de una base de datos
Parámetros:
databaseName
(cadena): Nombre de la base de datos
Devuelve: Lista de credenciales con identificaciones, nombres de usuario y fechas de creación
Ejemplo: "Enumerar las credenciales de la base de datos 'my-app'"
crear credencial
Crea nuevas credenciales para una base de datos
Parámetros:
databaseName
(cadena): Nombre de la base de datos
Devoluciones: Nuevos detalles de credenciales que incluyen nombre de usuario y contraseña de un solo uso
Ejemplo: "Crear nuevas credenciales para la base de datos 'my-app'"
Nota: Guarde la contraseña cuando se muestre, ya que no se volverá a mostrar.
Gestión de regiones
lista-regiones
Enumera todas las regiones disponibles para crear bases de datos
No se requieren parámetros
Devoluciones: Lista de regiones de AWS disponibles
Ejemplo: "¿Qué regiones están disponibles para crear bases de datos?"
Ejecución de consultas SQL
ejecutar-sql
Ejecuta consultas SQL en una base de datos Nile
Parámetros:
databaseName
(cadena): Nombre de la base de datos a consultarquery
(cadena): consulta SQL a ejecutarconnectionString
(cadena, opcional): cadena de conexión preexistente que se utilizará para la consulta
Devoluciones: Resultados de la consulta formateados como una tabla de rebajas con encabezados de columna y recuento de filas
Características:
Gestión automática de credenciales (crea nuevas si no se especifica)
Conexión SSL segura a la base de datos
Resultados formateados como tablas de rebajas
Mensajes de error detallados con sugerencias
Soporte para el uso de cadenas de conexión existentes
Ejemplo: "Ejecutar SELECT * FROM users LIMIT 5 en la base de datos 'my-app'"
Gestión de recursos
recurso de lectura
Lee información de esquema para recursos de base de datos (tablas, vistas, etc.)
Parámetros:
databaseName
(cadena): Nombre de la base de datosresourceName
(cadena): Nombre del recurso (tabla/vista)
Devuelve: Información detallada del esquema que incluye:
Nombres y tipos de columnas
Claves primarias e índices
Relaciones de clave externa
Descripciones y restricciones de columnas
Ejemplo: "Muéstrame el esquema de la tabla de usuarios en mi aplicación"
lista de recursos
Enumera todos los recursos (tablas, vistas) en una base de datos
Parámetros:
databaseName
(cadena): Nombre de la base de datos
Devuelve: Lista de todos los recursos con sus tipos
Ejemplo: "Enumerar todas las tablas en la base de datos de mi aplicación"
Gestión de inquilinos
lista de inquilinos
Enumera todos los inquilinos en una base de datos
Parámetros:
databaseName
(cadena): Nombre de la base de datos
Devuelve: Lista de inquilinos con sus ID y metadatos
Ejemplo: "Mostrar todos los inquilinos en la base de datos de mi aplicación"
crear inquilino
Crea un nuevo inquilino en una base de datos
Parámetros:
databaseName
(cadena): Nombre de la base de datostenantName
(cadena): nombre del nuevo inquilino
Devoluciones: Detalles del nuevo inquilino, incluida la identificación
Ejemplo: "Crear un inquilino llamado 'acme-corp' en mi aplicación"
eliminar inquilino
Elimina inquilinos en la base de datos
Parámetros:
databaseName
(cadena): Nombre de la base de datostenantName
(cadena): nombre del inquilino
Devuelve: Éxito si se elimina el inquilino
Ejemplo: "Eliminar el inquilino llamado 'acme-corp' en mi aplicación"
Ejemplo de uso
A continuación se muestran algunos comandos de ejemplo que puedes utilizar en Claude Desktop:
Formato de respuesta
Todas las herramientas devuelven respuestas en un formato estandarizado:
Las respuestas de éxito incluyen datos relevantes y mensajes de confirmación.
Las respuestas de error incluyen mensajes de error detallados y códigos de estado HTTP
Los resultados de las consultas SQL se formatean como tablas de rebajas
Todas las respuestas están formateadas para facilitar su lectura en Claude Desktop.
Manejo de errores
El servidor gestiona varios escenarios de error:
Credenciales de API no válidas
Problemas de conectividad de red
Nombres o regiones de bases de datos no válidos
Faltan parámetros requeridos
Fallos en el funcionamiento de la base de datos
Errores de sintaxis SQL con sugerencias útiles
Limitación de velocidad y restricciones de API
Solución de problemas
Si Claude dice que no puede acceder a las herramientas:
Verifique que la ruta del servidor en la configuración sea correcta
Asegúrese de que el proyecto esté compilado (
npm run build
)Verifique que su clave API y el slug del espacio de trabajo sean correctos
Reiniciar Claude Desktop
Si falla la creación de la base de datos:
Comprueba los permisos de tu clave API
Asegúrese de que el nombre de la base de datos sea único en su espacio de trabajo
Verifique que la región sea una de las opciones admitidas
Si las operaciones de credenciales fallan:
Verifique que la base de datos exista y esté en el estado LISTO
Comprueba que tu clave API tenga los permisos necesarios
Desarrollo
Estructura del proyecto
Archivos clave
server.ts
: Implementación del servidor principal con registro de herramientas y manejo de transportetools.ts
: Implementación de todas las operaciones de base de datos y ejecución de consultas SQLtypes.ts
: Interfaces TypeScript para operaciones y respuestas de bases de datoslogger.ts
: registro estructurado con rotación diaria y soporte de depuraciónindex.ts
: Inicio del servidor y configuración del entornoserver.test.ts
: conjunto de pruebas completo para todas las funciones
Desarrollo
Scripts de desarrollo
Los siguientes scripts npm están disponibles:
npm run build
: Compila TypeScript a JavaScriptnpm start
: inicia el servidor en modo de producciónnpm run dev
: inicia el servidor en modo de desarrollo con reconstrucción automáticanpm test
: ejecuta el conjunto de pruebasnpm run lint
: ejecuta ESLint para verificar la calidad del códigonpm run clean
: elimina artefactos de compilación
Pruebas
El proyecto incluye un conjunto de pruebas integral que cubre:
Registro de herramientas y validación de esquemas
Operaciones de gestión de bases de datos
Generación de cadena de conexión
Ejecución de consultas SQL y manejo de errores
Formato de respuesta y casos de error
Ejecute las pruebas con:
Explotación florestal
El servidor utiliza un registro estructurado con las siguientes características:
Archivos de registro rotativos diariamente
Registros de depuración separados
Registros con formato JSON y marcas de tiempo
Salida de consola para desarrollo
Categorías de registro: información, error, depuración, API, SQL, inicio
Licencia
Licencia MIT: consulte LICENCIA para obtener más detalles.
Enlaces relacionados
This server cannot be installed
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.
Servidor MCP para la base de datos Nile: administre y consulte bases de datos, inquilinos, usuarios y autenticación mediante LLM
- Instalación
- Iniciando el servidor
- Configuración
- Uso con Claude Desktop
- Uso con cursor
- Desarrollo
- Licencia
- Enlaces relacionados
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides LLMs access to other LLMsLast updated -1667MIT License
- -securityAlicense-qualityAn MCP server that provides tools to load and fetch documentation from any llms.txt source, giving users full control over context retrieval for LLMs in IDE agents and applications.Last updated -766MIT License
- AsecurityAlicenseAqualityAn MCP server that enables LLMs to interact with Moodle platforms to manage courses, students, assignments, and quizzes through natural language commands.Last updated -718MIT License
- AsecurityAlicenseAqualitymcp-server-couchbaseLast updated -819PythonApache 2.0