Workflow Automation

Guide to n8n MCP: Setup, Tools, and Use Cases

J
James Eriksson
··14 min read
Learn how to set up n8n MCP Server Triggers and Client nodes. Expose workflows to Claude and Cursor. Step-by-step guide to Model Context Protocol integration.
TL;DR
  • MCP (Model Context Protocol) is an Anthropic standard that lets AI clients like Claude and Cursor call external tools
  • n8n supports MCP Server Triggers (v1.88+) to expose workflows as AI-callable tools, and MCP Client nodes to call external MCP servers
  • Instance-level MCP (v2.18.4+) exposes your entire n8n instance as a discoverable MCP server for AI assistants
  • Requires N8N_MCP_ACCESS_ENABLED=true on self-hosted; Opsily's managed n8n has MCP pre-enabled
  • Common use cases: schedule meetings with Claude, analyze sales data on-demand, automate customer support tickets

MCP stands for Model Context Protocol: it's how AI clients like Claude and Cursor get access to tools through a standardized connection. In n8n, you can expose workflows as MCP servers so AI tools can call them. You can also use MCP Client nodes to pull external MCP tools into n8n. This guide covers both directions.

What is MCP and why does n8n support it?

Model Context Protocol is an open standard from Anthropic for connecting AI models to external tools. It solves a fundamental problem: every AI tool reinvents its own integration layer. With MCP, a single tool works with Claude, Cursor, ChatGPT, and any other AI client that speaks the protocol.

n8n added MCP support because it fits the platform's core mission: letting you automate workflows without writing code. By speaking MCP, n8n workflows become tools that AI assistants can call directly. If you have a workflow that sends Slack messages, schedules Google Calendar events, or fetches data from your CRM, Claude can now trigger it with natural language.

n8n offers three ways to use MCP. First: MCP Server Trigger (v1.88+) exposes your workflow as an MCP server that Claude, Cursor, or ChatGPT can call. You set up a trigger node in your workflow, connect your tool nodes below it, and share an HTTP endpoint. The AI client connects to that endpoint and invokes your tools. Second: MCP Client node runs inside a workflow to call external MCP servers. If you have access to a Brave Search MCP server or GitHub MCP server, you can add the client node, point it to that server, and let your workflow use those tools. Third: Instance-level MCP server (v2.18.4+) makes your entire n8n instance discoverable as an MCP server. Rather than exposing individual workflows, you publish all accessible workflows as tools in one go.

Which one you use depends on your goal. For exposing a single automation to Claude, use Server Trigger. For pulling third-party tools into your workflows, use the Client node. For a unified AI-accessible automation hub, use instance-level.

n8n has the support of 208.7K GitHub stars and an active community. The n8n-nodes-mcp community package brings MCP support to even older versions, with 3.0K stars and 519 forks. This means you are not alone: thousands are already building with n8n MCP.

How do you enable MCP on your n8n instance?

MCP is built into n8n starting with version 1.88. You need to enable it before you can use it. On self-hosted n8n, set the environment variable: N8N_MCP_ACCESS_ENABLED=true. If you are running n8n in Docker, add this to your docker-compose.yml or docker run command, then restart the container. On Opsily's managed n8n hosting, MCP is already enabled. You can start creating MCP Server Triggers and Client nodes immediately without any configuration.

After enabling, navigate to Settings (gear icon, bottom left) and look for an MCP section or Integrations menu. The exact menu structure varies by version, but the feature is always there once enabled. Some versions show MCP Access directly; others integrate it under Credentials or Workflows.

For instance-level MCP (the Anthropic-native server mode), you also need to set N8N_MCP_SERVER_ENABLED=true. This publishes your entire n8n instance as an MCP server that can be discovered via stdio or SSE transport. Most users start with Server Trigger; instance-level is useful once you have many workflows to expose.

If you are unsure whether MCP is enabled, try to add an MCP Server Trigger node to a new workflow. If it appears in the node search, you are good. If not, check your version number and environment variables. For managed n8n on Opsily, this step is unnecessary.

