You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**STDIO** (default): Standard input/output for local tools and Claude Desktop
194
-
-**SSE**: Server-Sent Events for web-based deployments
196
+
-**SSE**: Server-Sent Events for web-based deployments
195
197
-**HTTP**: Streamable HTTP for modern web deployments and microservices
196
198
199
+
## 🔒 Security Protection
200
+
201
+
The server includes comprehensive security protection with **secure defaults** that protect against common web-based attacks while preserving full MCP functionality when using HTTP transport.
202
+
203
+
### 🛡️ DNS Rebinding Protection
204
+
205
+
**TrustedHost Middleware** validates Host headers to prevent DNS rebinding attacks:
206
+
207
+
**Secure by Default:**
208
+
- Only `localhost` and `127.0.0.1` hosts are allowed by default
209
+
- Malicious websites cannot trick browsers into accessing your local server
- Be specific: `["https://example.com", "https://example.com"]`
245
+
- Never use `"*"` in production with credentials
246
+
- Use HTTPS origins in production
247
+
248
+
**For `allowed_hosts`:**
249
+
- Include your actual domain: `["example.com", "www.example.com"]`
250
+
- Include localhost only for development
251
+
- Never use `"*"` unless you understand the risks
252
+
253
+
254
+
## 🐳 Docker Deployment
255
+
256
+
The Neo4j Aura Manager MCP server can be deployed using Docker for remote deployments. Docker deployment should use HTTP transport for web accessibility. In order to integrate this deployment with applications like Claude Desktop, you will have to use a proxy in your MCP configuration such as `mcp-remote`.
257
+
258
+
### 🐳 Using with Docker for Claude Desktop
259
+
260
+
Here we use the Docker Hub hosted Aura Manager MCP server image with stdio transport for use with Claude Desktop.
261
+
262
+
**Config details:**
263
+
*`-i`: Interactive mode - keeps STDIN open for stdio transport communication
264
+
*`--rm`: Automatically remove container when it exits (cleanup)
265
+
*`-p 8000:8000`: Port mapping - maps host port 8000 to container port 8000
266
+
*`NEO4J_TRANSPORT=stdio`: Uses stdio transport for Claude Desktop compatibility
267
+
*`NEO4J_AURA_CLIENT_ID` and `NEO4J_AURA_CLIENT_SECRET`: Your Aura API credentials
**Note**: First start your Docker container with HTTP transport, then Claude Desktop can connect to it via the HTTP endpoint and proxy server like `mcp-remote`.
372
+
197
373
## 📝 Usage Examples
198
374
199
375
### 🔍 Give overview over my tenants
@@ -245,20 +421,6 @@ source .venv/bin/activate # On Unix/macOS
245
421
uv pip install -e ".[dev]"
246
422
```
247
423
248
-
### 🐳 Docker
249
-
250
-
Build and run the Docker container:
251
-
252
-
```bash
253
-
# Build the image
254
-
docker build -t mcp-neo4j-aura-manager:<version>.
255
-
256
-
# Run the container
257
-
docker run -e NEO4J_AURA_CLIENT_ID="your-client-id" \
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
0 commit comments