使用说明
n8n MCP服务器
用于n8n工作流自动化平台的模型上下文协议(MCP)服务器。该服务器通过标准化的MCP接口为AI模型提供对n8n工作流的全面访问。
快速开始
先决条件
- n8n实例正在运行(本地或远程)
- n8n API密钥(如何获取API密钥)
- Node.js 22.10.0或更高版本
安装
直接使用npx安装并运行(不需要本地克隆):
npx @r_masseater/n8n-mcp-server --n8n-url "http://localhost:5678" --api-key "your-api-key"
与Claude Desktop一起使用
将此配置添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": ["@r_masseater/n8n-mcp-server"],
"env": {
"N8N_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key"
}
}
}
}
保存后,重新启动Claude Desktop。现在,您可以让Claude管理您的n8n工作流!
示例提示:
- “列出我的所有n8n工作流”
- “创建一个名为“电子邮件自动化”的新工作流”
- “显示工作流ID abc123的详细信息”
- “更新工作流xyz456以添加新节点”
特性
- 完整的工作流管理:创建、读取、更新和删除n8n工作流
- 优化响应:用于AI模型消费的上下文高效数据结构
- 灵活的身份验证:API基于密钥的身份验证
- 双重运输支持:stdio和HTTP传输
- 全面的错误处理:带有有意义消息的结构化错误响应
配置
CLI选项
# Basic usage (uses environment variables)
npx @r_masseater/n8n-mcp-server
# With CLI options
npx @r_masseater/n8n-mcp-server --n8n-url http://localhost:5678 --api-key your-key --log-level debug
# HTTP transport (for development/testing)
npx @r_masseater/n8n-mcp-server --transport http --port 3000
环境变量
或者,您可以使用环境变量:
# Required
export N8N_URL="http://localhost:5678" # n8n instance URL
export N8N_API_KEY="your-api-key" # n8n API key
# Optional
export LOG_LEVEL="info" # Log level (error|warn|info|debug)
发展
如果你想开发或参与这个项目:
# Clone the repository
git clone https://github.com/masseater/n8n-mcp-server.git
cd n8n-mcp-server
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Run in development mode with auto-reload
pnpm run dev
# Run tests
pnpm test
可用的MCP工具
1. list_workflows
列出n8n个具有可选筛选功能的工作流。
参数:
active(布尔值,可选):按活动状态筛选tags(字符串数组,可选):按标签筛选limit(数字,可选):要返回的最大工作流数(1-100)offset(数字,可选):要跳过的工作流数量
例子:
{
"name": "list_workflows",
"arguments": {
"active": true,
"tags": ["automation", "production"],
"limit": 10
}
}
2. get_workflow
获取特定工作流的详细信息。
参数:
id(字符串,必填):工作流ID
例子:
{
"name": "get_workflow",
"arguments": {
"id": "workflow-123"
}
}
3. create_workflow
创建新工作流。
参数:
name(字符串,必填):工作流名称nodes(数组,可选):工作流节点connections(对象,可选):节点连接active(布尔值,可选):工作流是否处于活动状态tags(字符串数组,可选):工作流标记
例子:
{
"name": "create_workflow",
"arguments": {
"name": "My New Workflow",
"nodes": [
{
"id": "node1",
"type": "n8n-nodes-base.start",
"position": [100, 100]
}
],
"connections": {},
"active": false,
"tags": ["automation"]
}
}
4. update_workflow
更新现有工作流。
参数:
id(字符串,必填):工作流IDname(字符串,可选):新工作流名称nodes(数组,可选):更新了工作流节点connections(对象,可选):已更新节点连接active(布尔值,可选):更新活动状态tags(字符串数组,可选):更新了工作流标记
例子:
{
"name": "update_workflow",
"arguments": {
"id": "workflow-123",
"name": "Updated Workflow Name",
"active": true,
"tags": ["updated", "production"]
}
}
5. delete_workflow
删除工作流。
参数:
id(字符串,必填):工作流ID
例子:
{
"name": "delete_workflow",
"arguments": {
"id": "workflow-123"
}
}
用法示例
与Claude Desktop一起使用
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"n8n": {
"command": "node",
"args": ["/path/to/n8n-mcp-server/dist/index.js"],
"env": {
"N8N_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key",
"LOG_LEVEL": "info"
}
}
}
}
与其他MCP客户端一起使用
服务器支持stdio和HTTP传输:
# stdio transport (default)
pnpm start
# HTTP transport
pnpm start --transport http --port 3000
发展
项目结构
src/
├── clients/ # n8n API client implementations
├── config/ # Configuration management
├── interfaces/ # TypeScript interfaces
├── optimizers/ # Response optimization
├── server/ # MCP server implementation
├── types/ # Type definitions
└── index.ts # Main entry point
脚本
# Development
pnpm run dev # Start in development mode
pnpm run build # Build the project
pnpm run type-check # TypeScript type checking
# Production
pnpm start # Start the server
pnpm start:stdio # Start with stdio transport
pnpm start:http # Start with HTTP transport
测试
# Run type checking
pnpm run type-check
# Build and test
pnpm run build
错误处理
服务器提供结构化错误响应:
{
"content": [
{
"type": "text",
"text": "Error: Failed to authenticate with n8n API"
}
],
"isError": true
}
常见错误场景:
- 身份验证失败:API键无效或n8n实例无法访问
- 找不到工作流:工作流ID无效
- 验证错误:参数或工作流结构无效
- 网络错误:连接超时或API不可用
响应优化
服务器优化了AI模型消费的响应:
- 最小化上下文:删除不必要的字段和元数据
- 基本信息:保留关键工作流数据
- 分页支持:高效处理大型数据集
- 结构化格式:一致的JSON响应
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 运行类型检查并构建
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。