AWS Neptune MCP Server

AWS Neptune MCP Server

AWS Neptune MCP 服务器将 Amazon Neptune 图数据库的功能集成到 AI 应用和编码助手中,允许通过符合 MCP 标准的接口无缝执行图查询和管理操作。

Author: awslabs


查看协议

什么是 AWS Neptune MCP 服务器?

AWS Neptune MCP 服务器是一种专用的 MCP 服务器,它充当 AI 工具与 Amazon Neptune 图数据库之间的桥梁。它通过标准化的模型上下文协议,提供 Neptune 强大的图查询、分析和管理功能,使应用和代理可以使用自然语言或编程接口与 Neptune 的图数据进行交互。该服务器支持 openCypher 和 Gremlin 查询语言,适合不同的图工作负载。

如何配置 AWS Neptune MCP 服务器

  1. 前提条件:

    • 确保已安装 Python(符合 MCP 服务器要求)。
    • Astral 安装 uv 工具。
  2. 凭证:

    • 设置具有访问 Neptune 集群权限的 AWS 凭证。
    • 确保 Neptune 终端可以从您的环境访问。
  3. 配置示例:
    在您的 MCP 客户端设置文件中添加以下配置(例如,~/.aws/amazonq/mcp.json.cursor/mcp.json 或您工具所需的文件):

    {
      "mcpServers": {
        "awslabs.amazon-neptune-mcp-server": {
          "command": "uvx",
          "args": ["awslabs.amazon-neptune-mcp-server@latest"],
          "env": {
            "NEPTUNE_HOST": "your-neptune-cluster-endpoint",
            "NEPTUNE_PORT": "8182",
            "NEPTUNE_REGION": "us-east-1",
            "AWS_PROFILE": "your-aws-profile",
            "FASTMCP_LOG_LEVEL": "ERROR"
          },
          "disabled": false
        }
      }
    }
    

    根据实际情况替换占位符,如您的 Neptune 集群终端、端口、AWS 区域和 AWS 配置文件。

  4. 网络设置:

    • 如果在本地运行,请确保可以访问 Neptune 终端(必要时调整 VPC 或 SSH 隧道设置)。
  5. 启动服务器:

    • 使用您的 MCP 客户端或工具接口根据文档启动并连接到服务器。

如何使用 AWS Neptune MCP 服务器

  1. 查询图:

    • 使用集成了 MCP 的 AI 助手或 IDE 向 Neptune 发送图查询。
    • 支持的查询语言包括 openCypher 和 Gremlin;如有需要,请在提示中指定使用的语言。
  2. 调用工具:

    • 通过 MCP 客户端接口的 tools/list 端点发现可用的 Neptune 操作。
    • 调用操作,例如执行 Cypher 或 Gremlin 查询,检索结果集,更新节点和边,或进行图分析。
  3. 示例用法:

    • 在聊天界面中,您可以说:
      使用 Amazon Neptune MCP 服务器,找出与 account_id 12345 通过“FRIEND_OF”关系相连的所有用户。

    • AI 代理将自动选择适当的图查询语言,并调用 MCP 服务器的接口执行查询并返回结果。

  4. 工作流自动化:

    • 将图搜索、子图提取或分析任务集成到由您的 AI 工具或编码助手驱动的大型自动化工作流中。
  5. 审批与监控:

    • 如果您的 MCP 客户端要求手动确认数据库操作,请批准工具调用。

主要特点

  • 支持 openCypher 和 Gremlin 语言: 执行复杂的属性和遍历图查询,兼容大多数 Neptune 工作负载。
  • 安全的 AWS 集成: 使用 AWS 凭证和配置文件设置;利用 AWS 网络安全访问集群。
  • 结构化工具调用: 将 Neptune 操作作为可调用的 MCP 工具提供,支持编程或对话使用。
  • 实时图分析: 支持近实时查询、更新和从图存储中检索数据,融入您的 AI 开发工作流中。
  • 灵活部署: 可以在本地、容器中或作为无服务器工作流的一部分运行服务器,采用统一的 MCP 架构。
  • 可扩展性能: 在配置适当的 Neptune 资源时,处理高容量、生产级的图查询。

使用案例

  • 图查询的代码生成: 通过 AI 辅助的提示生成和测试 openCypher 或 Gremlin 查询,用于应用开发或分析。
  • 交互式数据探索: 可视化和分析复杂网络,如社交图、物联网网络、知识图谱或推荐系统。
  • 自动化 ETL 和数据操作: 使用自主代理运行批量更新、数据迁移或在大型图数据库中进行完整性检查。
  • 对话式数据洞察: 使商业用户能够通过聊天机器人或虚拟助手以自然语言查询和理解关系数据。
  • DevOps 和故障排除: 快速调查云环境中的基础设施或操作图中的关系和依赖性。

常见问题

1. AWS Neptune MCP 服务器支持哪些图查询语言?
服务器支持 openCypher 和 Gremlin,可以使用您所需的任意图查询语言。

2. 我可以在多个 Neptune 集群上使用 AWS Neptune MCP 服务器吗?
可以,您可以通过针对每个 MCP 服务器实例设置 NEPTUNE_HOSTNEPTUNE_PORTNEPTUNE_REGION 环境变量,配置并连接到不同的 Neptune 集群。

3. 通过 Neptune MCP 服务器访问数据安全吗?
是的,所有流量使用您现有的 AWS 凭证,并强制执行基于 IAM 的访问控制。为增强安全性,请使用安全组和 VPC 设置限制对 Neptune 集群的网络访问。

4. 如何优化大图查询的性能?
确保您的 Neptune 集群根据工作负载正确配置,并考虑为重读操作使用读取副本,以提高性能。

5. 如果我在连接到 Neptune 时收到网络错误,我该怎么办?
请验证您的本地网络或容器是否具有访问 Neptune 终端的 VPC 访问权限。如果从 AWS VPC 外部访问,您可能需要设置 SSH 隧道或 VPN。