n8n-claw Skills
Skill catalog for n8n-claw MCP servers. Install pre-built API integrations with a single chat command β no coding required.
Available Skills (68)
| Category | Skills | Focus |
|---|
| Analytics | 1 | Google Analytics |
| Calendar | 2 | CalDAV, Google Calendar |
| Cloud Storage | 3 | Google Drive, Nextcloud, Seafile |
| CMS | 1 | WordPress |
| Communication | 4 | Email, Gmail, ntfy, OpenClaw |
| Creativity | 2 | AI image & video generation, Unsplash photos |
| Developer Tools | 1 | GitHub |
| E-commerce | 1 | Shopify |
| Entertainment | 4 | Recipes, movies, trivia, YouTube |
| Finance | 6 | Crypto, currencies, banking, Finnhub stocks, Lexware, Stripe |
| Knowledge | 5 | DeepWiki, food facts, Open Library, OpenWebUI RAG, Wikipedia |
| Language | 2 | Translation, dictionary |
| Maps | 2 | OpenStreetMap / Overpass POI search, OpenRouteService routing |
| Marketing | 5 | DataForSEO, Google Ads, HubSpot CRM, Salesforce CRM, Zoho CRM |
| Meetings | 1 | Vexa (Google Meet, Teams, Zoom) |
| Network | 2 | IP geolocation, website checks |
| News | 2 | Hacker News, NewsAPI |
| Notes & CRM | 4 | Airtable, Confluence Cloud, NocoDB, Notion |
| Reference | 4 | Countries, GENESIS-Online (German official stats), holidays, timezones |
| Smart Home | 1 | Home Assistant |
| Tasks | 4 | Asana, Jira Cloud, Todoist, Vikunja |
| Tourism | 1 | DZT Germany Tourism |
| Transport | 5 | Deutsche Bahn, ΓBB, SBB, ΓPNV Deutschland, Wiener Linien |
| Utilities | 3 | Backup, PDF tools, QR codes |
| Weather | 2 | Open-Meteo forecasts, OpenAQ air quality |
Tested column β A β in the Tested column means the skill has been verified end-to-end on at least one live n8n-claw instance (install + tool call working as expected). An empty cell means the skill is published but has not been hands-on verified yet.
Analytics
Calendar
| Skill | Description | Credentials | Author | Tested |
|---|
| CalDAV Calendar | Manage calendars on any CalDAV server β list, create, update, delete events (Nextcloud, Radicale, Baikal) | CalDAV URL, Username, Password | @freddy-schuetz | β |
| Google Calendar | List, create, update, delete events in Google Calendar | Google OAuth2 | @freddy-schuetz | β |
Cloud Storage
| Skill | Description | Credentials | Author | Tested |
|---|
| Google Drive | List, search, read, create, and share files in Google Drive | Google OAuth2 | @freddy-schuetz | β |
| Nextcloud Files | Manage files on Nextcloud via WebDAV β list, read, write, upload from URL, move, delete | Nextcloud URL, Username, App Password | @freddy-schuetz | β |
| Seafile | Manage files on a Seafile library: browse, read, create, download, rename, move, copy, delete | Seafile URL, Library API Token | @freddy-schuetz | β |
CMS
| Skill | Description | Credentials | Author | Tested |
|---|
| WordPress | Manage a WordPress site via the REST API (19 tools): posts, pages, comments, categories, tags, users, media (incl. upload via file_ref). Uses Application Passwords (WP 5.6+) | WordPress URL, Username, Application Password | @freddy-schuetz | β |
Communication
| Skill | Description | Credentials | Author | Tested |
|---|
| Email (IMAP/SMTP) | Read and send emails via IMAP/SMTP | Email address, password, IMAP host, SMTP host | @freddy-schuetz | β |
| Gmail | Search, read, send emails and manage drafts via Gmail API | Google OAuth2 | @freddy-schuetz | β |
| ntfy.sh | Send push notifications to your phone (hosted or self-hosted). Title, priority, emoji tags, tap URLs, attachments | ntfy Topic Name | @freddy-schuetz | β |
| OpenClaw | Connect to an OpenClaw autonomous AI agent via Gateway API | Gateway URL, Gateway Token | @freddy-schuetz | β |
Creativity
| Skill | Description | Credentials | Author | Tested |
|---|
| Google Media Generation | Generate and edit images with Nano Banana Pro (Gemini 3 Pro Image), generate videos from text with Veo 3.1, and animate user-supplied images into videos (image-to-video) | Google Gemini API Key | @freddy-schuetz | β |
| Unsplash | Search 3M+ free high-quality photos by keyword, get random or specific photos with required photographer attribution | Unsplash Access Key | @freddy-schuetz | β |
Developer Tools
| Skill | Description | Credentials | Author | Tested |
|---|
| GitHub | Full GitHub integration: repos, issues, PRs, code search, file content, releases, notifications | GitHub PAT | @freddy-schuetz | β |
E-commerce
| Skill | Description | Credentials | Author | Tested |
|---|
| Shopify | Shopify store admin (14 tools) via GraphQL Admin API 2026-01: products, orders, customers, inventory, fulfillment, order-quantity edits (begin β set β commit). Custom App access token auth | Store Domain, Admin API Access Token | @freddy-schuetz | β |
Entertainment
Finance
| Skill | Description | Credentials | Author | Tested |
|---|
| Crypto Prices | Get cryptocurrency prices, market cap, and 24h changes | - | @freddy-schuetz | β |
| Exchange Rates | Convert currencies using live exchange rates | - | @freddy-schuetz | β |
| Finnhub Stocks | Real-time stock quotes, company profiles, news, symbol search and market-status checks (free tier: 60 calls/min) | Finnhub API Key | @freddy-schuetz | β |
| KontoFlux | Access German bank accounts and transactions via KontoFlux Open-Banking API (5000+ banks, read-only) | KontoFlux API Key, Workspace ID | @freddy-schuetz | β |
| Lexware Office | Full Lexware Office integration: contacts, articles, quotations, invoices, voucher upload, PDF download | Lexware API Token | @Ranji1908 | β |
| Stripe | Stripe payments (23 tools): customers, payments, invoices, subscriptions, refunds, payouts, balance, payment links. Test-mode recommended for AI agents | Stripe API Key | @freddy-schuetz | β |
Knowledge
| Skill | Description | Credentials | Author | Tested |
|---|
| DeepWiki | AI-powered documentation search for any public GitHub repository β ask questions about a codebase in plain English (external MCP server, free) | - | @freddy-schuetz | β |
| Open Library | Search 40M+ books by title, author or ISBN; fetch book and author details including cover images | - | @freddy-schuetz | β |
| OpenFoodFacts | Look up food products by barcode or name β nutrition facts, Nutri-Score, allergens, ingredients | - | @freddy-schuetz | β |
| OpenWebUI Knowledge | Manage knowledge collections and RAG files β create collections, upload documents, ingest web pages | OpenWebUI URL, API Key | @freddy-schuetz | β |
| Wikipedia | Search Wikipedia and get article summaries | - | @freddy-schuetz | β |
Language
Maps
| Skill | Description | Credentials | Author | Tested |
|---|
| Overpass (OpenStreetMap) | Search places and POIs on OSM: restaurants, hotels, hiking huts, drinking water, EV charging (28 preset categories). Forward + reverse geocoding via Nominatim | - | @freddy-schuetz | β |
| Route Planner | Plan hiking, cycling, and walking routes with GPX output, POI search, elevation profiles, isochrones (ORS + BRouter) | ORS API Key | @freddy-schuetz | β |
Marketing
| Skill | Description | Credentials | Author | Tested |
|---|
| DataForSEO | Comprehensive SEO data (18 tools): Google SERPs (live regular/advanced), keyword research (search volume, ideas, difficulty, overview), competitor analysis, backlinks (requires sub), on-page audits, Lighthouse, domain tech stack, Google My Business. Cost shown per call | DataForSEO Login (Email), API Password | @freddy-schuetz | β |
| Google Ads | Query campaigns, ad groups, and performance data via GAQL (Beta) | Google OAuth2, Developer Token, Customer ID | @freddy-schuetz | β |
| HubSpot CRM | Full CRM (28 tools): contacts, companies, deals, tickets (CRUD), engagements (notes, tasks), associations (v4), pipelines, owners. Private App token auth | HubSpot Private App Access Token | @freddy-schuetz | |
| Salesforce CRM | Full CRM (35 tools): Contacts, Accounts, Leads, Opportunities, Cases, Tasks (CRUD + search) plus SOQL query, SOSL search, describe-object. REST v60.0 via Client Credentials Flow | Instance URL, Consumer Key, Consumer Secret | @freddy-schuetz | β |
| Zoho CRM | Full CRM (37 tools): Leads incl. convert_lead, Contacts, Accounts, Deals, Tasks (full CRUD), Cases plus Notes CRUD, Users listing, COQL query, describe_module. Dynamic field discovery returns ALL fields incl. custom per Zoho org. Self-Client OAuth (refresh token). Regional endpoints (.com/.eu/.in/.com.au/.jp/.com.cn) | Region, Client ID, Client Secret, Refresh Token | @freddy-schuetz | β |
Meetings
| Skill | Description | Credentials | Author | Tested |
|---|
| Vexa Meetings | Deploy transcription bots to Google Meet, Teams, and Zoom meetings | Vexa API Key | @freddy-schuetz | β |
Network
| Skill | Description | Credentials | Author | Tested |
|---|
| IP Geolocation | Get location, ISP, and org info for any IP address | - | @freddy-schuetz | β |
| Website Check | Website health check: load time, security headers, meta tags, structured data | - | @freddy-schuetz | β |
News
Notes & CRM
| Skill | Description | Credentials | Author | Tested |
|---|
| Airtable | Work with Airtable bases and records: list bases/tables, search with formulas, CRUD rows. Free plan has 1,000 API calls/month β Team plan recommended for active use | Airtable PAT | @freddy-schuetz | β |
| Confluence Cloud | Confluence wiki (14 tools): CQL search, CRUD pages, comments, labels, spaces. Shares Atlassian credentials with Jira | Atlassian Email, API Token, Site URL | @freddy-schuetz | β |
| NocoDB CRM | Manage NocoDB tables and records: list bases, tables, CRUD with filtering and sorting | NocoDB URL, API Token | @freddy-schuetz | β |
| Notion | Search, read, and create Notion pages with markdown content support | Notion Integration Token | @freddy-schuetz | β |
Reference
| Skill | Description | Credentials | Author | Tested |
|---|
| Country Info | Country details: capital, population, languages, currencies | - | @freddy-schuetz | β |
| GENESIS-Online (Destatis) | Official German federal statistics (9 tools): search 100,000+ tables on population, economy, migration, education, health, environment; browse statistics, list variables/values, fetch table metadata and data with year/regional/classifying filters | GENESIS-Online API Token | @freddy-schuetz | β |
| Public Holidays | Look up public holidays for any country | - | @freddy-schuetz | β |
| Timezone & World Clock | Get current time in any timezone and convert between timezones | - | @freddy-schuetz | β |
Smart Home
| Skill | Description | Credentials | Author | Tested |
|---|
| Home Assistant | Control your smart home: list entities, check states, call services (lights, switches, climate, media, scenes). Requires publicly reachable HA instance | HA URL, Long-Lived Access Token | @freddy-schuetz | β |
Tasks
| Skill | Description | Credentials | Author | Tested |
|---|
| Asana | Full Asana CRUD (16 tools): workspaces, projects, sections, tasks incl. subtasks, comments, Kanban section moves, typeahead search for users and tasks | Asana PAT | @freddy-schuetz | β |
| Jira Cloud | Jira issue tracking (12 tools): JQL search, CRUD issues, comments, transitions, issue links, user search. Shares Atlassian creds with Confluence | Atlassian Email, API Token, Site URL | @freddy-schuetz | β |
| Todoist | Manage tasks: list, create, complete, organize with due dates and priorities | Todoist API Token | @freddy-schuetz | β |
| Vikunja | Manage tasks and projects: list, create, update, delete with due dates and priorities | Vikunja URL, API Token | @freddy-schuetz | β |
Tourism
Transport
| Skill | Description | Credentials | Author | Tested |
|---|
| Deutsche Bahn | Search train connections, departures, and stations across Germany | - | @freddy-schuetz | β |
| ΓBB | Search train connections, departures, and stations across Austria (ΓBB) | - | @freddy-schuetz | β |
| ΓPNV Deutschland | Nationwide German public transit (S-Bahn, U-Bahn, Tram, Bus, regional) via EFA/DELFI. Note: uses the public openservice-test.vrr.de test endpoint β realtime data (delays, cancellations) is not always current; planned schedule is reliable | - | @freddy-schuetz | β |
| SBB | Search train connections, departures, and stations across Switzerland (SBB/CFF/FFS) | - | @freddy-schuetz | β |
| Wiener Linien | Plan routes with Vienna public transport, get your station ID from this CSV File (yes, a CSV file, don't ask), more details on the Routingservice Wien page | - | @lcx | β |
Utilities
Weather
| Skill | Description | Credentials | Author | Tested |
|---|
| OpenAQ Air Quality | Current air quality (PM2.5, PM10, NO2, O3, SO2, CO) from government monitoring stations worldwide; supports city names or coordinates | OpenAQ API Key | @freddy-schuetz | β |
| Weather | Current weather and 3-day forecast for any city | - | @freddy-schuetz | β |
Usage
Skills are managed via chat with your n8n-claw agent:
"What skills are available?" β lists all skills
"Install weather-openmeteo" β installs the skill
"Remove weather-openmeteo" β uninstalls and cleans up
Skills with API keys
Some skills require API credentials. When you install one, the agent sends you a secure one-time link (valid 10 minutes) to enter your API key via HTTPS form. Your key is never visible in the chat.
"Install news-newsapi" β installs + sends credential link
"Add credential for news-newsapi" β generates a new credential link
β οΈ Security notice β Skill credentials are stored in plain text
API keys entered via the credential form are currently stored unencrypted in the template_credentials table in PostgreSQL. This means:
- Anyone with access to the database can read all stored API keys
- Supabase Studio (
localhost:3001, accessible via SSH tunnel) shows credentials in plain text
- A compromised VPS exposes all stored API keys
What an attacker would need: Neither the database nor the API are reachable from the internet. PostgREST runs on a Docker-internal network only, and PostgreSQL (port 5432) is bound to 127.0.0.1. To read credentials, an attacker would need SSH access to your VPS β there is no remote network path.
Mitigation: Secure SSH access (key-based auth, no root password, fail2ban), and use API keys with minimal permissions where possible.
Encryption at rest for skill credentials is planned and in progress.
Skills with infrastructure requirements
Some skills need additional services running alongside n8n:
| Skill | Requires |
|---|
email-imap-smtp | email-bridge service in docker-compose.yml (included in n8n-claw since v0.10) |
Skill Types
| Type | Description |
|---|
native | n8n implements the tool logic directly (HTTP requests, Code nodes) |
bridge | Registers an existing external MCP server (Streamable HTTP) with optional bearer/header auth. No workflows are imported. See the Bridge Templates section in TEMPLATE_EXAMPLE.md. Supported since n8n-claw v1.3.0. |
Creating a Template
Directory structure
Each template lives in its own directory under templates/:
templates/
index.json β catalog (add your template here)
my-template/
manifest.json β metadata (name, tools, credentials)
workflow.json β n8n workflow bundle (two workflows)
README.md β optional: usage notes
Step 1: Add to index.json
Add an entry to the templates array in templates/index.json:
{
"id": "my-template",
"name": "My Template",
"type": "native",
"category": "utilities",
"description": "Short description of what this template does",
"credentials_required": [],
"version": "1.0.0"
}
Step 2: Create manifest.json
{
"id": "my-template",
"name": "My Template",
"version": "1.0.0",
"updated": "2026-03-08",
"type": "native",
"category": "utilities",
"description": "Short description of what this template does",
"credentials_required": [],
"credentials_optional": [
{
"key": "some_api_key",
"label": "Some API Key",
"hint": "Only needed for premium features"
}
],
"tools": [
{
"name": "my_tool",
"description": "What this tool does"
}
],
"author": "your-github-username",
"license": "MIT",
"tested_n8n_version": "2.10.4"
}
Manifest fields
| Field | Required | Description |
|---|
id | yes | Unique template ID (lowercase, hyphens only) |
name | yes | Display name |
version | yes | Semver version (e.g. 1.0.0) |
updated | yes | Last updated date (ISO format, e.g. 2026-03-08) |
type | yes | native or bridge |
category | yes | Category for filtering (e.g. weather, utilities, data) |
description | yes | Short description |
credentials_required | yes | Array of credential keys needed (empty array if none) |
credentials_optional | no | Array of optional credentials with hints |
tools | yes | Array of tools this template provides (name + description) |
author | yes | GitHub username |
license | yes | License identifier (e.g. MIT) |
tested_n8n_version | yes | n8n version this was tested on |
Step 3: Create workflow.json
The workflow bundle uses the n8n-claw-template format. Every template consists of two workflows:
- Sub-workflow (
sub) β contains the actual tool logic (Code node)
- Server workflow (
server) β the MCP server that exposes the tool (mcpTrigger + toolWorkflow)
This two-workflow pattern is required because n8n's API ignores specifyInputSchema when creating workflows, so toolCode parameters don't work. The toolWorkflow pattern avoids this bug.
{
"format": "n8n-claw-template",
"format_version": 1,
"sub": {
"name": "MCP Sub: My Template",
"settings": {
"executionOrder": "v1",
"callerPolicy": "workflowsFromSameOwner"
},
"nodes": [
{
"id": "sub-trigger",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1.1,
"position": [0, 0],
"parameters": { "inputSource": "passthrough" }
},
{
"id": "sub-code",
"name": "My Tool Logic",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [256, 0],
"parameters": {
"jsCode": "const input = $input.first().json;\nconst city = input.city || 'Berlin';\n\n// Make HTTP requests with helpers.httpRequest()\nconst data = await helpers.httpRequest({\n method: 'GET',\n url: 'https://api.example.com/data?q=' + encodeURIComponent(city)\n});\n\nreturn [{ json: { result: data } }];"
}
}
],
"connections": {
"Execute Workflow Trigger": {
"main": [[{ "node": "My Tool Logic", "type": "main", "index": 0 }]]
}
}
},
"server": {
"name": "MCP: My Template",
"settings": { "executionOrder": "v1" },
"nodes": [
{
"id": "mcp-trigger",
"name": "MCP Server Trigger",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"typeVersion": 2,
"position": [0, 0],
"parameters": { "path": "my-template" }
},
{
"id": "tool-wf",
"name": "my_tool",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"typeVersion": 2.2,
"position": [0, 300],
"parameters": {
"name": "my_tool",
"description": "What this tool does. Parameter: city (city name)",
"workflowId": {
"__rl": true,
"value": "REPLACE_SUB_WORKFLOW_ID",
"mode": "id"
},
"workflowInputs": {
"mappingMode": "defineBelow",
"value": {
"city": "={{ $fromAI('city', 'The city name', 'string') }}"
},
"matchingColumns": [],
"schema": [
{
"id": "city",
"displayName": "city",
"type": "string",
"description": "The city name",
"required": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
}
}
],
"connections": {
"my_tool": {
"ai_tool": [[{ "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 }]]
}
}
}
}
Key points
| Topic | Details |
|---|
| HTTP requests | Use helpers.httpRequest() in Code nodes β not $helpers.httpRequest() (undefined in Code node v2) |
| Sub-workflow ID | Use REPLACE_SUB_WORKFLOW_ID as placeholder β the Library Manager patches this automatically during install |
| DB access | Templates that read credentials use {{SUPABASE_URL}} and {{SUPABASE_SERVICE_KEY}} placeholders β replaced automatically during install |
| MCP path | The path in mcpTrigger should match your template ID |
| Parameters | Tool parameters arrive in the sub-workflow via $input.first().json.paramName |
$fromAI() | Used in the server workflow to tell the AI agent which parameters to extract from the user's message |
| Connections | toolWorkflow connects to mcpTrigger via ai_tool, not main |
Testing your template
Before submitting a pull request, test your template locally:
- Validate JSON β ensure
manifest.json and workflow.json are valid JSON
- Import manually β import the sub-workflow and server workflow into your n8n instance via the API or UI
- Test the MCP server β call the tool via the n8n-claw agent or directly via MCP client
- Check the response β verify the tool returns useful data in the expected format
You can also test via the Library Manager if you push your template to a fork and temporarily change the CDN_BASE URL in the Library Manager workflow.
Contributing
- Fork this repository
- Create a directory under
templates/ with your template ID
- Add
manifest.json and workflow.json (see above)
- Add an entry to
templates/index.json
- Submit a pull request
PR checklist
CDN
Templates are served via jsDelivr CDN for fast, reliable delivery:
https://cdn.jsdelivr.net/gh/freddy-schuetz/n8n-claw-templates@master/templates/index.json
https://cdn.jsdelivr.net/gh/freddy-schuetz/n8n-claw-templates@master/templates/{id}/manifest.json
https://cdn.jsdelivr.net/gh/freddy-schuetz/n8n-claw-templates@master/templates/{id}/workflow.json
The CDN uses the @master branch reference. Cache updates may take a few minutes after pushing changes. For a reference of template files, see templates/TEMPLATE_EXAMPLE.md.
License
MIT