203 lines
4.3 KiB
Markdown
203 lines
4.3 KiB
Markdown
# Claude Desktop Configuration for n8n-MCP
|
|
|
|
## Setup Options
|
|
|
|
You can set up n8n-MCP with Claude Desktop in three ways:
|
|
|
|
### Option 1: Docker (Recommended) 🐳
|
|
|
|
The easiest way to get started is using Docker:
|
|
|
|
#### 1a. Docker with HTTP Mode (Remote Access)
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"n8n-remote": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@modelcontextprotocol/mcp-remote@latest",
|
|
"connect",
|
|
"http://localhost:3000/mcp"
|
|
],
|
|
"env": {
|
|
"MCP_AUTH_TOKEN": "your-auth-token-here"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**Setup steps:**
|
|
1. Create a `.env` file:
|
|
```bash
|
|
echo "AUTH_TOKEN=$(openssl rand -base64 32)" > .env
|
|
```
|
|
2. Start the server:
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
3. Copy the AUTH_TOKEN to your Claude config
|
|
|
|
#### 1b. Docker with stdio Mode (Direct)
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"n8n-docker": {
|
|
"command": "docker",
|
|
"args": [
|
|
"run",
|
|
"--rm",
|
|
"-i",
|
|
"-e", "MCP_MODE=stdio",
|
|
"-v", "n8n-mcp-data:/app/data",
|
|
"ghcr.io/czlonkowski/n8n-mcp:latest"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Option 2: Local Installation
|
|
|
|
1. **Build the project first:**
|
|
```bash
|
|
cd /path/to/n8n-mcp
|
|
npm install
|
|
npm run build
|
|
npm run rebuild
|
|
```
|
|
|
|
2. **Add to Claude Desktop config:**
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"n8n-documentation": {
|
|
"command": "node",
|
|
"args": [
|
|
"/path/to/n8n-mcp/dist/mcp/index.js"
|
|
],
|
|
"env": {
|
|
"NODE_ENV": "production"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Option 3: NPM Global Install (Coming Soon)
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"n8n-documentation": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"n8n-mcp@latest"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Configuration File Locations
|
|
|
|
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
|
|
|
|
After updating the config, **restart Claude Desktop** to load the new configuration.
|
|
|
|
## Available Tools
|
|
|
|
Once configured, you'll have access to these tools in Claude:
|
|
|
|
- **`list_nodes`** - List and filter n8n nodes
|
|
```
|
|
list_nodes({ package: "n8n-nodes-base", limit: 10 })
|
|
```
|
|
|
|
- **`get_node_info`** - Get detailed information about a specific node
|
|
```
|
|
get_node_info({ nodeType: "httpRequest" })
|
|
```
|
|
|
|
- **`search_nodes`** - Search across all node documentation
|
|
```
|
|
search_nodes({ query: "webhook", limit: 20 })
|
|
```
|
|
|
|
- **`list_ai_tools`** - List nodes that can be used as AI Agent tools
|
|
```
|
|
list_ai_tools({})
|
|
```
|
|
|
|
- **`get_node_documentation`** - Get full documentation for a node
|
|
```
|
|
get_node_documentation({ nodeType: "slack" })
|
|
```
|
|
|
|
- **`get_database_statistics`** - Get statistics about the node database
|
|
```
|
|
get_database_statistics({})
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Docker Issues
|
|
|
|
1. **Container fails to start:**
|
|
```bash
|
|
# Check logs
|
|
docker compose logs -f
|
|
|
|
# Check if port is in use
|
|
lsof -i :3000
|
|
```
|
|
|
|
2. **Authentication errors:**
|
|
- Ensure AUTH_TOKEN matches in .env and Claude config
|
|
- Token should be at least 32 characters
|
|
- Check quotes in JSON config
|
|
|
|
3. **Database not found:**
|
|
- The container will auto-initialize on first run
|
|
- To rebuild: `docker compose exec n8n-mcp npm run rebuild`
|
|
|
|
### Local Installation Issues
|
|
|
|
1. **If the server doesn't appear in Claude:**
|
|
- Check that the path in `args` is absolute and correct
|
|
- Ensure you've run `npm run build` and `npm run rebuild`
|
|
- Verify Node.js version compatibility
|
|
|
|
2. **If tools return errors:**
|
|
- Ensure the database exists: `data/nodes.db`
|
|
- Run `npm run validate` to check the database
|
|
- Rebuild if necessary: `npm run rebuild`
|
|
|
|
3. **For development/testing:**
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"n8n-documentation": {
|
|
"command": "node",
|
|
"args": [
|
|
"/path/to/your/n8n-mcp/dist/mcp/index.js"
|
|
],
|
|
"env": {
|
|
"NODE_ENV": "development",
|
|
"LOG_LEVEL": "debug"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Common Solutions
|
|
|
|
- **Restart Claude Desktop** after config changes
|
|
- **Check file permissions** on Unix systems
|
|
- **Use absolute paths** in configuration
|
|
- **Verify JSON syntax** in claude_desktop_config.json |