mcpField
M
mcp-neo4j-aura-manager

mcp-neo4j-aura-manager

本地服务
github.com/neo4j-contrib数据库9897 周前更新

关于 mcp-neo4j-aura-manager

用于管理 Neo4j Aura 数据库实例的 MCP 服务,可通过 Aura API 创建、监控和维护实例与租户。适合希望在 AI 助手中直接管理图数据库基础设施的用户。

主要功能

  1. 01列出、查询和按名称查找实例
  2. 02创建、重命名和删除数据库实例
  3. 03调整内存与向量优化设置
  4. 04暂停和恢复实例
  5. 05支持命名空间与多种传输方式

适用场景

  1. 01通过 AI 助手为图数据库预配新实例
  2. 02暂停闲置实例并在需要时恢复
  3. 03在多租户环境中按前缀区分不同项目的工具

MCP 相关

该服务通过 MCP 工具向客户端暴露 Aura 实例与租户的管理操作,支持 stdio 和 HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"neo4j-contrib-mcp-neo4j-aura-manager": {
"command": "uvx",
"args": [
"mcp-neo4j-aura-manager"
],
"env": {
"NEO4J_AURA_CLIENT_ID": "<NEO4J_AURA_CLIENT_ID>",
"NEO4J_AURA_CLIENT_SECRET": "<NEO4J_AURA_CLIENT_SECRET>",
"NEO4J_NAMESPACE": "<NEO4J_NAMESPACE>"
}
}
}
}
启动命令uvx mcp-neo4j-aura-manager
需要配置的环境变量
NEO4J_AURA_CLIENT_ID密钥Neo4j Aura API Client ID
NEO4J_AURA_CLIENT_SECRET密钥Neo4j Aura API Client Secret
NEO4J_NAMESPACENamespace for tools

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-neo4j-aura-manager0.4.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🚀💖☁️ Neo4j Aura 数据库管理器 MCP 服务

mcp-name: io.github.neo4j-contrib/mcp-neo4j-aura-manager

🌟 概览

一种 Model Context Protocol (MCP) 服务实现,通过 Neo4j Aura API 提供管理 Neo4j Aura 数据库实例的工具。

此服务允许你直接通过 Claude 创建、监控和管理 Neo4j Aura 实例,让你能够轻松配置和维护图数据库基础设施。

🔑 身份验证

使用 Neo4j Aura API 进行身份验证需要:

  • 客户端 ID
  • 客户端密钥

你可以在 Neo4j Aura 控制台获取这些凭据,请参阅 Aura API 文档

这是 API 规范

📦 组件

🔧 工具

此服务提供以下核心工具:

🛠️ 实例管理
  • list_instances

    • 列出所有 Neo4j Aura 数据库实例
    • 无需输入
    • 返回:所有实例及其详细信息的列表
  • get_instance_details

    • 根据 ID 获取一个或多个实例的详细信息
    • 输入:
      • instance_ids (字符串或数组):要获取的实例 ID,或实例 ID 数组
    • 返回:实例的详细信息
  • get_instance_by_name

    • 按名称查找实例
    • 输入:
      • name (字符串):要查找的实例名称
    • 返回:找到的实例详细信息
  • create_instance

    • 创建新的 Neo4j Aura 数据库实例
    • 输入:
      • tenant_id (字符串):将要创建实例的租户/项目 ID
      • name (字符串):新实例的名称
      • memory (整数):内存分配量,单位为 GB
      • region (字符串):实例所在区域(例如,'us-east-1')
      • version (字符串):Neo4j 版本(例如,'5.15')
      • type (字符串,可选):实例类型(enterprise 或 professional)
      • vector_optimized (布尔值,可选):实例是否针对向量操作进行了优化
    • 返回:已创建实例的详细信息
  • update_instance_name

    • 更新实例名称
    • 输入:
      • instance_id (字符串):要更新的实例 ID
      • name (字符串):实例的新名称
    • 返回:已更新实例的详细信息
  • update_instance_memory

    • 更新实例的内存分配量
    • 输入:
      • instance_id (字符串):要更新的实例 ID
      • memory (整数):新的内存分配量,单位为 GB
    • 返回:已更新实例的详细信息
  • update_instance_vector_optimization

    • 更新实例的向量优化设置
    • 输入:
      • instance_id (字符串):要更新的实例 ID
      • vector_optimized (布尔值):是否应针对向量操作优化实例
    • 返回:已更新实例的详细信息
  • pause_instance

    • 暂停数据库实例
    • 输入:
      • instance_id (字符串):要暂停的实例 ID
    • 返回:实例状态信息
  • resume_instance

    • 恢复已暂停的数据库实例
    • 输入:
      • instance_id (字符串):要恢复的实例 ID
    • 返回:实例状态信息
  • delete_instance

    • 删除数据库实例
    • 输入:
      • tenant_id (字符串):实例所在的租户/项目 ID
      • instance_id (字符串):要删除的实例 ID
    • 返回:删除状态信息
