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:
- Ejecutar consultas: Ejecutar consultas openCypher y/o Gremlin contra la base de datos configurada
- Esquema: Obtener el esquema del grafo configurado como una cadena de texto
- 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
- Configuración de AWS CLI: Debe tener la AWS CLI configurada con credenciales y un AWS_PROFILE que tenga acceso a Amazon Neptune
- Amazon Neptune: Debe tener al menos un grafo de Amazon Neptune Database o Amazon Neptune Analytics.
- Permisos de IAM: Su rol/usuario de IAM debe tener los permisos adecuados para:
- Acceder a Amazon Neptune
- Consultar Amazon Neptune
- 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
- Instale
uvdesde Astral o el README de GitHub - Instale Python usando
uv python install 3.10
Instalación
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>