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
* add CORS middleware, update HTTP transport tests, update config parsing, update readme, update changelog
* formatting
* change dockerfile default back to stdio
* allow_methods = POST, GET
* update manifest.json change default host to 127.0.0.1 from 0.0.0.0
* host validation middleware, update sse run with middleware, update readme and other conf files
* update changelog, dockerfile, docker-compose
tested with claude desktop with remote proxy
* replace all address examples with `example.com`
* fix utils unit tests
Copy file name to clipboardExpand all lines: servers/mcp-neo4j-cypher/README.md
+97-19Lines changed: 97 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -138,6 +138,61 @@ Choose your transport based on use case:
138
138
-**Remote deployment**: Use `http`
139
139
-**Legacy web clients**: Use `sse`
140
140
141
+
## 🔒 Security Protection
142
+
143
+
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.
144
+
145
+
### 🛡️ DNS Rebinding Protection
146
+
147
+
**TrustedHost Middleware** validates Host headers to prevent DNS rebinding attacks:
148
+
149
+
**Secure by Default:**
150
+
- Only `localhost` and `127.0.0.1` hosts are allowed by default
151
+
- Malicious websites cannot trick browsers into accessing your local server
- Be specific: `["https://example.com", "https://example.com"]`
188
+
- Never use `"*"` in production with credentials
189
+
- Use HTTPS origins in production
190
+
191
+
**For `allowed_hosts`:**
192
+
- Include your actual domain: `["example.com", "www.example.com"]`
193
+
- Include localhost only for development
194
+
- Never use `"*"` unless you understand the risks
195
+
141
196
## 🔧 Usage with Claude Desktop
142
197
143
198
### Using DXT
@@ -148,7 +203,7 @@ Download the latest `.dxt` file from the [releases page](https://github.com/neo4
148
203
149
204
Can be found on PyPi https://pypi.org/project/mcp-neo4j-cypher/
150
205
151
-
Add the server to your `claude_desktop_config.json` with the database connection configuration through environment variables. You may also specify the transport methodand namespace with cli arguments or environment variables.
206
+
Add the server to your `claude_desktop_config.json` with the database connection configuration through environment variables. You may also specify the transport method, namespace and other config variables with cli arguments or environment variables.
152
207
153
208
```json
154
209
{
@@ -169,17 +224,24 @@ Add the server to your `claude_desktop_config.json` with the database connection
169
224
170
225
### 🌐 HTTP Transport Configuration
171
226
172
-
For custom HTTP configurations beyond the defaults:
227
+
For custom HTTP configurations with security middleware:
0 commit comments