🏢 租户/项目管理
  • list_tenants

    • 列出所有 Neo4j Aura 租户/项目
    • 无需输入
    • 返回:所有租户及其详细信息的列表
  • get_tenant_details

    • 获取特定租户/项目的详细信息
    • 输入:
      • tenant_id (字符串):要获取的租户/项目 ID
    • 返回:租户/项目的详细信息

🔧 在 Claude Desktop 中使用

💾 安装
pip install mcp-neo4j-aura-manager
⚙️ 配置

将服务添加到你的 claude_desktop_config.json:

"mcpServers": {
  "neo4j-aura": {
    "command": "uvx",
    "args": [
      "[email protected]",
      "--client-id",
      "<your-client-id>",
      "--client-secret",
      "<your-client-secret>"
      ]
  }
}

或者,你也可以设置环境变量:

"mcpServers": {
  "neo4j-aura": {
    "command": "uvx",
    "args": [ "[email protected]" ],
    "env": {
      "NEO4J_AURA_CLIENT_ID": "<your-client-id>",
      "NEO4J_AURA_CLIENT_SECRET": "<your-client-secret>"
    }
  }
}
🐳 使用 Docker
"mcpServers": {
  "neo4j-aura": {
    "command": "docker",
    "args": [
      "run",
      "--rm",
      "-e", "NEO4J_AURA_CLIENT_ID=${NEO4J_AURA_CLIENT_ID}",
      "-e", "NEO4J_AURA_CLIENT_SECRET=${NEO4J_AURA_CLIENT_SECRET}",
      "mcp-neo4j-aura-manager:0.4.8"
    ]
  }
}
🏷️ 多租户部署的命名空间

该服务支持命名空间,可为工具名称添加前缀,以用于多租户部署:

"mcpServers": {
  "neo4j-aura-app1": {
    "command": "uvx",
    "args": [
      "[email protected]",
      "--client-id", "<your-client-id>",
      "--client-secret", "<your-client-secret>",
      "--namespace", "app1"
    ]
  },
  "neo4j-aura-app2": {
    "command": "uvx", 
    "args": [
      "[email protected]",
      "--client-id", "<your-client-id>",
      "--client-secret", "<your-client-secret>",
      "--namespace", "app2"
    ]
  }
}
CLI 用法
# With namespace
mcp-neo4j-aura-manager --client-id <id> --client-secret <secret> --namespace myapp

# Tools become: myapp-list_instances, myapp-create_instance, etc.
环境变量
export NEO4J_AURA_CLIENT_ID=your_client_id
export NEO4J_AURA_CLIENT_SECRET=your_client_secret  
export NEO4J_NAMESPACE=myapp
mcp-neo4j-aura-manager
使用带命名空间的 Docker
docker run -e NEO4J_AURA_CLIENT_ID=<id> \
           -e NEO4J_AURA_CLIENT_SECRET=<secret> \
           -e NEO4J_NAMESPACE=myapp \
           mcp-neo4j-aura-manager
🌐 HTTP 传输模式

该服务支持 HTTP 传输,可用于基于 Web 的部署和微服务:

# Basic HTTP mode (defaults: host=127.0.0.1, port=8000, path=/mcp/)
mcp-neo4j-aura-manager --transport http

# Custom HTTP configuration
mcp-neo4j-aura-manager --transport http --host 127.0.0.1 --port 8080 --path /api/mcp/

HTTP 配置的环境变量:

