feat: implement n8n integration improvements and protocol version negotiation
- Add intelligent protocol version negotiation (2024-11-05 for n8n, 2025-03-26 for standard clients) - Fix memory leak potential with async cleanup and connection close handling - Enhance error sanitization for production environments - Add schema validation for n8n nested output workaround - Improve Docker security with unpredictable UIDs/GIDs - Create n8n-friendly tool descriptions to reduce schema validation errors - Add comprehensive protocol negotiation test suite Addresses code review feedback: - Protocol version inconsistency resolved - Memory management improved - Error information leakage fixed - Docker security enhanced 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
10
Dockerfile
10
Dockerfile
@@ -57,9 +57,13 @@ LABEL org.opencontainers.image.description="n8n MCP Server - Runtime Only"
|
||||
LABEL org.opencontainers.image.licenses="MIT"
|
||||
LABEL org.opencontainers.image.title="n8n-mcp"
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup -g 1001 -S nodejs && \
|
||||
adduser -S nodejs -u 1001 && \
|
||||
# Create non-root user with unpredictable UID/GID
|
||||
# Using a hash of the build time to generate unpredictable IDs
|
||||
RUN BUILD_HASH=$(date +%s | sha256sum | head -c 8) && \
|
||||
UID=$((10000 + 0x${BUILD_HASH} % 50000)) && \
|
||||
GID=$((10000 + 0x${BUILD_HASH} % 50000)) && \
|
||||
addgroup -g ${GID} -S nodejs && \
|
||||
adduser -S nodejs -u ${UID} -G nodejs && \
|
||||
chown -R nodejs:nodejs /app
|
||||
|
||||
# Switch to non-root user
|
||||
|
||||
Reference in New Issue
Block a user