关于 mcp-neo4j-aura-manager
用于管理 Neo4j Aura 数据库实例的 MCP 服务,可通过 Aura API 创建、监控和维护实例与租户。适合希望在 AI 助手中直接管理图数据库基础设施的用户。
主要功能
- 01列出、查询和按名称查找实例
- 02创建、重命名和删除数据库实例
- 03调整内存与向量优化设置
- 04暂停和恢复实例
- 05支持命名空间与多种传输方式
适用场景
- 01通过 AI 助手为图数据库预配新实例
- 02暂停闲置实例并在需要时恢复
- 03在多租户环境中按前缀区分不同项目的工具
MCP 相关
该服务通过 MCP 工具向客户端暴露 Aura 实例与租户的管理操作,支持 stdio 和 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀💖☁️ 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(字符串):将要创建实例的租户/项目 IDname(字符串):新实例的名称memory(整数):内存分配量,单位为 GBregion(字符串):实例所在区域(例如,'us-east-1')version(字符串):Neo4j 版本(例如,'5.15')type(字符串,可选):实例类型(enterprise 或 professional)vector_optimized(布尔值,可选):实例是否针对向量操作进行了优化
- 返回:已创建实例的详细信息
-
update_instance_name- 更新实例名称
- 输入:
instance_id(字符串):要更新的实例 IDname(字符串):实例的新名称
- 返回:已更新实例的详细信息
-
update_instance_memory- 更新实例的内存分配量
- 输入:
instance_id(字符串):要更新的实例 IDmemory(整数):新的内存分配量,单位为 GB
- 返回:已更新实例的详细信息
-
update_instance_vector_optimization- 更新实例的向量优化设置
- 输入:
instance_id(字符串):要更新的实例 IDvector_optimized(布尔值):是否应针对向量操作优化实例
- 返回:已更新实例的详细信息
-
pause_instance- 暂停数据库实例
- 输入:
instance_id(字符串):要暂停的实例 ID
- 返回:实例状态信息
-
resume_instance- 恢复已暂停的数据库实例
- 输入:
instance_id(字符串):要恢复的实例 ID
- 返回:实例状态信息
-
delete_instance- 删除数据库实例
- 输入:
tenant_id(字符串):实例所在的租户/项目 IDinstance_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 映射到容器端口 8000NEO4J_TRANSPORT=stdio:使用 stdio 传输,以兼容 Claude DesktopNEO4J_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_TRANSPORT | stdio (local), http (remote) | 传输协议(stdio、http 或 sse) |
NEO4J_MCP_SERVER_HOST | 127.0.0.1 (local) | 绑定的主机 |
NEO4J_MCP_SERVER_PORT | 8000 | HTTP/SSE 传输使用的端口 |
NEO4J_MCP_SERVER_PATH | /mcp/ | 访问 MCP 服务的路径 |
NEO4J_MCP_SERVER_ALLOW_ORIGINS | (empty - secure by default) | 允许的 CORS 来源列表,以逗号分隔 |
NEO4J_MCP_SERVER_ALLOWED_HOSTS | localhost,127.0.0.1 | 允许的主机列表,以逗号分隔(用于防止 DNS 重绑定) |
NEO4J_MCP_SERVER_STATELESS | false | 为 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 等代理服务连接到它。
📝 使用示例
🔍 概览我的租户

🔎 按名称查找实例

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

▶️ 恢复已暂停的实例

➕ 创建新实例

🚀 开发
📦 先决条件
- 安装
uv(Universal Virtualenv):
# Using pip
pip install uv
# Using Homebrew on macOS
brew install uv
# Using cargo (Rust package manager)
cargo install uv
- 克隆仓库并设置开发环境:
# 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 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。