How do you set up an MCP Server Trigger to expose workflows as tools?

This is the most common setup. You create a workflow, add an MCP Server Trigger, connect your action nodes, and expose that workflow as a callable tool to Claude or Cursor. Step one: create a new workflow or open an existing one. Search for MCP Server Trigger in the node palette (left sidebar) and drag it to the canvas. This node has no input; it only triggers when an MCP client calls it.

Step two: configure the MCP Server Trigger. Click the node to open its settings. You will see fields for Tool name (how the AI client sees this tool; use something descriptive like "Schedule Meeting" or "Send Slack Alert"), Tool description (a plain-English explanation of what this tool does; Claude uses this to decide whether to call it, so be specific), and Input schema (defines what parameters the AI client must pass). The input schema is critical. If you tell Claude this tool needs a date, it will pass one. If the schema is vague, Claude might skip the tool entirely.

Step three: connect your action nodes below the MCP Server Trigger. For a Schedule Meeting tool, you might chain Google Calendar node to Slack notification. The output of one becomes the input to the next. If a tool needs authentication (Gmail, Salesforce), add those credentials in the node settings. n8n encrypts them.

Step four: generate test and production URLs. Once the workflow is saved, the MCP Server Trigger generates a unique HTTP endpoint at your n8n instance (format: https://<your-domain>/n8n/mcp/<unique-id>). There are two URLs: Test (for development, less stable) and Production (for Claude Desktop or Cursor). Copy the production URL.

Step five: set authentication. By default, the endpoint requires a Bearer token. The MCP Server Trigger displays a secret key. You must pass this key in the HTTP header when Claude calls it: Authorization: Bearer secret_key. On Opsily's managed n8n, these are handled automatically.

Step six: test the tool. Click Execute Node in the workflow. If it runs without errors, the tool is ready. Then open Claude Desktop or Cursor and configure the MCP endpoint (see next section). Test calling the tool once from Claude to confirm the integration.

How do you connect Claude Desktop or Cursor to your MCP Server?

Once you have an MCP Server Trigger with a production URL and secret, you need to tell your AI client where to find it. For Claude Desktop, open the config file at ~/.claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Add an entry for your n8n server with your endpoint URL and Bearer token. Save and restart Claude Desktop. You will see an MCP indicator in the UI, and the n8n tools become available.

For Cursor, the setup is similar. Use ~/.cursor/mcp.json (macOS/Linux) or %APPDATA%\Cursor\mcp.json (Windows). Add your n8n server with URL and headers. Restart Cursor and the tools are available when writing code.

For ChatGPT, MCP support is limited. You must use a custom GPT with an API action that points to your n8n endpoint. This is more complex and less reliable than Claude or Cursor. If you need ChatGPT access, stick with Claude or Cursor for now.

Troubleshooting: if Claude or Cursor does not see your tools, check four things. First: verify the URL is publicly accessible and uses HTTPS (HTTP will fail). Second: confirm the secret key is correct. Third: ensure the workflow is saved and the MCP Server Trigger node has no errors. Fourth: check your firewall and reverse proxy. The AI client makes outbound requests to your endpoint; blocked requests hang. Look at n8n's execution logs to see whether Claude sent a request and what error was returned.

How do you set up an MCP Client node to call external MCP servers?

If you have access to external MCP servers (Brave Search MCP, GitHub MCP, or a colleague's n8n instance), you can pull their tools into your own n8n workflows. Step one: find or set up an MCP server endpoint. An MCP server runs somewhere and exposes tools via HTTP (SSE) or stdio. For HTTP, the endpoint format looks like: https://<mcp-server-domain>/mcp/server. Ask whoever runs the server for the URL and any authentication credentials.

Step two: add an MCP Client node to your workflow. Search for MCP Client and drag it to the canvas. This node is the consumer; it reaches out to the external MCP server and fetches available tools. Step three: configure the MCP Client node with the server endpoint (paste the URL), transport (choose SSE or HTTP Streamable; most modern servers use SSE), and authentication (if required, add a Bearer token or API key).

Step four: authenticate and load tools. Click Connect or Load Tools. The MCP Client node contacts the server and retrieves a list of available tools. You will see them listed in the node's output. Step five: use the tools in your workflow. Select which tools you want to use (you do not have to use all of them). Then chain your workflow nodes to pass data to the client. For example: User Query node to MCP Client (calls Brave Search) to Output Results node.

Step six: handle responses. The MCP Client returns tool outputs as JSON. Use downstream nodes (Set node, Merge node) to transform or combine the results. One common pitfall: the external MCP server must be running and accessible. If it goes down, your workflow fails. Monitor availability and have a fallback plan (retry logic or alternate data sources).

What are real-world use cases and examples?

Here are three practical scenarios where MCP in n8n shines. Example one: AI-powered scheduling via Claude. You build an n8n workflow that accepts a meeting request (attendee email, date, time, subject), checks Google Calendar for availability, books the meeting, and sends a confirmation Slack message. You expose this as an MCP Server Trigger. Now Claude can read your email, understand "Let's meet with Sarah next Tuesday", and automatically trigger your workflow to schedule it. No user clicks required.

Example two: sales data analysis on-demand. Your sales team uses Claude in a chat interface. They ask: "What was our MRR growth this month?" Your n8n workflow connects to your Stripe or Salesforce account, pulls revenue data for the current month and last month, calculates the delta, and returns a formatted report. This workflow runs as an MCP tool. Claude calls it, retrieves fresh data, and answers the question in seconds. No API documentation or manual queries needed.

Example three: customer support automation. Your support team has an n8n workflow that fetches a customer issue from your helpdesk (Zendesk, Intercom), searches your knowledge base for similar issues, pulls relevant documentation, and suggests solutions or escalates if needed. You expose this as an MCP Server tool on Opsily's managed n8n hosting. Your support AI (or a human agent using Claude) can invoke this tool to resolve tickets faster.

Using MCP Client nodes reduces boilerplate. Instead of writing raw HTTP requests in n8n, you can use MCP Client nodes to call Brave Search for real-time web data, query a colleague's n8n instance for shared data (customer lists, inventory), or tap into GitHub MCP to retrieve code insights. This lets you compose workflows from existing tools faster.

What are the most common issues and how do you fix them?

Issue one: MCP node not found error. You search for MCP Server Trigger or MCP Client and nothing appears. Your n8n version is older than 1.88, or MCP is not enabled. Check your version (Settings > About). If older, upgrade n8n. If v1.88+, set N8N_MCP_ACCESS_ENABLED=true and restart.

Issue two: Claude cannot reach your MCP server. You configured Claude Desktop with the endpoint, but tools do not appear or calls time out. Test the URL in your browser; it should return MCP protocol data, not a 404. Verify the Bearer token is correct. Check that your n8n instance is publicly accessible (not behind a firewall or local only). If using a reverse proxy (nginx, Cloudflare), ensure it does not block or modify the request. Review n8n's logs to see whether Claude's requests are reaching the server.

Issue three: data format mismatches. You defined an input schema (date field), but Claude sends different data (string vs. number), and the workflow fails. Be flexible in your input schema. Accept strings and convert them in your workflow using a Date node. Use Set nodes to normalize data before passing it downstream.

Issue four: unconnected sub-nodes in AI agent workflows. You added an MCP Client node but forgot to connect it to downstream nodes, so tool outputs are ignored. Always wire your outputs. MCP nodes are not special; they need to be chained like any other node.

Issue five: SSL/TLS errors. Curl or the HTTP client reports SSL certificate not verified or similar. Ensure your n8n instance has a valid SSL certificate (HTTPS). If self-hosted, use Let's Encrypt or your own CA. Claude will not trust a self-signed certificate.

Issue six: rate limiting or timeout. The external MCP server is slow or rate-limits your calls. Add retry logic in n8n (Retry node) or increase timeouts in the MCP Client node settings. If the server is overloaded, consider caching results or batching requests.

How does managed n8n hosting simplify MCP deployment?

Running n8n yourself adds overhead: you manage servers, apply patches, monitor uptime, and ensure security. Managed n8n hosting abstracts this away. With Opsily's managed n8n, MCP is pre-enabled and ready to use. You do not configure environment variables or manage upgrades. When Anthropic releases a new MCP feature, Opsily deploys it. Your workflows stay secure and up-to-date without lifting a finger.

Infrastructure complexity vanishes. You do not worry about SSL certificates, reverse proxy settings, or firewall rules. The endpoints are public, authenticated, and fast. Security is handled by Opsily. Your n8n instance runs in an isolated environment with encrypted credentials storage and regular security audits. Your MCP endpoints are not exposed to your internal network; they are designed for external AI clients.

For small teams, this is a game changer. You spend time building workflows, not troubleshooting deployments. For teams at scale, managed hosting means you can stand up MCP servers for different departments without each needing DevOps support. Upgrade cycles are automatic. Zero downtime. Opsily handles the infrastructure; you handle the automation.

Frequently Asked Questions

What is the difference between MCP Server Trigger and MCP Client node?

MCP Server Trigger exposes your workflow as a tool that external AI clients (Claude) can call. MCP Client node does the opposite: it lets your workflow call external MCP servers. Think of direction: Server Trigger is outbound (your workflow becomes a tool), Client node is inbound (your workflow uses external tools).

Can I use MCP with ChatGPT?

Not directly. ChatGPT has limited MCP support compared to Claude Desktop or Cursor. Your best option is to wrap your n8n MCP endpoint in a custom ChatGPT action, but this is clunky. Use Claude or Cursor for the best experience.

Does MCP work on Opsily's managed n8n?

Yes. MCP is enabled by default on Opsily's hosted instances. You can create MCP Server Triggers and Client nodes immediately without any setup.

What happens if my MCP server goes down?

Claude will report that the tool is unavailable. Requests will fail until you bring it back online. Managed n8n platforms handle instance restarts automatically if there is a crash.

Do I need to expose my entire workflow to Claude?

No. Create a dedicated workflow with just the nodes Claude should call. Keep sensitive workflows private. Use separate MCP Server Triggers for different tools.

What authentication should I use for my MCP endpoint?

The MCP Server Trigger generates a Bearer token by default. You can add custom headers or API keys. For managed n8n, the hosting provider handles this securely. For self-hosted, ensure your reverse proxy enforces HTTPS and validates tokens before forwarding.

Can I call one MCP server from another n8n instance?

Yes. Use an MCP Client node to connect to another n8n instance's MCP Server Trigger. This is useful for multi-team automation hubs.

How do I test my MCP workflow before sharing with Claude?

Use the Execute Node button in the MCP Server Trigger node to simulate a call. Or test the HTTP endpoint directly with curl using the format: curl -X POST https://<your-domain>/n8n/mcp/<endpoint-id> -H "Authorization: Bearer secret_key" -H "Content-Type: application/json" -d '{"param1": "value1"}'.

The Bottom Line

MCP is how you connect n8n workflows to AI assistants. Whether you are building a scheduling tool, a data lookup, or a customer support agent, MCP lets you wire them up in minutes without custom APIs. Start with an MCP Server Trigger to expose a single workflow, test it with Claude, then expand from there. Deploy on Opsily's managed n8n to skip infrastructure headaches and start building immediately.

Deploy MCP on managed n8n
Opsily's hosted n8n comes with MCP enabled and production-ready endpoints. No configuration needed.
Get Started Free

Ready to self-host your own apps?

One server. Multiple apps. No per-app fees.

Get started →