N8N UVX集成工具

一个通过Docker将Astral UV/UVX MCP服务器集成到本地N8N实例中的工具,无需依赖外部云服务。

  • by The-AI-Workshops
  • Dockerfile
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 The-AI-Workshops/n8n-uvx

使用说明

存储库描述

通过Docker实现MCP UVX服务器的自托管N8N集成——在N8N工作流中本地运行由UVX驱动的MCP服务器,无需任何云依赖。


n8n紫外线

一个Docker化的设置,将Astral UV/UVX MCP服务器直接集成到您的本地N8N实例中,不需要外部云服务。

目录

引言

此存储库提供了使用Docker在N8N工作流中自托管MCP UVX服务器所需的一切。它将Astral UV/UVX CLI工具安装到N8N容器中,公开MCP资产的数据目录,并配置Docker Compose服务以实现无缝的本地自动化。

特性

  • 🐳 Docker优先:完全容器化设置,便于携带和隔离。
  • ⚙️ Astral CLI工具:安装 uv 和 uvx 通过Astral的MCP服务器管理安装程序。
  • 📁 持久数据量:N8N工作流和MCP资产的单独目录。
  • 🔒 仅限本地:将所有数据和执行保存在您的计算机上——非常适合敏感或离线环境。

先决条件

安装

  1. 克隆此存储库

    git clone https://github.com/The-AI-Workshops/n8n-uvx.git
    cd n8n-uvx
    
  2. 复制 .env.example 向 .env 并对其进行编辑 (根据需要更新变量——请参见 环境变量).

  3. 构建Docker镜像:

    docker build -t n8n-uvx .
    
  4. 使用Docker Compose启动:

    docker-compose up -d
    

**备选方案**docker run (无作曲):

docker run -d \
  --name n8n-uvx \
  -p ${N8N_PORT}:5678 \
  -e N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE} \
  -e N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER} \
  -e N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD} \
  -e N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=${N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE} \
  -v ${N8N_DATA_DIR}:/home/node/.n8n \
  -v ${MCP_DATA_DIR}:/data/mcp \
  n8n-uvx

Docker文件概述

这 Dockerfile 扩展了官方N8N映像,并包括安装系统依赖项和Astral UV/UVX的步骤:

FROM n8nio/n8n:latest

USER root

# Install necessary system packages
RUN apk add --no-cache \
    curl \
    git \
    build-base \
    chromium \
    bash \
    tar \
    xz \
    util-linux \
    coreutils

# Install Astral uv/uvx and make available system-wide
RUN curl -Ls https://astral.sh/uv/install.sh | bash \
    && cp /root/.local/bin/uv /usr/local/bin/uv \
    && cp /root/.local/bin/uvx /usr/local/bin/uvx \
    && chmod a+rx /usr/local/bin/uv /usr/local/bin/uvx \
    && mkdir -p /data/mcp \
    && chown -R node:node /data/mcp

ENV PATH="/usr/local/bin:/root/.local/bin:${PATH}"

USER node

环境变量(.env)

创建一个 .env 在项目根目录中使用以下值:

# N8N Settings
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=admin123
N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
N8N_PORT=5678

# Data Volume Paths
N8N_DATA_DIR=./data
MCP_DATA_DIR=./mcp

Docker编写设置

在中使用显式变量映射 docker-compose.yml:

version: '3.8'

services:
  n8n:
    build: .
    ports:
      - "${N8N_PORT}:5678"
    environment:
      # N8N Core
      N8N_BASIC_AUTH_ACTIVE:           "${N8N_BASIC_AUTH_ACTIVE}"
      N8N_BASIC_AUTH_USER:             "${N8N_BASIC_AUTH_USER}"
      N8N_BASIC_AUTH_PASSWORD:         "${N8N_BASIC_AUTH_PASSWORD}"
      N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE: "${N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE}"

      # Volume Paths (for clarity)
      N8N_DATA_DIR: "${N8N_DATA_DIR}"
      MCP_DATA_DIR: "${MCP_DATA_DIR}"
    volumes:
      - "${N8N_DATA_DIR}:/home/node/.n8n"
      - "${MCP_DATA_DIR}:/data/mcp"

配置

  • 港口:调整 N8N_PORT 如果端口5678正在使用中。
  • 卷:确保 ./data 和 ./mcp 以适当的权限存在。
  • 认证:更改默认值 admin123 密码到一个安全的秘密。

用法

  1. 访问 http://localhost:${N8N_PORT} 并登录。
  2. 安装 MCP客户端 节点(如果需要): 设置>社区节点>n8n节点mcp客户端.
  3. 使用创建工作流 紫外线/uvx 通过N8N的CLI命令 执行命令 节点或自定义节点。

额外资源

贡献

  1. 分叉回购。
  2. 创建分支(git checkout -b feature/xyz).
  3. 提交更改(git commit -m "Add feature").
  4. 推到原点并打开PR。

许可证

该项目根据 MIT许可证.