Amazon Neptune MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "NEPTUNE_ENDPOINT=${NEPTUNE_ENDPOINT}" amazon-neptune -- uvx awslabs.amazon-neptune-mcp-server@latest
Required:NEPTUNE_ENDPOINT+ 1 optional
README.md

Query Amazon Neptune databases and analytics graphs using openCypher or Gremlin.

AWS Labs Amazon Neptune MCP Server

An Amazon Neptune MCP server that allows for fetching status, schema, and querying using openCypher and Gremlin for Neptune Database and openCypher for Neptune Analytics.

Features

The Amazon Neptune MCP Server provides the following capabilities:

  1. Run Queries: Execute openCypher and/or Gremlin queries against the configured database
  2. Schema: Get the schema in the configured graph as a text string
  3. Status: Find if the graph is "Available" or "Unavailable" to your server. This is useful in helping to ensure that the graph is connected.

AWS Requirements

  1. AWS CLI Configuration: You must have the AWS CLI configured with credentials and an AWS_PROFILE that has access to Amazon Neptune
  2. Amazon Neptune: You must have at least one Amazon Neptune Database or Amazon Neptune Analytics graph.
  3. IAM Permissions: Your IAM role/user must have appropriate permissions to:
    • Access Amazon Neptune
    • Query Amazon Neptune
  4. Access: The location where you are running the server must have access to the Amazon Neptune instance. Neptune Database resides in a private VPC so access into the private VPC. Neptune Analytics can be access either using a public endpoint, if configured, or the access will be needed to the private endpoint.

Note: This server will run any query sent to it, which could include both mutating and read-only actions. Properly configuring the permissions of the role to allow/disallow specific data plane actions as specified here:

Prerequisites

  1. Install uv from Astral or the GitHub README
  2. Install Python using uv python install 3.10

Installation

Below is an example of how to configure your MCP client, although different clients may require a different format.

{
  "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>"
      }
    }
  }
}

Docker Configuration

After building with 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": []
    }
  }
}

When specifying the Neptune Endpoint the following formats are expected:

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

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

Tools (3)

run_queryExecute openCypher or Gremlin queries against the configured database.
get_schemaRetrieve the schema of the configured graph as a text string.
get_statusCheck if the graph is Available or Unavailable.

Environment Variables

NEPTUNE_ENDPOINTrequiredThe endpoint for the Neptune database (neptune-db://) or analytics graph (neptune-graph://).
FASTMCP_LOG_LEVELLogging level for the server (e.g., INFO).

Configuration

claude_desktop_config.json
{"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>"}}}}

Try it

Check the current status of the Neptune graph to ensure it is available.
Retrieve the schema of my Neptune database to understand the current graph structure.
Run an openCypher query to find all nodes connected to the user with ID '123'.
Execute a Gremlin query to count the total number of vertices in the graph.

Frequently Asked Questions

What are the key features of Amazon Neptune?

Execute openCypher and Gremlin queries against Neptune databases.. Retrieve graph schema as a text string for context.. Monitor graph connection status (Available/Unavailable).. Support for both Neptune Database and Neptune Analytics..

What can I use Amazon Neptune for?

Debugging graph database connectivity issues by checking status.. Exploring graph data structures by retrieving and analyzing the schema.. Performing ad-hoc data analysis on graph databases using natural language queries.. Automating graph database maintenance tasks via Claude..

How do I install Amazon Neptune?

Install Amazon Neptune by running: uvx awslabs.amazon-neptune-mcp-server@latest

What MCP clients work with Amazon Neptune?

Amazon Neptune works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Amazon Neptune docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare