n8n-pro-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| N8N_API_KEY | Yes | API key from n8n Settings → n8n API → Create API key | |
| N8N_API_URL | Yes | Base URL of your n8n instance (e.g., https://n8n.yourdomain.com) — no /api/v1 suffix | |
| N8N_MAX_RETRIES | No | Retries on 429/5xx/network errors — applied to GET requests only, never to writes or webhook calls (default 3, 0 disables) | 3 |
| N8N_API_TIMEOUT_MS | No | Per-request timeout in ms (default 30000) | 30000 |
| N8N_WEBHOOK_BASE_URL | No | Separate base URL for webhook calls (queue mode with dedicated webhook processors) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_workflowsA | List workflows with optional filters (active, tag names, project, name) and automatic cursor pagination. Returns id, name, active state, tags and timestamps — never the heavy node data. |
| get_workflowA | Get a workflow by ID, including full nodes and connections JSON. Use mode='summary' to get only metadata and the node list (cheaper for inspection). |
| create_workflowA | Create a new workflow from JSON (name, nodes, connections, settings). Runs offline validation first and refuses to create invalid workflows unless skipValidation=true. New workflows are created inactive — use activate_workflow afterwards. |
| update_workflowA | Update a workflow partially: fetches the current version, merges only the fields you pass (name, nodes, connections, settings), validates offline and PUTs the result. Pass full nodes/connections arrays when changing them — they replace the existing ones. |
| delete_workflowA | Permanently delete a workflow by ID. This cannot be undone — consider deactivate_workflow instead if you only want to stop it. |
| activate_workflowA | Activate a workflow so its triggers (webhooks, schedules, queue consumers) start running. |
| deactivate_workflowA | Deactivate a workflow — triggers stop firing but the workflow and its history are kept. |
| transfer_workflowB | Transfer a workflow to another project (requires the Projects feature on the instance). |
| search_workflowsA | Search workflows by free text across name, node names and node types (client-side over the listing — finds e.g. every workflow using a given node type or touching a given service). |
| clone_workflowA | Duplicate a workflow: fetches the source and creates an inactive copy (same nodes, connections, settings and credential references) under a new name. Useful for safe experimentation on production workflows. |
| set_workflows_active_by_tagA | Bulk activate or deactivate every workflow carrying a tag — an operational kill switch (e.g. deactivate everything tagged 'client-x'). Runs as a dry run by default; set dryRun=false to apply. Workflows already in the desired state are skipped. |
| validate_workflow_jsonA | Validate a workflow JSON offline (no API call): structure, unique node names, connection integrity, orphan nodes, {{ }} expression syntax, webhook |
| list_executionsA | List executions with filters (status, workflow, project) and automatic pagination. Returns lightweight summaries with duration — use get_execution for full node-level data. |
| get_executionA | Get one execution by ID. includeData=true returns the full run data (node inputs/outputs and error details) — useful to debug a failed run. |
| delete_executionA | Delete a single execution record by ID (frees DB space; cannot be undone). |
| retry_executionA | Retry a failed or stopped execution by ID. Requires a recent n8n version exposing retry in the public API — if unavailable (404), re-trigger the workflow via run_webhook instead. |
| list_running_executionsA | Queue-mode view: list executions currently running or waiting in the queue. Tries the API status filter first and falls back to scanning recent executions for ones without a stop time. |
| run_webhookA | Trigger a workflow through its Webhook node. Calls {instance}/webhook/{path} (or /webhook-test/{path} with test=true, which requires the workflow open in 'Listen for test event' mode). In queue mode the call returns according to the webhook's response mode. |
| summarize_execution_errorA | Debug a failed execution without flooding the context: fetches the full run data and returns only the failing node, error message/description, a short stack and per-node errors. Use instead of get_execution includeData=true when you only need to know what broke. |
| wait_for_executionA | Poll an execution until it reaches a terminal state (success/error/crashed/canceled) or the timeout expires. Returns early with waiting=true if the execution pauses on a Wait node. Closes the loop after run_webhook in queue mode, where execution happens asynchronously on workers. The timeout is best-effort: each poll request has its own HTTP timeout, so total wall time can slightly exceed timeoutSeconds. |
| prune_executionsA | Bulk-delete finished execution records by filter (status, workflow, older than N days) to reclaim database space. Runs as a dry run by default — set dryRun=false to actually delete. Deletion is permanent and cannot be undone. Running/waiting executions are never touched. |
| get_execution_statsA | Aggregate execution health over a recent sample: per-workflow success/error/waiting counts, success rate and average duration. The queue-mode dashboard in one call — spot failing or slow workflows. |
| list_tagsA | List all tags on the instance with their IDs (IDs are needed by set_workflow_tags). |
| create_tagC | Create a new tag. |
| update_tagA | Rename a tag by ID (all workflows using it see the new name). |
| delete_tagA | Delete a tag by ID (removes it from every workflow; the workflows themselves are untouched). |
| get_workflow_tagsA | List the tags attached to a workflow. |
| set_workflow_tagsA | Replace the tags of a workflow. Accepts tag NAMES — resolves them to IDs automatically and, with createMissing=true, creates tags that don't exist yet. Pass an empty list to remove all tags. |
| create_credentialA | Create a credential on the instance. Use get_credential_schema first to see which fields the credential type requires. The n8n public API never returns credential secrets — only metadata. |
| delete_credentialA | Delete a credential by ID. Workflows that reference it will fail until reassigned. |
| get_credential_schemaA | Get the JSON schema of a credential type — which fields it needs (e.g. 'slackApi' → accessToken). Use before create_credential. |
| transfer_credentialB | Transfer a credential to another project (requires the Projects feature). |
| list_variablesA | List instance variables (accessible in workflows via $vars.). Requires a licensed n8n plan with the Variables feature. |
| create_variableB | Create an instance variable (then available in workflows as $vars.). |
| update_variableA | Update an existing variable's key/value by variable ID (see list_variables for IDs). |
| delete_variableA | Permanently delete a variable by ID — cannot be undone. Workflows reading $vars. will get undefined afterwards. |
| list_projectsA | List projects on the instance (requires the Projects feature, available on licensed plans). Project IDs are used by transfer_workflow / transfer_credential and as filters. |
| create_projectA | Create a new team project. |
| update_projectB | Rename a project by ID. |
| delete_projectA | Permanently delete a project by ID — cannot be undone. Move its workflows/credentials out first (transfer_workflow / transfer_credential). |
| add_user_to_projectA | Add a user to a project with a project role (admin/editor/viewer). Find user IDs with list_users and project IDs with list_projects. |
| remove_user_from_projectA | Remove a user from a project (the user keeps their instance account). |
| change_user_project_roleA | Change a user's role inside a project (admin/editor/viewer). |
| list_usersA | List users of the instance with their global roles (requires owner API key). |
| get_userA | Get one user by ID or email address. |
| create_userA | Invite a new user to the instance with a global role. Returns the invite acceptance URL when email is not configured on the instance. |
| delete_userA | Permanently remove a user from the instance by ID or email — cannot be undone; the user loses access immediately. |
| change_user_roleA | Change a user's global role (admin ↔ member). The instance owner role cannot be reassigned. |
| check_healthA | Check instance health: /healthz (process up), /healthz/readiness (DB connected & migrated) and REST API reachability/auth. In queue mode this validates the main process — pair with list_running_executions and get_execution_stats to assess queue throughput. |
| generate_auditA | Generate n8n's built-in security audit: flags abandoned workflows, unused credentials, risky nodes (filesystem/instance access), and more. Optionally restrict categories or tune the abandoned-workflow threshold. |
| pull_source_controlA | Pull changes from the connected source-control repository (requires the Source Control feature configured on the instance). force=true permanently discards local changes on the instance — cannot be undone. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/helbertparanhos/n8n-pro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server