メインコンテンツまでスキップ

AWS Labs Amazon Neptune MCPサーバー

Neptune Database に対しては openCypher および Gremlin、Neptune Analytics に対しては openCypher を使用して、ステータスやスキーマの取得、クエリの実行を行うことができる Amazon Neptune MCP サーバーです。

機能

Amazon Neptune MCP サーバーは、次の機能を提供します。

  1. クエリの実行: 設定されたデータベースに対して openCypher や Gremlin のクエリを実行します
  2. スキーマ: 設定されたグラフのスキーマをテキスト文字列として取得します
  3. ステータス: グラフがサーバーから「Available(利用可能)」か「Unavailable(利用不可)」かを確認します。これはグラフが接続されていることを確認するのに役立ちます。

AWS の要件

  1. AWS CLI の設定: Amazon Neptune へのアクセス権を持つ認証情報と AWS_PROFILE で AWS CLI が設定されている必要があります
  2. Amazon Neptune: 少なくとも 1 つの Amazon Neptune Database または Amazon Neptune Analytics グラフが必要です。
  3. IAM 権限: IAM ロール/ユーザーには、次の操作を行うための適切な権限が必要です。
    • Amazon Neptune へのアクセス
    • Amazon Neptune へのクエリ
  4. アクセス: サーバーを実行する場所から Amazon Neptune インスタンスにアクセスできる必要があります。Neptune Database はプライベート VPC 内に存在するため、そのプライベート VPC へのアクセスが必要です。Neptune Analytics は、設定されている場合はパブリックエンドポイントを使用してアクセスできますが、そうでない場合はプライベートエンドポイントへのアクセスが必要になります。

注: このサーバーは送信されたあらゆるクエリを実行します。これには変更を伴うアクションと読み取り専用アクションの両方が含まれる可能性があります。次に示すとおり、特定のデータプレーンアクションを許可/禁止するようロールの権限を適切に設定してください。

前提条件

  1. Astral または GitHub README から uv をインストールします
  2. uv python install 3.10 で Python をインストールします

インストール

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

以下は MCP クライアントの設定例です。ただし、クライアントによっては異なる形式が必要になる場合があります。

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

Windows へのインストール

Windows ユーザーの場合、MCP サーバーの設定形式は少し異なります。

{
"mcpServers": {
"awslabs.amazon-neptune-mcp-server": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "uv",
"args": [
"tool",
"run",
"--from",
"awslabs.amazon-neptune-mcp-server@latest",
"awslabs.amazon-neptune-mcp-server.exe"
],
"env": {
"FASTMCP_LOG_LEVEL": "INFO",
"NEPTUNE_ENDPOINT": "<INSERT NEPTUNE ENDPOINT IN FORMAT SPECIFIED BELOW>"
}
}
}
}

Docker の設定

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

Neptune エンドポイントを指定する際は、次の形式が想定されています。

Neptune Database の場合: neptune-db://<Cluster Endpoint>

Neptune Analytics の場合: neptune-graph://<graph identifier>