export NEO4J_TRANSPORT=http
export NEO4J_MCP_SERVER_HOST=127.0.0.1
export NEO4J_MCP_SERVER_PORT=8080
export NEO4J_MCP_SERVER_PATH=/api/mcp/
export NEO4J_MCP_SERVER_ALLOWED_HOSTS="localhost,127.0.0.1"
export NEO4J_MCP_SERVER_ALLOW_ORIGINS="http://localhost:3000"
export NEO4J_NAMESPACE=myapp
mcp-neo4j-aura-manager
🔄 传输模式

该服务支持三种传输模式:

  • STDIO(默认):用于本地工具和 Claude Desktop 的标准输入/输出
  • SSE:用于基于 Web 的部署的服务器发送事件
  • HTTP:用于现代 Web 部署和微服务的可流式 HTTP

🔒 安全防护

该服务包含全面的安全防护,并采用安全的默认设置,可防范常见的 Web 攻击,同时在使用 HTTP 传输时保留完整的 MCP 功能。

🛡️ DNS 重绑定防护

TrustedHost 中间件会验证 Host 标头,以防止 DNS 重绑定攻击:

默认安全设置:

  • 默认只允许 localhost 和 127.0.0.1 主机
  • 恶意网站无法诱骗浏览器访问您的本地服务

环境变量:

export NEO4J_MCP_SERVER_ALLOWED_HOSTS="example.com,www.example.com"
🌐 CORS 防护

**跨源资源共享(CORS)**防护默认会阻止基于浏览器的请求:

环境变量:

export NEO4J_MCP_SERVER_ALLOW_ORIGINS="https://example.com,https://example.com"
🔧 完整的安全配置

开发环境配置:

mcp-neo4j-aura-manager --transport http \
  --allowed-hosts "localhost,127.0.0.1" \
  --allow-origins "http://localhost:3000"

生产环境配置:

mcp-neo4j-aura-manager --transport http \
  --allowed-hosts "example.com,www.example.com" \
  --allow-origins "https://example.com,https://example.com"
🚨 安全最佳实践

对于 allow_origins:

  • 明确指定:["https://example.com", "https://example.com"]
  • 在生产环境中使用凭据时,切勿使用 "*"
  • 在生产环境中使用 HTTPS 源

对于 allowed_hosts:

  • 添加您的实际域名:["example.com", "www.example.com"]
  • 仅在开发环境中添加 localhost
  • 除非了解风险,否则切勿使用 "*"

🐳 Docker 部署

Neo4j Aura Manager MCP 服务可使用 Docker 进行远程部署。Docker 部署应使用 HTTP 传输,以便通过 Web 访问。若要将此部署与 Claude Desktop 等应用集成,您需要在 MCP 配置中使用代理,例如 mcp-remote。

🐳 使用 Docker 配合 Claude Desktop

此处我们使用托管在 Docker Hub 上的 Aura Manager MCP 服务镜像,并采用 stdio 传输,以便与 Claude Desktop 配合使用。

配置详情:

  • -i:交互模式 — 保持 STDIN 打开,以便进行 stdio 传输通信
  • --rm:容器退出时自动移除容器(清理)
  • -p 8000:8000:端口映射 — 将主机端口 8000 映射到容器端口 8000
  • NEO4J_TRANSPORT=stdio:使用 stdio 传输,以兼容 Claude Desktop
  • NEO4J_AURA_CLIENT_ID 和 NEO4J_AURA_CLIENT_SECRET:您的 Aura API 凭据
{
  "mcpServers": {
    "neo4j-aura": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "8000:8000",
        "-e", "NEO4J_AURA_CLIENT_ID=your-client-id",
        "-e", "NEO4J_AURA_CLIENT_SECRET=your-client-secret",
        "-e", "NEO4J_TRANSPORT=stdio",
        "mcp/neo4j-aura-manager:latest"
      ]
    }
  }
}
📦 使用您构建的镜像

使用 docker build -t mcp-neo4j-aura-manager:latest . 在本地构建后:

# Build the image
docker build -t mcp-neo4j-aura-manager:<version> .

# Run with http transport (default for Docker)
docker run --rm -p 8000:8000 \
  -e NEO4J_AURA_CLIENT_ID="your-client-id" \
  -e NEO4J_AURA_CLIENT_SECRET="your-client-secret" \
  -e NEO4J_TRANSPORT="http" \
  -e NEO4J_MCP_SERVER_HOST="0.0.0.0" \
  -e NEO4J_MCP_SERVER_PORT="8000" \
  -e NEO4J_MCP_SERVER_PATH="/mcp/" \
  mcp-neo4j-aura-manager:<version>

