MCP Server for ArangoDB

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides database interaction capabilities with ArangoDB, implementing core operations like executing AQL queries, inserting/updating/removing documents, creating and listing collections, and backing up data to JSON files.

Servidor MCP para ArangoDB

Un servidor de Protocolo de Contexto de Modelo para ArangoDB

Este es un servidor MCP basado en TypeScript que proporciona capacidades de interacción con bases de datos a través de ArangoDB. Implementa operaciones básicas de base de datos y permite una integración fluida con ArangoDB mediante herramientas MCP. Puedes usarlo con la aplicación Claude y también con extensiones para VSCode compatibles con MCP como Cline.

Características

Herramientas

  • arango_query - Ejecutar consultas AQL
    • Toma una cadena de consulta AQL como parámetro obligatorio
    • Acepta opcionalmente variables de enlace para consultas parametrizadas
    • Devuelve los resultados de la consulta como JSON
  • arango_insert - Insertar documentos en colecciones
    • Toma el nombre de la colección y el objeto del documento como parámetros obligatorios
    • Genera automáticamente la clave del documento si no se proporciona
    • Devuelve los metadatos del documento creado
  • arango_update - Actualizar documentos existentes
    • Toma el nombre de la colección, la clave del documento y el objeto de actualización como parámetros obligatorios
    • Devuelve los metadatos del documento actualizados
  • arango_remove - Eliminar documentos de colecciones
    • Toma el nombre de la colección y la clave del documento como parámetros obligatorios
    • Devuelve los metadatos del documento eliminado
  • arango_backup - Realiza una copia de seguridad de todas las colecciones en archivos JSON
    • Toma la ruta del directorio de salida como parámetro requerido
    • Crea archivos JSON para cada colección con datos actuales
    • Útil para fines de copia de seguridad y migración de datos.
  • arango_list_collections - Lista todas las colecciones en la base de datos
    • Devuelve una matriz de información de colección, incluidos nombres, identificaciones y tipos.
  • arango_create_collection - Crea una nueva colección en la base de datos
    • Toma el nombre de la colección como parámetro obligatorio
    • Opcionalmente, especifique el tipo de colección (documento o colección de borde)
    • Configurar el comportamiento de waitForSync para operaciones de escritura
    • Devuelve información de la colección, incluido el nombre, el tipo y el estado.

Estructura de la base de datos

El servidor es independiente de la estructura de la base de datos y puede trabajar con cualquier nombre o estructura de colección siempre que sigan los modelos de colección de documentos y bordes de ArangoDB.

Desarrollo

Instalar dependencias:

npm run build

Para desarrollo con reconstrucción automática:

npm run watch

Instalación

Instalación mediante herrería

Para instalar ArangoDB para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @ravenwits/mcp-server-arangodb --client claude

Para utilizar con Claude Desktop, agregue la configuración del servidor:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Ventanas: %APPDATA%/Claude/claude_desktop_config.json

Para usar con la extensión Cline VSCode, agregue la configuración del servidor:

  • MacOS: ~/Library/Application Support/Code/User/globalStorage/cline.cline/config.json
  • Windows: %APPDATA%/Code/User/globalStorage/cline.cline/config.json

Agregue la siguiente configuración a la sección mcpServers :

{ "mcpServers": { "arango": { "command": "node", "args": ["/path/to/arango-server/build/index.js"], "env": { "ARANGO_URL": "your_database_url", "ARANGO_DATABASE": "your_database_name", "ARANGO_USERNAME": "your_username", "ARANGO_PASSWORD": "your_password" } } } }

Variables de entorno

El servidor requiere las siguientes variables de entorno:

  • ARANGO_URL - URL del servidor ArangoDB (nota: 8529 es el puerto predeterminado para ArangoDB para el desarrollo local)
  • ARANGO_DATABASE - Nombre de la base de datos
  • ARANGO_USERNAME - Usuario de la base de datos
  • ARANGO_PASSWORD - Contraseña de la base de datos

Ejemplos de uso

Puedes proporcionar prácticamente cualquier indicación significativa y Claude intentará ejecutar la función apropiada.

Algunos ejemplos de indicaciones:

  • "Enumerar todas las colecciones en la base de datos"
  • "Consultar a todos los usuarios"
  • Insertar un nuevo documento con el nombre 'John Doe' y enviarlo por correo electrónico a ' john@example.com ' a la colección 'usuarios'.
  • Actualice el documento con la clave '123456' o el nombre 'Jane Doe' para cambiar la edad a 48.
  • "Crear una nueva colección llamada 'productos'"

Uso con la aplicación Claude

Uso con la extensión Cline VSCode

Consultar a todos los usuarios:

{ "query": "FOR user IN users RETURN user" }

Insertar un nuevo documento:

{ "collection": "users", "document": { "name": "John Doe", "email": "john@example.com" } }

Actualizar un documento:

{ "collection": "users", "key": "123456", "update": { "name": "Jane Doe" } }

Eliminar un documento:

{ "collection": "users", "key": "123456" }

Listar todas las colecciones:

{} // No parameters required

Colecciones de bases de datos de respaldo:

{ "outputDir": "./backup" // Specify an absolute output directory path for the backup files (optional) "collection": "users" // Specify a collection name to backup (optional) If no collection name is provided, all collections will be backed up "docLimit": 1000 // Specify the maximum number of documents to backup per collection (optional), if not provided, all documents will be backed up (not having a limit might cause timeout for large collections) }

Crear una nueva colección:

{ "name": "products", "type": 2, // 2 for document collection, 3 for edge collection (optional, defaults to document collection) "waitForSync": false // Optional, defaults to false }

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el Inspector MCP para el desarrollo:

npm run inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

You must be authenticated.

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

Un servidor basado en TypeScript para interactuar con ArangoDB utilizando el Protocolo de Contexto de Modelo, lo que permite operaciones de base de datos e integración con herramientas como Claude y extensiones VSCode para una gestión optimizada de datos.

  1. Features
    1. Tools
  2. Database Structure
    1. Development
      1. Installation
        1. Installing via Smithery
        2. Environment Variables
        3. Usage Examples
        4. Debugging
      2. License
        ID: soeqalh2v9