mcp-turso-cloud

by spences10
Verified

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.

Integrations

  • Enables vector similarity searches using SQLite vector extensions, allowing for querying vector data stored in Turso databases with customizable parameters.

  • Provides tools for managing Turso databases at both organization and database levels, including listing, creating, and deleting databases, generating authentication tokens, listing tables, executing SQL queries, describing table schemas, and performing vector similarity searches.

mcp-turso-cloud

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con las bases de datos de Turso para los LLM. Este servidor implementa un sistema de autenticación de dos niveles para gestionar operaciones tanto a nivel de organización como de base de datos, lo que facilita la gestión y consulta de las bases de datos de Turso directamente desde los LLM.

Características

Operaciones a nivel de organización

  • Lista de bases de datos : vea todas las bases de datos en su organización Turso
  • Crear base de datos : crea nuevas bases de datos con opciones personalizables
  • Eliminar base de datos : elimine bases de datos de su organización
  • Generar token de base de datos : crea tokens de autenticación para bases de datos específicas

Operaciones a nivel de base de datos

  • Lista de tablas : ver todas las tablas en una base de datos específica
  • Ejecutar consulta : ejecuta consultas SQL en tus bases de datos
  • Describir tabla : obtener información del esquema para las tablas de la base de datos
  • Búsqueda de vectores : realice una búsqueda de similitud de vectores utilizando extensiones de vectores de SQLite

Sistema de autenticación de dos niveles

El servidor implementa un sofisticado sistema de autenticación:

  1. Autenticación a nivel de organización
    • Utiliza un token API de la plataforma Turso
    • Administra bases de datos y operaciones a nivel de organización.
    • Obtenido a través del panel de Turso
  2. Autenticación a nivel de base de datos
    • Utiliza tokens específicos de la base de datos
    • Generado automáticamente utilizando el token de la organización
    • Almacenado en caché para mejorar el rendimiento y rotado según sea necesario

Configuración

Este servidor requiere configuración a través de su cliente MCP. A continuación, se muestran ejemplos para diferentes entornos:

Configuración de escritorio de Cline/Claude

Agregue esto a su configuración MCP de Cline/Claude Desktop:

{ "mcpServers": { "mcp-turso-cloud": { "command": "npx", "args": ["-y", "mcp-turso-cloud"], "env": { "TURSO_API_TOKEN": "your-turso-api-token", "TURSO_ORGANIZATION": "your-organization-name", "TURSO_DEFAULT_DATABASE": "optional-default-database" } } } }

Escritorio Claude con configuración WSL

Para entornos WSL, agregue esto a su configuración de Claude Desktop:

{ "mcpServers": { "mcp-turso-cloud": { "command": "wsl.exe", "args": [ "bash", "-c", "TURSO_API_TOKEN=your-token TURSO_ORGANIZATION=your-org node /path/to/mcp-turso-cloud/dist/index.js" ] } } }

Variables de entorno

El servidor requiere las siguientes variables de entorno:

  • TURSO_API_TOKEN : Su token de API de la plataforma Turso (obligatorio)
  • TURSO_ORGANIZATION : Nombre de su organización Turso (obligatorio)
  • TURSO_DEFAULT_DATABASE : Base de datos predeterminada que se utilizará cuando no se especifique ninguna (opcional)
  • TOKEN_EXPIRATION : Tiempo de expiración de los tokens de base de datos generados (opcional, predeterminado: '7d')
  • TOKEN_PERMISSION : Nivel de permiso para los tokens generados (opcional, predeterminado: 'acceso completo')

API

El servidor implementa herramientas MCP organizadas por categoría:

Herramientas de organización

lista_bases_de_datos

Enumera todas las bases de datos de su organización Turso.

Parámetros: Ninguno

Ejemplo de respuesta:

{ "databases": [ { "name": "customer_db", "id": "abc123", "region": "us-east", "created_at": "2023-01-15T12:00:00Z" }, { "name": "product_db", "id": "def456", "region": "eu-west", "created_at": "2023-02-20T15:30:00Z" } ] }

crear_base_de_datos

Crea una nueva base de datos en su organización.

Parámetros:

  • name (cadena, obligatorio): nombre para la nueva base de datos
  • group (cadena, opcional): Grupo al que asignar la base de datos
  • regions (cadena[], opcional): regiones donde se implementará la base de datos

