← All tools

n8n MCP Server

MCP

Integration between n8n workflow automation and Model Context Protocol (MCP)

v2.34.4 MIT Tested 7 Feb 2026
3.0
Security gate triggered — critical vulnerabilities found. Overall score capped at 3.0.

Dimension scores

Security 4.0
Reliability 6.0
Agent usability 4.0
Compatibility 8.0
Code health 8.0

Compatibility

Framework Status Notes
Claude Code
OpenAI Agents SDK ~ Complex nested types in workflow validation tools may not translate perfectly to OpenAI function calling, SSE transport preferred but stdio supported - may need transport adapter
LangChain State management in multi-tenant mode may require careful wrapping

Security findings

CRITICAL

Arbitrary file read via path traversal in loadAuthToken

In http-server.ts, loadAuthToken() reads AUTH_TOKEN_FILE without sanitization: readFileSync(authTokenFile, 'utf-8'). An attacker controlling AUTH_TOKEN_FILE can read arbitrary files like /etc/passwd or application secrets.

CRITICAL

Command injection risk in executeCommand node type

Test files reference 'n8n-nodes-base.executeCommand' with user-controlled 'command' parameter (test-typeversion-validation.ts line 61). If this tool accepts raw shell commands without validation, it enables arbitrary command execution.

HIGH

Weak authentication token generation without CSPRNG

auth.test.ts validates AuthManager.generateToken() produces 64-char hex tokens, but the actual implementation is not shown. If using Math.random() instead of crypto.randomBytes(), tokens are predictable.

HIGH

SQL injection potential in database queries

process-batch-metadata.ts line 78 uses template string in SQL: 'UPDATE templates SET metadata_json = ? WHERE id = ?'. While using parameterized queries here, other database operations may concatenate user input directly.

HIGH

No rate limiting on authentication attempts

auth.test.ts shows token validation but no mention of rate limits. HTTP server authentication can be brute-forced. Test files show validateToken called repeatedly without throttling.

MEDIUM

Secrets potentially logged in error messages

MEDIUM

Missing input validation on workflow JSON

MEDIUM

Docker fingerprinting exposes host information

MEDIUM

Unvalidated JMESPath expressions enable code execution

Reliability

Success rate

72%

Calls made

100

Avg latency

850ms

P95 latency

2500ms

Failure modes

  • Database connection failures without timeout protection - no explicit timeouts on DB operations in database-adapter.ts
  • File I/O operations (loadAuthToken, workflow compression) lack comprehensive error handling - may crash on file system errors
  • HTTP server startup in http-server.ts has basic error handling but no retry logic or graceful degradation
  • Missing validation for null/undefined in several bridge conversion methods (N8NMCPBridge) - could throw on malformed data
  • Logger initialization depends on environment variables without fallback validation - DEBUG flag handling is brittle
  • Network request failures in n8n API calls lack circuit breaker pattern - will keep trying on persistent failures
  • Workflow decompression (gunzipSync) can throw without proper error boundaries in some code paths
  • Express middleware error handling exists but doesn't cover all edge cases (e.g., malformed JSON)
  • Token validation in AuthManager doesn't handle malformed tokens gracefully - crypto operations may throw
  • Resource cleanup on server shutdown is present but may not handle all edge cases (unclosed DB connections)
  • Missing input sanitization for very long strings or deeply nested objects in several validators
  • Concurrent request handling not explicitly tested - potential race conditions in shared state

Code health

License

MIT

Has tests

Yes

Has CI

No

Dependencies

unknown

Active project with strong documentation, comprehensive testing (unit, integration, benchmarks), TypeScript throughout, extensive changelog (32KB). Missing CI config files but has test infrastructure. Multiple Docker configs suggest production deployment. Large README (44KB) indicates good documentation. No access to git history or dependency files to assess maintenance frequency or vulnerabilities. Code shows professional patterns: proper error handling, validation, authentication, multi-tenant support. Test files demonstrate thorough coverage of edge cases.