# n8n MCP
> n8n instance-level MCP exposes individually enabled workflows to authenticated MCP clients and supports workflow discovery, execution/testing, and workflow/data-table editing on supported releases.
Canonical: https://www.mcpfolio.com/servers/n8n
Last updated: 2026-10-29
## Catalog record

- Publisher: n8n (official built-in instance MCP)
- Categories: productivity, search

## Website

https://n8n.io/

## Repository

https://github.com/n8n-io/n8n

## Transports

Streamable HTTP

## Authentication

OAuth 2.0 is recommended. An API key/Bearer token is an alternative. Authorization is user-scoped and bounded by n8n permissions; access to individual workflows must be explicitly enabled.

## Tools

- **search_workflows**: Search for workflows with optional filters. Returns a preview of each workflow.
- **get_workflow_details**: Get detailed information about a specific workflow, including trigger details.
- **execute_workflow**: Execute a workflow by ID. Returns the execution ID immediately without waiting for completion.
- **test_workflow**: **Feature availability** `test_workflow` is available from n8n 2.15.0. Test a workflow using pin data to bypass external services. Trigger nodes, nodes with credentials, and HTTP Request nodes are pinned (use simulated data). Other nodes (Set, If, Code, etc.) execute normally, including credential-free I/O nodes like Execute Command or file read/write nodes.
- **prepare_workflow_pin_data**: **Feature availability** `prepare_workflow_pin_data` is available from n8n 2.15.0. Prepare test pin data for a workflow. Trigger nodes, nodes with credentials, and HTTP Request nodes need pin data. Logic nodes (Set, If, Code, etc.) and credential-free I/O nodes (Execute Command, file read/write) execute normally without pin data. Returns JSON Schemas describing the expected output shape for each node that needs pin data.
- **publish_workflow**: **Feature availability** `publish_workflow` is available from n8n 2.12.0. Publish (activate) a workflow to make it available for production execution. This creates an active version from the current draft.
- **unpublish_workflow**: **Feature availability** `unpublish_workflow` is available from n8n 2.12.0. Unpublish (deactivate) a workflow to stop it from being available for production execution.
- **get_workflow_history**: **Feature availability** `get_workflow_history` is available from n8n 2.29.0. List the saved version history of a workflow, newest first, so you can inspect how it changed over time and pick a version to retrieve or restore.
- **get_workflow_version**: **Feature availability** `get_workflow_version` is available from n8n 2.29.0. From n8n 2.34.0, node credentials are included in the response, reduced to `id` and `name` per slot. Earlier versions strip credentials entirely. Retrieve the full content (nodes, connections, node groups) of a specific workflow version from its history. Use the `versionId` from `get_workflow_history`.
- **get_workflow_versions_diff**: **Feature availability** `get_workflow_versions_diff` is available from n8n 2.36.0. Compare two saved versions of a workflow and return what changed between them.
- **search_projects**: **Feature availability** `search_projects` is available from n8n 2.14.0. Search for projects accessible to the current user. Use this to resolve a project ID before creating workflows or data tables in a specific project.
- **search_folders**: **Feature availability** `search_folders` is available from n8n 2.14.0. Search for folders within a project.
- **list_workflow_tags**: **Feature availability** `list_workflow_tags` is available from n8n 2.27.0. List all workflow tags in the instance. Tags are global (not project-scoped) and can be used with `search_workflows` to filter results.
- **get_workflow_execution**: **Feature availability** `get_workflow_execution` is available from n8n 2.12.0. Get execution details by execution ID and workflow ID. By default returns metadata only.
- **search_workflow_executions**: **Feature availability** `search_workflow_executions` is available from n8n 2.20.0. Search for workflow executions with optional filters. Returns execution metadata including status, timing, and workflow ID.
- **list_credentials**: **Feature availability** `list_credentials` is available from n8n 2.21.0. List credentials the current user can access. Use this to find a credential ID before referencing it from a workflow node. Never returns credential secret data.
- **get_instance_context**: Read the opening picture of this instance: which workflows exist, what someone recently created, changed, or deleted, and what has run and failed. Call it once at the start of a session, before you ask the user what they want to do. When the user is vague, for example "fix it" or "carry on", the answer is usually the most recent thing here. MCP clients that support resources can read the same content from the [instance context resource](https://docs.n8n.io/connect/connect-to-n8n-mcp-server/mcp-server-tools-reference#instance-context-resource).
- **get_instance_activity**: Read the instance activity log: what someone recently created, changed, published, or deleted in this instance, and who did it. Use it to pick up work already in progress. When the user is vague, for example "fix it" or "what should I look at", the answer is usually the most recent entry here.
- **expand_instance_activity**: Read one activity log entry, together with everything else the log holds about the same resource.
- **get_node_usage**: Report which node types this instance already uses, and how widely. Call it before choosing between equivalent nodes, so a new workflow matches how this instance already builds, for example whether an HTTP Request node or a dedicated integration node is the local habit. Without `nodeType` it returns the histogram of node types in use. With one, it returns the workflows using that node type.
- **get_workflow_sdk_reference**: **Feature availability** `get_workflow_sdk_reference` is available from n8n 2.12.0. Get the n8n Workflow SDK reference documentation including patterns, expression syntax, functions, rules, import syntax, guidelines, and design guidance.
- **search_nodes**: **Feature availability** `search_nodes` is available from n8n 2.12.0. Search for n8n nodes by service name, trigger type, or utility function. Set `usage` to `"agentTool"` to return only agent-compatible tool nodes. Returns node IDs, discriminators (resource/operation/mode), and related nodes needed for `get_node_types` tool.
- **get_node_types**: **Feature availability** `get_node_types` is available from n8n 2.12.0. Get TypeScript type definitions for n8n nodes. Returns exact parameter names and structures.
- **get_workflow_best_practices**: **Feature availability** `get_workflow_best_practices` is available from n8n 2.26.0. Get best-practices guidance for a workflow technique. Useful this before searching for nodes or writing workflow code.
- **explore_node_resources**: **Feature availability** `explore_node_resources` is available from n8n 2.27.0. Resolve the real values behind a node's resource locator or load-options dropdown (for example Slack channels, Google Sheets tabs, or available AI models). Requires a credential to be set for the desired service.
- **validate_workflow**: **Feature availability** `validate_workflow` is available from n8n 2.12.0. Validate n8n Workflow SDK code. Parses the code into a workflow and checks for errors. Always validate before creating or updating a workflow.
- **validate_node_config**: **Feature availability** `validate_node_config` is available from n8n 2.25.1. Validate one or more node configurations independently against their generated node schemas. Useful while composing nodes, before assembling workflow code or calling `update_workflow`.
- **create_workflow_from_code**: **Feature availability** `create_workflow_from_code` is available from n8n 2.12.0. Create a workflow in n8n from validated SDK code. Parses the code into a workflow and saves it.
- **update_workflow**: **Feature availability** `update_workflow` is available from n8n 2.12.0. From n8n 2.20.0, this tool switched to performing partial updates instead of re-writing the full workflow on every update. Update an existing workflow in n8n by applying an ordered batch of targeted partial updates. The batch is atomic: if any operation fails, no changes are saved. From n8n 2.41.0, node group operations are the exception. n8n skips a failing group operation, reports it in `skippedOperations`, and applies the rest of the batch.
- **archive_workflow**: **Feature availability** `archive_workflow` is available from n8n 2.12.0. Archive a workflow in n8n by its ID.
- **restore_workflow_version**: **Feature availability** `restore_workflow_version` is available from n8n 2.29.0. From n8n 2.31.0, the resulting history entry is automatically named and described based on what was restored. Restore a workflow to a previous version from its history. Re-applies that version as the current draft and records a new history entry. Use `get_workflow_history` to find the `versionId`.
- **search_agents**: Search agents the current user can access. Use `publishedOnly` and `excludeAgentId` to discover candidate sub-agents.
- **get_agent**: Read an agent draft, its skills, tasks, custom tools, runnable state, and `configHash`. Call before `mutate_agent`. Pass `versionId` to inspect a published version snapshot instead of the draft.
- **get_agent_builder_reference**: Return the required reference for agent configuration and `mutate_agent` operations, including the canonical agent configuration JSON Schema. Read before building an agent.
- **discover_agent_assets**: Discover model catalogs, chat integrations, attachable workflows, published sub-agents, or MCP registry servers to ground an agent's configuration.
- **create_agent**: Create an agent draft, optionally with its initial model, credential, instructions, and ordinary tool configuration. Use `mutate_agent` afterward for skills, tasks, and custom tools.
- **mutate_agent**: Apply one config, skill, task, or custom-tool mutation to an agent draft. Returns the next `configHash` for subsequent mutations.
- **validate_agent**: Validate an agent draft, its sidecar references, and user-accessible credentials.
- **call_agent**: **Feature availability** `call_agent` is available from n8n 2.35.0. Test an agent draft through the built-in Preview chat. Start or continue a conversation with a message request, or resume a returned approval after a person decides. **This tool has real side effects** `call_agent` runs the agent's real tools with real credentials, so it can change data in connected systems and send messages to real recipients. It isn't a dry run. Test on an agent draft you're willing to have act on the outside world.
- **verify_agent_mcp_server**: Test an MCP server with a user-accessible credential and return its available tools. Call before writing an `mcpServers` config entry.
- **publish_agent**: Publish a valid agent draft and activate its tasks and integrations. Pass `versionId` to republish a previously published version instead.
- **unpublish_agent**: Unpublish an agent and stop its live tasks and integrations.
- **revert_agent**: Restore an agent draft from a published version, overwriting the draft's config, skills, tasks, and custom tools. Doesn't publish.
- **list_agent_versions**: List the publish history of an agent, newest first.
- **update_agent_integration**: Configure or disconnect a Slack, Telegram, or Linear conversation integration. This is the only way to manage integrations; `config.replace` and `config.patch` in `mutate_agent` can't change them. For Slack, n8n recommends that you connect without `credentialId` first, so that n8n can create the Slack app for the agent. You can also connect an existing `slackApi` credential.
- **delete_agent**: Permanently delete an agent and its associated resources.
- **get_user_preferences**: Read the preferences saved for this instance, the current user, and their projects. The n8n MCP server tells clients to call this tool before they create or change anything in n8n, such as a workflow, an agent, a data table, or a folder, and to apply what it returns for the rest of the task. If a preference conflicts with something the user asks for directly, the client follows the user and says which preference it set aside.
- **save_user_preference**: Save a new preference for the current user, with the scope `user`. Use it for a lasting rule the user states about how they work, such as "always add an error workflow". Don't use it for an instruction about the current task only, such as "make this one a POST request".
- **update_user_preference**: Change a saved preference's text, its scope, or both. Use it when the user refines a preference that's already saved, instead of saving a second one.
- **undo_user_preference**: Remove a preference that an MCP client saved for the current user. Use it when the user takes back a preference that was just saved, or asks to forget one an MCP client saved earlier.
- **search_data_tables**: **Feature availability** `search_data_tables` is available from n8n 2.16.0. Search for data tables accessible to the current user. Use this to find a data table ID before modifying or adding data to it.
- **create_data_table**: **Feature availability** `create_data_table` is available from n8n 2.16.0. Create a new data table with the specified columns.
- **add_data_table_column**: **Feature availability** `add_data_table_column` is available from n8n 2.16.0. Add a new column to an existing data table.
- **rename_data_table_column**: **Feature availability** `rename_data_table_column` is available from n8n 2.16.0. Rename a column in a data table.
- **delete_data_table_column**: **Feature availability** `delete_data_table_column` is available from n8n 2.16.0. Delete a column from a data table. This permanently removes the column and all its data.
- **rename_data_table**: **Feature availability** `rename_data_table` is available from n8n 2.16.0. Rename an existing data table.
- **add_data_table_rows**: **Feature availability** `add_data_table_rows` is available from n8n 2.16.0. Insert rows into an existing data table. Each row is an object mapping column names to values.

## Sources

- [official_codex_client_setup](https://docs.n8n.io/connect/connect-to-n8n-mcp-server/mcp-client-examples/)
- [official_tool_reference](https://docs.n8n.io/connect/connect-to-n8n-mcp-server/mcp-server-tools-reference)
- [official_repository](https://github.com/n8n-io/n8n)
- [official_documentation](https://docs.n8n.io/connect/connect-to-n8n-mcp-server/)

## Setup

Use the interactive setup panel on [the detail page](https://www.mcpfolio.com/servers/n8n) to view instructions for each supported client.