Ejemplo:

{ "name": "analytics_db", "group": "production", "regions": ["us-east", "eu-west"] }

eliminar_base_de_datos

Elimina una base de datos de su organización.

Parámetros:

  • name (cadena, obligatorio): nombre de la base de datos a eliminar

Ejemplo:

{ "name": "test_db" }

generar_token_de_base_de_datos

Genera un nuevo token para una base de datos específica.

Parámetros:

  • database (cadena, obligatoria): nombre de la base de datos
  • expiration (cadena, opcional): tiempo de expiración del token
  • permission (cadena, opcional): nivel de permiso ('acceso completo' o 'solo lectura')

Ejemplo:

{ "database": "customer_db", "expiration": "30d", "permission": "read-only" }

Herramientas de base de datos

listas_de_tablas

Enumera todas las tablas de una base de datos.

Parámetros:

  • database (cadena, opcional): nombre de la base de datos (usa el contexto si no se proporciona)

Ejemplo:

{ "database": "customer_db" }

ejecutar_consulta

Ejecuta una consulta SQL contra una base de datos.

Parámetros:

  • query (cadena, obligatoria): consulta SQL a ejecutar
  • params (objeto, opcional): parámetros de consulta
  • database (cadena, opcional): nombre de la base de datos (usa el contexto si no se proporciona)

Ejemplo:

{ "query": "SELECT * FROM users WHERE age > ?", "params": { "1": 21 }, "database": "customer_db" }

describe_tabla

Obtiene información del esquema de una tabla.

Parámetros:

  • table (cadena, obligatoria): nombre de la tabla
  • database (cadena, opcional): nombre de la base de datos (usa el contexto si no se proporciona)

Ejemplo:

{ "table": "users", "database": "customer_db" }

búsqueda de vectores

Realiza búsquedas de similitud vectorial utilizando extensiones vectoriales SQLite.

Parámetros:

  • table (cadena, obligatoria): nombre de la tabla
  • vector_column (cadena, obligatoria): columna que contiene vectores
  • query_vector (número[], obligatorio): vector de consulta para búsqueda de similitud
  • limit (número, opcional): Número máximo de resultados (predeterminado: 10)
  • database (cadena, opcional): nombre de la base de datos (usa el contexto si no se proporciona)

Ejemplo:

{ "table": "embeddings", "vector_column": "embedding", "query_vector": [0.1, 0.2, 0.3, 0.4], "limit": 5, "database": "vector_db" }

Desarrollo

Configuración

  1. Clonar el repositorio
  2. Instalar dependencias:
npm install
  1. Construir el proyecto:
npm run build
  1. Ejecutar en modo de desarrollo:
npm run dev

Publicación

  1. Actualizar la versión en package.json
  2. Construir el proyecto:
npm run build
  1. Publicar en npm:
npm publish

Solución de problemas

Problemas con el token API

Si encuentra errores de autenticación:

  1. Verifique que su token API de Turso sea válido y tenga los permisos necesarios
  2. Verifique que el nombre de su organización sea correcto
  3. Asegúrese de que su token no haya expirado

Problemas de conexión a la base de datos

Si tiene problemas para conectarse a las bases de datos:

  1. Verifique que la base de datos exista en su organización
  2. Comprueba que tu token API tenga acceso a la base de datos
  3. Asegúrese de que el nombre de la base de datos esté escrito correctamente

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Licencia MIT: consulte el archivo LICENCIA para obtener más detalles.

Expresiones de gratitud

Construido sobre:

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con las bases de datos de Turso para los LLM. Este servidor implementa un sistema de autenticación de dos niveles para gestionar operaciones tanto a nivel de organización como de base de datos, lo que facilita la gestión y consulta de las bases de datos de Turso directamente desde los LLM.

  1. Features
    1. 🏢 Organization-Level Operations
    2. 💾 Database-Level Operations
  2. Two-Level Authentication System
    1. Configuration
      1. Cline/Claude Desktop Configuration
      2. Claude Desktop with WSL Configuration
      3. Environment Variables
    2. API
      1. Organization Tools
      2. Database Tools
    3. Development
      1. Setup
      2. Publishing
    4. Troubleshooting
      1. API Token Issues
      2. Database Connection Issues
    5. Contributing
      1. License
        1. Acknowledgments
          ID: hnkzlqoh92