n8n-uvx
n8n-uvx is a workflow automation tool utilizing Docker, allowing users to easily integrate APIs and services. It enables no-code operations, allowing users to visually design complex processes. With support for various triggers and actions, it offers high extensibility, catering to diverse business needs.
GitHub Stars
7
User Rating
Not Rated
Favorites
0
Views
6
Forks
0
Issues
0
Repository Description
Self-hosted N8N integration for MCP UVX servers via Docker—run UVX-powered MCP servers locally in your N8N workflows without any cloud dependency.
n8n-uvx
A Dockerized setup that integrates Astral UV/UVX MCP servers directly into your local N8N instance—no external cloud services required.
Table of Contents
- Introduction
- Features
- Prerequisites
- Installation
- Dockerfile Overview
- Environment Variables (.env)
- Docker Compose Setup
- Configuration
- Usage
- Additional Resources
- Contributing
- License
Introduction
This repository provides everything you need to self-host MCP UVX servers inside your N8N workflows using Docker. It installs the Astral UV/UVX CLI tools into an N8N container, exposes a data directory for MCP assets, and configures a Docker Compose service for seamless local automation.
Features
- 🐳 Docker-First: Fully containerized setup for portability and isolation.
- ⚙️ Astral CLI Tools: Installs
uv
anduvx
via Astral’s installer for MCP server management. - 📁 Persistent Data Volumes: Separate directories for N8N workflows and MCP assets.
- 🔒 Local-Only: Keep all data and execution on your machine—ideal for sensitive or offline environments.
Prerequisites
- Docker (20.10+)
- Docker Compose
- A basic local N8N setup (v0.x or later)
- Familiarity with Docker and environment variables
Installation
Clone this repository
git clone https://github.com/The-AI-Workshops/n8n-uvx.git cd n8n-uvx
Copy
.env.example
to.env
and edit it (update variables as needed — see Environment Variables).Build the Docker image:
docker build -t n8n-uvx .
Launch with Docker Compose:
docker-compose up -d
**Alternative with **docker run
(no Compose):
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
Dockerfile Overview
The Dockerfile
extends the official N8N image and includes steps to install system dependencies and 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
Environment Variables (.env)
Create a .env
at the project root with these values:
# 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 Compose Setup
Use explicit variable mappings in 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"
Configuration
- Ports: Adjust
N8N_PORT
if port 5678 is in use. - Volumes: Ensure
./data
and./mcp
exist with proper permissions. - Authentication: Change default
admin123
password to a secure secret.
Usage
- Visit
http://localhost:${N8N_PORT}
and log in. - Install the MCP Client node if needed: Settings > Community Nodes > n8n-nodes-mcp-client.
- Create workflows using the uv/uvx CLI commands via N8N’s Execute Command node or custom nodes.
Additional Resources
- Astral UV/UVX CLI: https://astral.sh/docs/uv
- Awesome MCP Servers: https://github.com/punkpeye/awesome-mcp-servers
- N8N Docker Docs: https://docs.n8n.io/getting-started/docker/
Contributing
- Fork the repo.
- Create a branch (
git checkout -b feature/xyz
). - Commit changes (
git commit -m "Add feature"
). - Push to origin and open a PR.
License
This project is licensed under the MIT License.
0
Followers
0
Repositories
0
Gists
0
Total Contributions
The WordPress MCP Server is designed to enable AI assistants to interact with WordPress sites through the REST API. It supports secure content management and post operations across multiple WordPress sites. With dynamic endpoint discovery and graceful error handling, it offers a user-friendly experience through a simple JSON configuration file.