- Replace ISC license with Sustainable Use License v1.0 - Add LICENSE_FAQ.md explaining the fair-code approach - Update package.json with new license identifier - Add license headers to main entry point files - Update README with clear license usage guidelines Following n8n's licensing approach, this provides: - Free use for internal business purposes - Free use for personal/non-commercial projects - Restrictions on hosting as a service - Protection against commercial exploitation No .ee. mechanism implemented yet - all features remain freely available under the single license. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
n8n Node Documentation MCP Server
An MCP (Model Context Protocol) server that provides n8n node documentation, source code, and usage examples to AI assistants like Claude.
Purpose
This MCP server serves as a comprehensive knowledge base for AI assistants to understand and work with n8n nodes. It provides:
- Complete node source code - The actual TypeScript/JavaScript implementation of each n8n node
- Official documentation - Markdown documentation from the n8n-docs repository
- Usage examples - Sample workflow JSON showing how to use each node
- Search capabilities - Full-text search across node names, descriptions, and documentation
Features
- 🔍 Full-text search - Search nodes by name, description, or documentation content
- 📚 Complete documentation - Fetches and indexes official n8n documentation
- 💻 Source code access - Provides full source code for each node
- 🎯 Usage examples - Auto-generates example workflows for each node type
- 🔄 Database rebuild - Rebuilds the entire database with latest node information
- ⚡ Fast SQLite storage - All data stored locally for instant access
Installation
Prerequisites
- Node.js 18+
- Git (for cloning n8n-docs)
Setup
# Clone the repository
git clone https://github.com/yourusername/n8n-mcp.git
cd n8n-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Initialize and rebuild the database with all nodes
npm run db:rebuild:v2
Deployment Options
This MCP server can be deployed in two ways:
- Local Installation - Run on your machine and connect Claude Desktop locally
- Remote Deployment - Deploy to a VM/server and connect Claude Desktop over HTTPS
For remote deployment instructions, see docs/REMOTE_DEPLOYMENT.md.
Installing in Claude Desktop
1. Build the project first
npm install
npm run build
npm run db:rebuild:v2 # This indexes all n8n nodes
2. Locate your Claude Desktop configuration
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
3. Edit the configuration file
{
"mcpServers": {
"n8n-nodes": {
"command": "node",
"args": ["/absolute/path/to/n8n-mcp/dist/index-v2.js"],
"env": {
"NODE_DB_PATH": "/absolute/path/to/n8n-mcp/data/nodes-v2.db"
}
}
}
}
Important: Use absolute paths, not relative paths like ~/ or ./
4. Restart Claude Desktop
After saving the configuration, completely quit and restart Claude Desktop.
5. Verify the connection
In Claude, you should see "n8n-nodes" in the MCP connections. Try asking:
- "What n8n nodes are available?"
- "Show me how to use the IF node in n8n"
- "Search for webhook nodes in n8n"
- "Show me the source code for the HTTP Request node"
Remote Server Configuration
If you're connecting to a remote server instead of local installation:
{
"mcpServers": {
"n8n-nodes-remote": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/client-http",
"https://n8ndocumentation.aiservices.pl/mcp"
],
"env": {
"MCP_AUTH_TOKEN": "your-auth-token-from-server"
}
}
}
}
Replace n8ndocumentation.aiservices.pl with your actual domain and use the auth token configured on your server.
Available MCP Tools
list_nodes
Lists all available n8n nodes with basic information.
- Parameters:
category,packageName,isTrigger(all optional)
get_node_info
Gets complete information about a specific node including source code, documentation, and examples.
- Parameters:
nodeType(required) - e.g., "n8n-nodes-base.if", "If", "webhook"
search_nodes
Searches for nodes by name, description, or documentation content.
- Parameters:
query(required),category,hasDocumentation,limit(optional)
get_node_example
Gets example workflow JSON for a specific node.
- Parameters:
nodeType(required)
get_node_source_code
Gets only the source code of a node.
- Parameters:
nodeType(required),includeCredentials(optional)
get_node_documentation
Gets only the documentation for a node.
- Parameters:
nodeType(required),format(optional: "markdown" or "plain")
rebuild_database
Rebuilds the entire node database with latest information.
- Parameters:
includeDocumentation(optional, default: true)
get_database_statistics
Gets statistics about the node database.
- No parameters required
Example Usage
When you ask Claude about the IF node, it will use the MCP tools to provide:
{
"nodeType": "n8n-nodes-base.if",
"name": "If",
"displayName": "If",
"description": "Route items based on comparison operations",
"sourceCode": "// Full TypeScript source code...",
"documentation": "# If Node\n\nThe If node splits a workflow...",
"exampleWorkflow": {
"nodes": [{
"parameters": {
"conditions": {
"conditions": [{
"leftValue": "={{ $json }}",
"rightValue": "",
"operator": {
"type": "object",
"operation": "notEmpty"
}
}]
}
},
"type": "n8n-nodes-base.if",
"position": [220, 120],
"name": "If"
}],
"connections": {
"If": {
"main": [[], []]
}
}
}
}
Database Management
Initial Setup
The database is automatically created when you run:
npm run db:rebuild:v2
This process:
- Clones/updates the n8n-docs repository
- Extracts source code from all n8n nodes
- Fetches documentation for each node
- Generates usage examples
- Stores everything in SQLite with full-text search
Manual Rebuild
To update the database with latest nodes:
npm run db:rebuild:v2
Database Location
The SQLite database is stored at: data/nodes-v2.db
Development
# Run in development mode (local stdio)
npm run dev:v2
# Run HTTP server for remote access
npm run dev:http
# Run tests
npm run test:v2
# Type checking
npm run typecheck
Running Remote Server
To run the server for remote access:
# Copy and configure environment
cp .env.example .env
# Edit .env with your domain and auth token
# Run in production mode
npm run start:http
# Or with PM2 for production
pm2 start dist/index-http.js --name n8n-mcp
Troubleshooting
Claude Desktop doesn't show the MCP server
- Ensure you've restarted Claude Desktop after editing the config
- Check the config file is valid JSON (no trailing commas)
- Verify the absolute paths are correct
- Check Claude's developer console for errors (Help → Developer)
"Connection failed" in Claude
- Ensure the MCP server is built (
npm run build) - Check that the database exists (
data/nodes-v2.db) - Verify the NODE_DB_PATH in Claude config points to the correct database file
Database rebuild fails
Some nodes may fail to extract (deprecated nodes, triggers without main node file). This is normal. The rebuild will continue and index all available nodes.
No documentation for some nodes
Not all nodes have documentation in the n8n-docs repository. The server will still provide source code and generated examples for these nodes.
Project Structure
n8n-mcp/
├── src/
│ ├── mcp/
│ │ ├── server-v2.ts # MCP server implementation
│ │ └── tools-v2.ts # MCP tool definitions
│ ├── services/
│ │ └── node-documentation-service.ts # Database service
│ ├── utils/
│ │ ├── documentation-fetcher.ts # n8n-docs fetcher
│ │ ├── example-generator.ts # Example generator
│ │ └── node-source-extractor.ts # Source extractor
│ └── scripts/
│ └── rebuild-database-v2.ts # Database rebuild
└── data/
└── nodes-v2.db # SQLite database
License
This project is licensed under the Sustainable Use License.
What does this mean?
- ✅ Free to use for internal business purposes
- ✅ Free to use for personal/non-commercial projects
- ✅ Free to modify for your own use
- ✅ Free to share with others (non-commercially)
- ❌ Cannot host as a service for others
- ❌ Cannot include in commercial products without permission
This is a "fair-code" license similar to n8n's approach. See LICENSE_FAQ.md for more details.
Support
For issues and questions, please use the GitHub issue tracker.
For commercial licensing inquiries, please open an issue with the "licensing" tag.