mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-01-29 22:12:05 +00:00
Added DISABLED_TOOLS environment variable to filter specific tools from registration at startup, enabling deployment-specific tool configuration for multi-tenant deployments, security hardening, and feature flags. ## Implementation - Added getDisabledTools() method to parse comma-separated tool names from env var - Modified ListToolsRequestSchema handler to filter both documentation and management tools - Modified CallToolRequestSchema handler to reject disabled tool calls with clear error messages - Added defense-in-depth guard in executeTool() method ## Features - Environment variable format: DISABLED_TOOLS=tool1,tool2,tool3 - O(1) lookup performance using Set data structure - Clear error messages with TOOL_DISABLED code - Backward compatible (no DISABLED_TOOLS = all tools enabled) - Comprehensive logging for observability ## Use Cases - Multi-tenant: Hide tools that check global env vars - Security: Disable management tools in production - Feature flags: Gradually roll out new tools - Deployment-specific: Different tool sets for cloud vs self-hosted ## Testing - 45 comprehensive tests (all passing) - 95% feature code coverage - Unit tests + additional test scenarios - Performance tested with 1000 tools (<100ms) ## Files Modified - src/mcp/server.ts - Core implementation (~40 lines) - .env.example, .env.docker - Configuration documentation - tests/unit/mcp/disabled-tools*.test.ts - Comprehensive tests - package.json, package.runtime.json - Version bump to 2.22.14 - CHANGELOG.md - Full documentation Resolves #410 Conceived by Romuald Członkowski - www.aiadvisors.pl/en
25 lines
561 B
JSON
25 lines
561 B
JSON
{
|
|
"name": "n8n-mcp-runtime",
|
|
"version": "2.22.14",
|
|
"description": "n8n MCP Server Runtime Dependencies Only",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.13.2",
|
|
"@supabase/supabase-js": "^2.57.4",
|
|
"express": "^5.1.0",
|
|
"express-rate-limit": "^7.1.5",
|
|
"dotenv": "^16.5.0",
|
|
"lru-cache": "^11.2.1",
|
|
"sql.js": "^1.13.0",
|
|
"tslib": "^2.6.2",
|
|
"uuid": "^10.0.0",
|
|
"axios": "^1.7.7"
|
|
},
|
|
"engines": {
|
|
"node": ">=16.0.0"
|
|
},
|
|
"optionalDependencies": {
|
|
"better-sqlite3": "^11.10.0"
|
|
}
|
|
}
|