n8n-claw
A fully self-hosted personal AI agent built entirely in n8n: it chats via Telegram or HTTP API, remembers context across conversations, manages tasks proactively, and extends itself with MCP skills — all on your own infrastructure.
- Source repo
- freddy-schuetz/n8n-claw
- Stars
- ★ 560
- Last updated
- 2mo ago
- Primary language
- Shell
- FA score
- 52/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformChatGPT · Claude Code · OpenAI API · Claude API
- Cost
- Free software; you pay for model usage
- Setup effort
- High · needs real infrastructure
- You'll need
- Typical use
- An individual who wants a private Telegram assistant that remembers preferences, manages tasks, and proactively nudges before deadlines — without their data leaving their own VPS.
- Not a fit if
- Individuals without a VPS or domain, since Telegram needs HTTPS webhooks
- Teams wanting an out-of-the-box tool with no Docker or multi-key setup
- Source review
- 52/100 · Major gaps
What does this agent do, and when should you use it?
n8n-claw is an OpenClaw-inspired autonomous AI agent built entirely as n8n workflows on top of PostgreSQL (Supabase stack) and a configurable LLM provider (Anthropic Claude Sonnet by default). It accepts natural-language input through a Telegram bot and a Webhook API (with adapters for Slack, Teams, Discord, and custom apps), and routes it into a main agent workflow whose tools include task management, project memory, an MCP client, a skills library manager, expert sub-agents, reminders, web search (SearXNG), web reading (Crawl4AI), and browser automation (Browser Use). Its memory layer uses hybrid retrieval — semantic, full-text, and entity matching fused via RRF — with time decay, category-based auto-expiry, and nightly memory consolidation. Background workflows (Heartbeat, Reminder Runner, Error Notification, Memory Consolidation) run as separate n8n automations inside your own Docker environment, installed by a single setup.sh script. Nothing is cloud-hosted by the project itself, making it suited to individuals and small teams who want control over data and cost.
After installation, you message the agent via Telegram (or POST /webhook/agent with an X-API-Key header). The main agent workflow parses intent and dispatches to tools: the Task Manager creates tasks with priorities and due dates; the Memory component writes conversation facts to the memory_long table and retrieves context via hybrid search (semantic embeddings + accent/umlaut-normalized full-text + entity match, fused with RRF); the Knowledge Graph auto-tracks people, companies, products, and relationships with multi-hop traversal; the MCP Client invokes registered skill servers (43 pre-built skills such as Gmail, Google Calendar, Notion, Hacker News, DeepL, installable with one chat command); the Library Manager fetches templates from the n8n-claw-templates repo and imports/registers them automatically; the Expert Agent delegates to three built-in sub-agents (Research, Content Creator, Data Analyst) plus a 100+ agent catalog; the Reminder Runner delivers due reminders every minute while the Heartbeat runs recurring actions every 5 minutes, using a lightweight Background Checker for on_change monitoring tasks that only notify when something new appears; and the MCP Builder builds brand-new skills by searching docs via SearXNG, scraping with Crawl4AI, generating code, and deploying new n8n workflows. Voice messages are transcribed with Whisper, photos analyzed by GPT-4o-mini Vision, PDFs parsed built-in, and locations converted to coordinates; document/photo originals are staged in the File Bridge (24h) for binary passthrough to skills. An optional OpenClaw skill delegates coding tasks to an autonomous coding agent with full Linux access via its OpenAI-compatible Gateway API.
- An individual who wants a private Telegram assistant that remembers preferences, manages tasks, and proactively nudges before deadlines — without their data leaving their own VPS.
- A developer who wants on-demand API integrations: say 'Build me an MCP server for the OpenLibrary API' and the MCP Builder searches docs, generates code, deploys n8n workflows, and registers the tool automatically.
- A small team connecting the same agent through Slack, Teams, or Discord (via the discord-bridge sidecar container) for shared chat-based lookups, scheduling, and monitoring.
- Someone needing recurring information monitoring: 'check my emails every 15 minutes' or 'daily briefing at 8am', with the Background Checker staying silent unless there's something new.
- A researcher delegating fact-checked, source-backed summaries to the Research Expert, or a marketer pairing the Data Analyst with the Google Analytics skill for reports.
- An OpenClaw user who wants n8n-claw as the front door for delegating website builds, scripts, and refactors to OpenClaw and retrieving the results in chat.
How do you install or deploy this agent?
You need a Linux VPS (Ubuntu 22.04/24.04 recommended, Debian 13 also tested; minimum 4GB RAM, 15GB disk), a Telegram Bot Token (message @BotFather with /newbot), your Telegram Chat ID (via @userinfobot), an LLM API key (Anthropic, OpenAI, OpenRouter, DeepSeek, Gemini, Mistral, Ollama, or any OpenAI-compatible endpoint), and a domain (or sslip.io to auto-map your IP). Then run:
git clone https://github.com/freddy-schuetz/n8n-claw.git && cd n8n-claw && ./setup.shThe script installs Docker and the database automatically, then prompts for: your n8n API Key (generated in the n8n UI opened during setup under Settings → API), Telegram Bot Token + Chat ID, LLM provider and key, domain name (enables Let's Encrypt HTTPS), and agent personality (name, language, style). Optional: embeddings (OpenAI/Voyage AI/Ollama, for semantic memory search) and voice messages (requires an OpenAI Whisper key). For a local setup, see LOCAL_SETUP.md (Docker + ngrok, contributed by @salvodmt).
How do you use this agent?
Once setup completes, message your Telegram bot to start: 'Remind me in 30 minutes to check the oven', 'Remember that I prefer morning meetings before 10am', 'Install the Gmail skill'. Or call it via HTTP:
curl -X POST https://YOUR-DOMAIN/webhook/agent -H "Content-Type: application/" -H "X-API-Key: YOUR_WEBHOOK_SECRET" -d '{"message": "Hello!", "user_id": "test-user"}'WEBHOOK_SECRET is printed at the end of setup (also in .env). Skills install via chat commands (e.g. 'Install weather-openmeteo'); skills needing API keys send a one-time credential form link via Telegram, valid for 10 minutes. The agent can also be connected to Claude Desktop (OAuth), ChatGPT, Claude Code (Bearer token), Lovable, and Cursor through n8n's Instance-Level MCP Server. Recommended hardening: restrict the Telegram Trigger node's Allowed Chat IDs to your own chat.
What are this agent's strengths and limitations?
- Fully self-hosted: all workflows, database, and credentials run on your own infrastructure, with one setup.sh handling Docker, database, credentials, workflow import, and activation automatically.
- Model-agnostic: setup.sh automatically rewrites every LLM node for Anthropic, OpenAI, OpenRouter, DeepSeek, Gemini, Mistral, Ollama, or any OpenAI-compatible endpoint; switching providers is just ./setup.sh --force.
- Mature memory system: hybrid retrieval (semantic + full-text + entity, RRF-fused), time decay, auto-expiry, nightly consolidation and insight extraction, with graceful degradation to full-text search if the embedding API fails.
- Strong extensibility: 43 pre-built MCP skills, a 100+ expert-agent catalog across 12 categories, and an MCP Builder that constructs brand-new skills from a natural-language request.
- Rich interfaces: Telegram, HTTP webhook, Slack/Teams/Discord adapters, and MCP clients (Claude Desktop/ChatGPT/Claude Code/Cursor), with conversations isolated per source and session.
- High deployment barrier: requires a VPS, a domain (or sslip.io), a Telegram bot, and multiple API keys, with 4GB RAM minimum — not a lightweight out-of-the-box tool.
- Voice transcription and photo analysis are locked to the OpenAI API (Whisper and GPT-4o-mini Vision); these features are unavailable if you pick a different LLM provider.
- Skill credentials are stored unencrypted in the template_credentials PostgreSQL table; encryption is planned but not shipped, so anyone with SSH access can read all stored API keys.
- MCP-triggered executions have a hard 5-minute timeout and no binary input; the platform requires n8n v2.2+ (v2.13+ for workflow creation/editing).
- License is not stated in the source, so adoption requires verifying terms yourself; the Telegram bot accepts messages from anyone by default unless you manually configure Allowed Chat IDs.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| n8n-claw This agent | 52 · Major gaps | Self-hosted serviceFree + model costs | ★ 560 | 2mo ago | Shell | ChatGPT · Claude Code · OpenAI API · Claude API |
| Moltis Personal Agent Server | 53 · Major gaps | Self-hosted serviceFree + model costs | ★ 2.9k | today | Rust | Codex · Claude Code |
| Second Brain Personal AI Assistant | 37 · Major gaps | CLIFree + model costs | ★ 671 | 28d ago | Python | — |
| Agent Barn | 55 · Major gaps | Self-hosted serviceFree + model costs | ★ 109 | today | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: README documents X-API-Key for webhooks, localhost-only Supabase behind SSH tunnel, and optional containers (e.g. discord-bridge) isolated via compose profiles — positives. However, the Telegram bot accepts messages from anyone by default (the docs themselves say you must manually add Allowed Chat IDs), browser automation performs external actions (logins, form submissions) with no default confirmation gate, and the OpenClaw integration can run shell commands with no stated constraints; credentials concentrate in .env with no mention of protecting sensitive data inside memory stores; no dependency audit and no explicit rollback path (only --force reinstall). Hence least_privilege, user_confirmation, external_effects, sensitive_data_handling, dependency_security, rollback all score 1. Data flow is clearly described via the architecture diagram and trigger docs (2). Source attribution credits contributors and links catalogs, but the license is missing — 1.
The README is internally consistent: TOC, architecture diagram, and install steps align; an Error Notification workflow logs failures to memory and pushes Telegram alerts, so failure_messages and self_consistency score 2. For dependency availability, docs state memory degrades to keyword search during embedding API outages and Ollama offers a local fallback — 2; but version compatibility for the large service stack is only partially covered (e.g. n8n v2.2+). Static review, low confidence, no execution.
Audience and scenarios are clear (self-hosted individual/small team with Telegram/Slack/Teams/HTTP entry points); environment fit is detailed (Ubuntu 22.04/24.04, Debian 13, 4GB RAM/15GB disk minimums, local setup guide); capability boundaries have a dedicated section (MCP 5-minute timeout, text-only, no client scoping); trigger precision is addressed via session_id/source prefixes and background checks that 'only notify when something new is found'. All score 2; not 3 because boundaries around which actions cause external side effects and when user confirmation is required are under-specified.
Information architecture is excellent: full TOC, collapsible sections, service/URL tables — 3. Install notes are exceptionally thorough (prerequisites, per-step inputs, optional features, HTTPS, Postgres 17 upgrade) — 3. Naming is consistent (2). Examples are plentiful (curl, JSON schemas, per-platform steps) with Troubleshooting (2). Known limitations exist but are scattered across sections (2). License metadata is unknown and no LICENSE file appears in evidence — 0. No version numbers or CHANGELOG; only an Updating section — 1. Maintenance shows a single-maintainer project with a mirror workflow and contributor credit, no governance — 1.
Output usability: structured JSON responses, metadata round-trip, Telegram progress updates — 2. Marginal value: a coherent implementation of memory/skills/expert-sub-agent patterns on a low-code n8n stack, fully self-hosted — 2. Cost/benefit: requires a VPS plus LLM/embedding/Whisper API costs, and the README does not discuss running-cost trade-offs — 1.
Claim traceability is weak: many capability claims (100+ expert agents, hybrid RRF retrieval, pooled browser sessions) exist only as README text in the provided files with no code or tests to support them — 1. Cross-source corroboration is limited: evidence comprises only the README and one CI mirror workflow, so implementation claims cannot be cross-checked — 1. Statements are mostly declarative, but marketing-style assertions are not separated from verifiable facts — 1. Static review, low confidence, no execution performed.
- The Telegram bot accepts messages from anyone by default; immediately configure Allowed Chat IDs per the README after deployment, or any stranger can drive browser automation, email, and memory read/write.
- Browser automation (logins, 2FA, form submissions) and OpenClaw shell execution lack a default confirmation gate — high-risk external effects; use in an isolated environment and add your own confirmation steps.
- License is unknown: verify terms before production use to avoid compliance risk.
- No changelog or version tags; back up .env, the database, and workflow exports before upgrades (especially the Postgres 17 migration and --force reinstall).
- All credentials concentrate in .env and n8n credentials; the README describes no encryption or purge policy for sensitive data in the memory store / knowledge graph.
- This is a static source review; no installation or tests were executed, and capability claims (100+ expert agents, hybrid retrieval, etc.) are independently unverified.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v1.9.2 v1.9.2 — Config backup: 413 fix + claw_agents in backups
Release notes excerpt
Two bugs in the config-backup skill's full backup, fixed. Fixed - 413 Payload Too Large — once the DB grew to ~19 MB, the base64 backup body (~25 MB) blew past the file-bridge's hardcoded 25 MB Express limit, so automatic backups had been failing since ~2026-06-01. The file-bridge now gzips backups at rest (transparent compress: true flag — downloads and Seafile forwards decompress on the fly, no breaking change), and the body limit derives from MAX_FILE_SIZE_MB (20 → 200) instead of a hardcoded value. …View on GitHub ↗ -
v1.9.1 v1.9.1 — Bugfix: agents table collision with n8n 2.21+
Release notes excerpt
Bugfix release Fixes a startup crash that takes the whole instance down after upgrading n8n (Issue #35). The problem n8n 2.21.4 introduced a built-in *Agents* feature. Its boot migration CreateAgentTables1783000000000 creates a public.agents table and indexes its projectId column. n8n-claw already owned a public.agents table (persona and tool config, the source of the system prompt) in the same Postgres database. So n8n's createTable('agents') no-op'd, the follow-up createIndex('agents', ['projectId']) failed with column "projectId" does not exist, and n8n crash-loo …View on GitHub ↗ -
v1.9.0 v1.9.0 — Browser use, interactive 2FA
Release notes excerpt
What's new n8n-claw stops being read-only on the web. Until now the agent could *read* pages (Crawl4AI as Web Reader, SearXNG as Web Search) but couldn't *do* anything — it couldn't sign you up for a newsletter, fill a contact form, click a button, log into a site to fetch private data, or run any multi-step UI flow. v1.9.0 ships Browser Use as a built-in capability: a real headless Chromium driven by an agentic LLM loop, exposed to the main agent as a single browser_action tool with three modes (task, list_sessions, close_session). …View on GitHub ↗