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 进行认证需要以下信息:
您可以在 Neo4j Aura 控制台中获取这些凭证,请参阅 Aura API 文档。
这是 API 规范。
服务器提供了以下核心工具:
list_instances
get_instance_details
instance_ids (字符串或数组):要检索的实例ID,或实例ID数组get_instance_by_name
name (字符串):要查找的实例名称create_instance
tenant_id (字符串):实例将被创建的租户/项目的IDname (字符串):新实例的名称memory (整数):内存分配(以GB为单位)region (字符串):实例所在的区域(例如,'us-east-1')version (字符串):Neo4j 版本(例如,'5.15')type (字符串,可选):实例类型(企业版或专业版)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 (字符串):要暂停的实例IDresume_instance
输入:
instance_id (字符串):要恢复的实例ID返回:实例状态信息
delete_instance
tenant_id (字符串):实例存在的租户/项目的IDinstance_id (字符串):要删除的实例IDlist_tenants
get_tenant_details
tenant_id (字符串):要检索的租户/项目的IDpip install mcp-neo4j-aura-manager
在您的 claude_desktop_config.json 中添加服务器:
"mcpServers": {
"neo4j-aura": {
"command": "uvx",
"args": [
"mcp-neo4j-aura-manager@0.4.6",
"--client-id",
"<your-client-id>",
"--client-secret",
"<your-client-secret>"
]
}
}
或者,您可以设置环境变量:
"mcpServers": {
"neo4j-aura": {
"command": "uvx",
"args": [ "mcp-neo4j-aura-manager@0.4.6" ],
"env": {
"NEO4J_AURA_CLIENT_ID": "<your-client-id>",
"NEO4J_AURA_CLIENT_SECRET": "<your-client-secret>"
}
}
}
"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.6"
]
}
}
服务器支持命名空间前缀,用于多租户部署:
"mcpServers": {
"neo4j-aura-app1": {
"command": "uvx",
"args": [
"mcp-neo4j-aura-manager@0.4.6",
"--client-id", "<your-client-id>",
"--client-secret", "<your-client-secret>",
"--namespace", "app1"
]
},
"neo4j-aura-app2": {
"command": "uvx",
"args": [
"mcp-neo4j-aura-manager@0.4.6",
"--client-id", "<your-client-id>",
"--client-secret", "<your-client-secret>",
"--namespace", "app2"
]
}
}
# 带命名空间
mcp-neo4j-aura-manager --client-id <id> --client-secret <secret> --namespace myapp
# 工具变为:myapp-list_instances, myapp-create_instance 等
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 run -e NEO4J_AURA_CLIENT_ID=<id> \
-e NEO4J_AURA_CLIENT_SECRET=<secret> \
-e NEO4J_NAMESPACE=myapp \
mcp-neo4j-aura-manager
服务器支持 HTTP 传输,适用于基于Web的部署和微服务:
# 基本 HTTP 模式(默认:主机=127.0.0.1,端口=8000,路径=/mcp/)
mcp-neo4j-aura-manager --transport http
# 自定义 HTTP 配置
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
服务器支持三种传输模式:
服务器包含全面的安全保护措施,具有安全默认设置,可以防止常见的基于Web的攻击,同时在使用HTTP传输时保留完整的MCP功能。
TrustedHost 中间件验证 Host 头以防止 DNS 重绑定攻击:
默认安全:
localhost 和 127.0.0.1 主机环境变量:
export NEO4J_MCP_SERVER_ALLOWED_HOSTS="example.com,www.example.com"
跨源资源共享 (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"]"*"对于 allowed_hosts:
["example.com", "www.example.com"]"*"Neo4j Aura Manager MCP 服务器可以通过 Docker 进行远程部署。Docker 部署应使用 HTTP 传输以确保Web访问性。为了将此部署集成到像 Claude Desktop 这样的应用程序中,您需要在 MCP 配置中使用代理,如 mcp-remote。
这里我们使用 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 .:
# 构建镜像
docker build -t mcp-neo4j-aura-manager:<version> .
# 使用 http 传输运行(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>
# 使用安全中间件运行生产环境
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 | (无) | 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 无效) |
当使用 SSE 传输(针对旧版Web客户端)时,服务器会暴露一个 HTTP 端点:
# 使用 SSE 传输启动服务器
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
# 测试 SSE 端点
curl http://localhost:8000/sse
# 与 MCP Inspector 一起使用
npx @modelcontextprotocol/inspector http://localhost:8000/sse
为了将 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)连接到它。




![](docs