# Run with security middleware for production
docker run --rm -p 8000:8000 \
  -e NEO4J_AURA_CLIENT_ID="your-client-id" \
  -e NEO4J_AURA_CLIENT_SECRET="your-client-secret" \
  -e NEO4J_TRANSPORT="http" \
  -e NEO4J_MCP_SERVER_HOST="0.0.0.0" \
  -e NEO4J_MCP_SERVER_PORT="8000" \
  -e NEO4J_MCP_SERVER_PATH="/mcp/" \
  -e NEO4J_MCP_SERVER_ALLOWED_HOSTS="example.com,www.example.com" \
  -e NEO4J_MCP_SERVER_ALLOW_ORIGINS="https://example.com" \
  mcp-neo4j-aura-manager:<version>
🔧 环境变量
变量默认值描述
NEO4J_AURA_CLIENT_ID(none)Neo4j Aura API 客户端 ID
NEO4J_AURA_CLIENT_SECRET(none)Neo4j Aura API 客户端密钥
NEO4J_NAMESPACE(empty - no prefix)工具名称的命名空间前缀(例如,myapp-list_instances)
NEO4J_TRANSPORTstdio (local), http (remote)传输协议(stdio、http 或 sse)
NEO4J_MCP_SERVER_HOST127.0.0.1 (local)绑定的主机
NEO4J_MCP_SERVER_PORT8000HTTP/SSE 传输使用的端口
NEO4J_MCP_SERVER_PATH/mcp/访问 MCP 服务的路径
NEO4J_MCP_SERVER_ALLOW_ORIGINS(empty - secure by default)允许的 CORS 来源列表,以逗号分隔
NEO4J_MCP_SERVER_ALLOWED_HOSTSlocalhost,127.0.0.1允许的主机列表,以逗号分隔(用于防止 DNS 重绑定)
NEO4J_MCP_SERVER_STATELESSfalse为 HTTP/SSE 传输启用无状态模式(true/false;对 stdio 无效)
🌐 面向旧版 Web 访问的 SSE 传输

使用 SSE 传输(面向旧版 Web 客户端)时,服务会公开一个 HTTP 端点:

# Start the server with SSE transport
docker run -d -p 8000:8000 \
  -e NEO4J_AURA_CLIENT_ID="your-client-id" \
  -e NEO4J_AURA_CLIENT_SECRET="your-client-secret" \
  -e NEO4J_TRANSPORT="sse" \
  -e NEO4J_MCP_SERVER_HOST="0.0.0.0" \
  -e NEO4J_MCP_SERVER_PORT="8000" \
  --name neo4j-aura-mcp-server \
  mcp-neo4j-aura-manager:latest

# Test the SSE endpoint
curl http://localhost:8000/sse

# Use with MCP Inspector
npx @modelcontextprotocol/inspector http://localhost:8000/sse
🔗 使用 Docker 集成 Claude Desktop

使用 http 传输,通过 Docker 化的服务集成 Claude Desktop:

{
  "mcpServers": {
    "neo4j-aura-docker": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "http://localhost:8000/mcp/"]
    }
  }
}

注意:先使用 HTTP 传输启动 Docker 容器,然后 Claude Desktop 即可通过 HTTP 端点和 mcp-remote 等代理服务连接到它。

📝 使用示例

🔍 概览我的租户

README 配图

🔎 按名称查找实例

README 配图

📋 列出实例并查找已暂停的实例

README 配图

▶️ 恢复已暂停的实例

README 配图

➕ 创建新实例

README 配图

🚀 开发

📦 先决条件
  1. 安装 uv(Universal Virtualenv):
# Using pip
pip install uv

# Using Homebrew on macOS
brew install uv

# Using cargo (Rust package manager)
cargo install uv
  1. 克隆仓库并设置开发环境:
# Clone the repository
git clone https://github.com/yourusername/mcp-neo4j-aura-manager.git
cd mcp-neo4j-aura-manager

# Create and activate virtual environment using uv
uv venv
source .venv/bin/activate  # On Unix/macOS
.venv\Scripts\activate     # On Windows

# Install dependencies including dev dependencies
uv pip install -e ".[dev]"

📄 许可证

此 MCP 服务采用 MIT 许可证授权。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。