n8n工作流下载器

一个MCP服务器,使AI代理能够从URL下载n8n工作流,适用于自动化流程管理和集成开发。

  • by andrewlwn77
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 andrewlwn77/n8n-workflow-downloader-mcp

使用说明

n8n工作流下载器MCP服务器

MCP(模型上下文协议)服务器,使AI代理能够从URL下载n8n工作流。

特性

  • 从以下URL下载n8n工作流 https://n8n.io/workflows/3442
  • 返回完整的工作流JSON结构
  • 包括元数据(工作流ID、名称、URL)
  • 优雅地处理错误

安装

作为一个全球性的npm包

npm install -g n8n-workflow-downloader-mcp

为了发展

git clone https://github.com/andrewlwn77/n8n-workflow-downloader-mcp.git
cd n8n-workflow-downloader-mcp
npm install
npm run build

用法

使用Claude Desktop或其他MCP客户端

添加到MCP配置中:

使用npx(推荐):

{
  "mcpServers": {
    "n8n-workflow-downloader": {
      "command": "npx",
      "args": ["n8n-workflow-downloader-mcp"],
      "transport": {
        "type": "stdio"
      },
      "env": {
        "PUPPETEER_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome"
      }
    }
  }
}

如果通过npm全局安装:

{
  "mcpServers": {
    "n8n-workflow-downloader": {
      "command": "n8n-workflow-downloader",
      "transport": {
        "type": "stdio"
      },
      "env": {
        "PUPPETEER_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome"
      }
    }
  }
}

如果本地安装或从源安装:

{
  "mcpServers": {
    "n8n-workflow-downloader": {
      "command": "node",
      "args": ["./path/to/build/index.js"],
      "transport": {
        "type": "stdio"
      },
      "env": {
        "PUPPETEER_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome"
      }
    }
  }
}

环境变量

  • PUPPETEER_EXECUTABLE_PATH (可选):Chrome/Chromium可执行文件的路径
    • 如果没有设置,Puppeteer将使用其捆绑的Chromium
    • 适用于在非标准位置安装Chrome的系统
    • 例子: /opt/google/chrome/google-chrome, /usr/bin/chromium-browser

可用工具

download_n8n_workflow

从给定的URL下载n8n工作流。

输入:

  • url (string,必填):n8n工作流URL(例如。,https://n8n.io/workflows/3442)

输出:

  • workflow:完整的n8n工作流JSON对象
  • metadata:对象包含:
    • id:工作流ID
    • name:工作流名称
    • url:原始URL

Claude中的示例用法:

Please download the n8n workflow from https://n8n.io/workflows/3442

发展

# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode for development
npm run dev

# Run tests
npm test

# Run specific test suites
npm run test:unit        # Unit tests only
npm run test:integration # Integration tests only

# Run tests in watch mode
npm run test:watch

# Generate test coverage report
npm run test:coverage

# Test the server manually (for debugging/development)
node test-server.js

测试

该项目包括全面的测试覆盖范围:

  • 单元测试 (tests/unit/):单独测试单个模块

    • 下载器模块验证和错误处理
    • URL解析和验证
    • 模拟木偶师互动
  • 集成测试 (tests/integration/):测试完整的MCP服务器

    • 服务器初始化
    • 工具列表和发现
    • 端到端工作流下载模拟
    • 错误处理和验证

跑 npm test 执行所有测试,或使用上面列出的特定测试命令。

手动测试

这 test-server.js 脚本提供了一种手动测试MCP服务器的快速方法:

  • 初始化服务器
  • 列出可用工具
  • 演示工具调用
  • 显示实时服务器输出

这对于调试和开发很有用,可以补充自动化测试套件。

技术细节

  • 使用Puppeteer自动化工作流下载过程
  • 拦截剪贴板操作以捕获工作流JSON
  • 使用TypeScript和官方MCP SDK构建
  • 实现本地通信的stdio传输
  • 支持通过以下方式自定义Chrome/Chromium可执行路径 PUPPETEER_EXECUTABLE_PATH

需求

  • Node.js 16+
  • 铬/铬(用于Puppeter)