🚀💖☁️ Neo4j Aura数据库管理器MCP服务器
mcp名称:io.github.neo4j-contrib/mcp-neo4j-aura-manager
🌟 概述
一种模型上下文协议(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 (string):要查找的实例的名称 - 返回:如果找到实例详细信息
create_instance
- 创建新的Neo4j Aura数据库实例 - 输入: - tenant_id (string):将创建实例的租户/项目的ID - name (string):新实例的名称 - memory (整数):内存分配(GB) - region (string):实例的区域(例如“us-east-1”) - version (字符串):Neo4j版本(例如“5.15”) - type (字符串,可选):实例类型(企业或专业) - vector_optimized (boolean,可选):实例是否针对向量操作进行了优化 - 返回:已创建实例详细信息
update_instance_name
- 更新实例的名称 - 输入: - instance_id (string):要更新的实例的ID - name (string):实例的新名称 - 返回:已更新实例详细信息
update_instance_memory
- 更新实例的内存分配 - 输入: - instance_id (string):要更新的实例的ID - memory (整数):以GB为单位的新内存分配 - 返回:已更新实例详细信息
update_instance_vector_optimization
- 更新实例的向量优化设置 - 输入: - instance_id (string):要更新的实例的ID - vector_optimized (boolean):实例是否应针对向量操作进行优化 - 返回:已更新实例详细信息
pause_instance
- 暂停数据库实例 - 输入: - instance_id (string):要暂停的实例的ID - 返回:实例状态信息
resume_instance
- 恢复暂停的数据库实例 - 输入: - instance_id (string):要恢复的实例的ID - 返回:实例状态信息
delete_instance
- 删除数据库实例 - 输入: - tenant_id (string):实例所在租户/项目的ID - instance_id (string):要删除的实例的ID - 返回:删除状态信息
🏢 租户/项目管理
list_tenants
- 列出所有Neo4j Aura租户/项目 - 无需输入 - 退货:所有租户及其详细信息的列表
get_tenant_details
- 获取特定租户/项目的详细信息 - 输入: - tenant_id (string):要检索的租户/项目的ID - 返回:租户/项目的详细信息
🔧 使用Claude Desktop
💾 安装
pip install mcp-neo4j-aura-manager⚙️ 配置
将服务器添加到您的 claude_desktop_config.json:
"mcpServers": {
"neo4j-aura": {
"command": "uvx",
"args": [
"mcp-neo4j-aura-manager@0.4.8",
"--client-id",
"",
"--client-secret",
""
]
}
}或者,您可以设置环境变量:
"mcpServers": {
"neo4j-aura": {
"command": "uvx",
"args": [ "mcp-neo4j-aura-manager@0.4.8" ],
"env": {
"NEO4J_AURA_CLIENT_ID": "",
"NEO4J_AURA_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": [
"mcp-neo4j-aura-manager@0.4.8",
"--client-id", "",
"--client-secret", "",
"--namespace", "app1"
]
},
"neo4j-aura-app2": {
"command": "uvx",
"args": [
"mcp-neo4j-aura-manager@0.4.8",
"--client-id", "",
"--client-secret", "",
"--namespace", "app2"
]
}
}CLI使用情况
# With namespace
mcp-neo4j-aura-manager --client-id --client-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= \
-e NEO4J_AURA_CLIENT_SECRET= \
-e NEO4J_NAMESPACE=myapp \
mcp-neo4j-aura-manager🌐 HTTP传输模式
服务器支持基于web的部署和微服务的HTTP传输:
# 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🔄 运输方式
服务器支持三种传输模式:
- 工作室 (默认):本地工具和Claude Desktop的标准输入/输出
- 上海证券交易所:基于web的部署的服务器发送事件
- 超文本传输协议:适用于现代web部署和微服务的流式HTTP
🔒 安全保护
服务器包括全面的安全保护 安全默认值 在使用HTTP传输时,可以防止常见的基于网络的攻击,同时保留完整的MCP功能。
🛡️ DNS重新绑定保护
可信主机中间件 验证主机标头以防止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 for Claude Desktop
在这里,我们使用Docker Hub托管的Aura Manager MCP服务器映像和stdio传输,与Claude Desktop一起使用。
配置详细信息:
-i:交互模式-保持STDIN打开以进行stdio传输通信--rm:容器退出时自动删除(清理)-p 8000:8000:端口映射-将主机端口8000映射到集装箱端口8000NEO4J_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: .
# 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:
# 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:🔧 环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
NEO4J_AURA_CLIENT_ID | _(无)_ | Neo4j Aura API客户端ID |
NEO4J_AURA_CLIENT_SECRET | _(无)_ | Neo4j Aura API客户端机密 |
NEO4J_NAMESPACE | _(空-无前缀)_ | 工具名称的命名空间前缀(例如。, myapp-list_instances) |
NEO4J_TRANSPORT | stdio (本地), http (远程) | 传输协议(stdio, http,或 sse) |
NEO4J_MCP_SERVER_HOST | 127.0.0.1 (本地) | 要绑定的主机 |
NEO4J_MCP_SERVER_PORT | 8000 | HTTP/SSE传输端口 |
NEO4J_MCP_SERVER_PATH | /mcp/ | 访问MCP服务器的路径 |
NEO4J_MCP_SERVER_ALLOW_ORIGINS | _(空-默认安全)_ | 允许的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🔗 Claude桌面与Docker的集成
对于Claude Desktop与使用http传输的Docker化服务器的集成:
{
"mcpServers": {
"neo4j-aura-docker": {
"command": "npx",
"args": ["-y", "mcp-remote@latest", "http://localhost:8000/mcp/"]
}
}
}备注:首先使用HTTP传输启动Docker容器,然后Claude Desktop可以通过HTTP端点和代理服务器连接到它,如 mcp-remote.
📝 使用示例
🔍 概述我的租户

🔎 按名称查找实例

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

▶️ 恢复暂停的实例

➕ 创建新实例

🚀 发展
📦 先决条件
- 安装
uv(通用虚拟环境):
# 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文件。
