Amazon Neptune

Consulte bancos de dados Amazon Neptune usando openCypher, Gremlin e SPARQL. Suporta tanto Neptune Database quanto Neptune Analytics.

Documentação

AWS Labs Amazon Neptune MCP Server

Um servidor MCP da Amazon Neptune que permite buscar status, schema e executar consultas usando openCypher e Gremlin para o Neptune Database e openCypher para o Neptune Analytics.

Recursos

O Amazon Neptune MCP Server oferece as seguintes capacidades:

  1. Executar Consultas: Execute consultas openCypher e/ou Gremlin contra o banco de dados configurado
  2. Schema: Obtenha o schema do grafo configurado como uma string de texto
  3. Status: Verifique se o grafo está "Disponível" ou "Indisponível" para o seu servidor. Isso é útil para garantir que o grafo esteja conectado.

Requisitos da AWS

  1. Configuração da AWS CLI: Você deve ter a AWS CLI configurada com credenciais e um AWS_PROFILE que tenha acesso ao Amazon Neptune
  2. Amazon Neptune: Você deve ter pelo menos um grafo do Amazon Neptune Database ou Amazon Neptune Analytics.
  3. Permissões IAM: Sua função/usuário IAM deve ter permissões apropriadas para:
    • Acessar o Amazon Neptune
    • Consultar o Amazon Neptune
  4. Acesso: O local onde você está executando o servidor deve ter acesso à instância do Amazon Neptune. O Neptune Database reside em uma VPC privada, portanto, é necessário acesso à VPC privada. O Neptune Analytics pode ser acessado usando um endpoint público, se configurado, ou será necessário acesso ao endpoint privado.

Nota: Este servidor executará qualquer consulta enviada a ele, o que pode incluir ações de mutação e somente leitura. Configure adequadamente as permissões da função para permitir/negar ações específicas do plano de dados conforme especificado aqui:

Pré-requisitos

  1. Instale uv a partir do Astral ou do README no GitHub
  2. Instale Python usando uv python install 3.10

Instalação

Install MCP Server

Abaixo está um exemplo de como configurar seu cliente MCP, embora diferentes clientes possam exigir um 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>"
      }
    }
  }
}

Configuração do Docker

Após compilar com 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": []
    }
  }
}

Ao especificar o endpoint do Neptune, os seguintes formatos são esperados:

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

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