存储库描述
通过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资产的单独目录。
- 🔒 仅限本地:将所有数据和执行保存在您的计算机上——非常适合敏感或离线环境。
先决条件
- 码头工人 (20.10+)
- 基本的本地N8N设置(v0.x或更高版本)
- 熟悉Docker和环境变量
安装
- 克隆此存储库
git clone https://github.com/The-AI-Workshops/n8n-uvx.git
cd n8n-uvx- 复制
.env.example向.env并对其进行编辑 (根据需要更新变量——请参见 环境变量).
- 构建Docker镜像:
docker build -t n8n-uvx .- 使用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-uvxDocker文件概述
这 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=./mcpDocker编写设置
在中使用显式变量映射 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密码到一个安全的秘密。
用法
- 访问
http://localhost:${N8N_PORT}并登录。 - 安装 MCP客户端 节点(如果需要): 设置>社区节点>n8n节点mcp客户端.
- 使用创建工作流 紫外线/uvx 通过N8N的CLI命令 执行命令 节点或自定义节点。
额外资源
- 星光UV/UVX CLI: https://astral.sh/docs/uv
- 出色的MCP服务器:
- N8N Docker文档:
贡献
- 分叉回购。
- 创建分支(
git checkout -b feature/xyz). - 提交更改(
git commit -m "Add feature"). - 推到原点并打开PR。
许可证
该项目根据 MIT许可证.
