Amazon Neptune

Consulta bases de datos de Amazon Neptune usando openCypher, Gremlin y SPARQL. Soporta tanto Neptune Database como Neptune Analytics.

Documentación

AWS Labs Amazon Neptune MCP Server

Un servidor MCP de Amazon Neptune que permite obtener el estado, el esquema y realizar consultas usando openCypher y Gremlin para Neptune Database y openCypher para Neptune Analytics.

Características

El servidor MCP de Amazon Neptune proporciona las siguientes capacidades:

  1. Ejecutar consultas: Ejecutar consultas openCypher y/o Gremlin contra la base de datos configurada
  2. Esquema: Obtener el esquema del grafo configurado como una cadena de texto
  3. Estado: Comprobar si el grafo está "Disponible" o "No disponible" para su servidor. Esto es útil para asegurarse de que el grafo está conectado.

Requisitos de AWS

  1. Configuración de AWS CLI: Debe tener la AWS CLI configurada con credenciales y un AWS_PROFILE que tenga acceso a Amazon Neptune
  2. Amazon Neptune: Debe tener al menos un grafo de Amazon Neptune Database o Amazon Neptune Analytics.
  3. Permisos de IAM: Su rol/usuario de IAM debe tener los permisos adecuados para:
    • Acceder a Amazon Neptune
    • Consultar Amazon Neptune
  4. Acceso: La ubicación donde se ejecuta el servidor debe tener acceso a la instancia de Amazon Neptune. Neptune Database reside en una VPC privada, por lo que se necesita acceso a la VPC privada. Neptune Analytics se puede acceder mediante un endpoint público, si está configurado, o se necesitará acceso al endpoint privado.

Nota: Este servidor ejecutará cualquier consulta que se le envíe, lo que podría incluir tanto acciones de mutación como de solo lectura. Configure adecuadamente los permisos del rol para permitir/denegar acciones específicas del plano de datos como se especifica aquí:

Requisitos previos

  1. Instale uv desde Astral o el README de GitHub
  2. Instale Python usando uv python install 3.10

Instalación

Install MCP Server

A continuación se muestra un ejemplo de cómo configurar su cliente MCP, aunque diferentes clientes pueden requerir un formato diferente.

{
  "mcpServers": {
    "Neptune Query": {
      "command": "uvx",
      "args": ["awslabs.amazon-neptune-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "INFO",
        "NEPTUNE_ENDPOINT": "<INSERT NEPTUNE ENDPOINT IN FORMAT SPECIFIED BELOW>"
      }
    }
  }
}

Configuración de Docker

Después de compilar con docker build -t awslabs/amazon-neptune-mcp-server .:

{
  "mcpServers": {
    "awslabs.amazon-neptune-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "awslabs/amazon-neptune-mcp-server"
        ],
        "env": {
        "FASTMCP_LOG_LEVEL": "INFO",
        "NEPTUNE_ENDPOINT": "<INSERT NEPTUNE ENDPOINT IN FORMAT SPECIFIED BELOW>"
        },
        "disabled": false,
        "autoApprove": []
    }
  }
}

Al especificar el endpoint de Neptune, se esperan los siguientes formatos:

Para Neptune Database: neptune-db://<Cluster Endpoint>

Para Neptune Analytics: neptune-graph://<graph identifier>