> ## Documentation Index
> Fetch the complete documentation index at: https://docs.typingmind.com/llms.txt
> Use this file to discover all available pages before exploring further.

# TypingMind MCP + n8n

> Connect n8n to TypingMind with n8n's built-in MCP server. Build, test, and publish n8n workflows by chatting, and turn your own workflows into tools the AI can call.

Connect TypingMind to [n8n](https://n8n.io) and let the AI do the automation work. Describe a workflow in plain English, and the AI builds it in your n8n, tests it, fixes what breaks, and publishes it. You can also turn your own n8n workflows into tools that the AI calls during a chat.

This guide works with **n8n Cloud**, **self-hosted n8n on a public HTTPS URL**, and **n8n on your computer** (`localhost`). The TypingMind steps are the same; only the Server URL and which connector you pick change.

The AI doesn't only build workflows. **You can also run your n8n workflows right from a TypingMind chat** and get the results back in the chat. See [Run a workflow from chat](#run-a-workflow-from-chat).

This guide walks through two real examples:

1. **Build a support ticket workflow by chatting.** It sorts incoming tickets by priority and category, saves them, replies to the sender, and sends a digest every day at 5 PM.
2. **Turn a workflow into AI tools.** It's a mini CRM that you can talk to: "Add Jane from Acme", "Who's still new?"

[Build n8n workflows by chatting in TypingMind](https://www.youtube.com/embed/uoWM7n9Km1g)

> [!NOTE]
>
> This guide was tested with n8n 2.46.4 (self-hosted), TypingMind MCP Connector 1.4.1, and Claude Haiku 5.5 on November 4–5, 2026. n8n's built-in MCP server is free in all n8n editions, including self-hosted Community Edition.

## Ways to connect n8n

There are three ways to connect n8n to TypingMind. You can use more than one at the same time.

| | **n8n's built-in MCP server** (instance-level MCP) | **MCP Server Trigger** node | **n8n-mcp** (third party) |
| :- | :- | :- | :- |
| **What the AI can do** | Build, edit, test, run, and publish workflows. Read and write data tables. | Call only the tools that one workflow exposes. | Look up n8n node docs, validate workflows, and manage them through the n8n API. |
| **Best for** | Building and managing automations by chatting | Giving the AI a few safe, specific actions (your "custom tools") | Users who already use it, or n8n versions without the built-in server |
| **Server URL** | `https://<your-n8n>/mcp-server/http` | `https://<your-n8n>/mcp/<path>` | Runs with `npx`, or as a hosted service |
| **Auth** | n8n MCP access token | None, Bearer token, or header auth (you choose) | n8n API key |
| **Cost** | Free | Free | Free to self-host, paid hosted plan |
| **In this guide** | [Part 1](#part-1-connect-n8n-to-typingmind) and [Part 2](#part-2-build-a-support-ticket-workflow-by-chatting) | [Part 3](#part-3-turn-a-workflow-into-ai-tools-mini-crm) | [Other option](#other-option-the-third-party-n8n-mcp-server) |

## Requirements

* An n8n instance in any of these forms:
  * **n8n Cloud**
  * **Self-hosted n8n** with a public HTTPS URL
  * **Local n8n** on `localhost` (or another private address)
* You need to be the **owner or an admin** to turn on MCP access.
* An AI model that supports plugins/tool calling. Claude Haiku 5.5 handled every step in this guide.
* **Connector:**
  * **n8n Cloud or public HTTPS:** TypingMind Cloud is enough. You don't need the Private MCP Connector.
  * **Local / private network:** the [Private MCP Connector](https://docs.typingmind.com/model-context-protocol-\(mcp\)-in-typingmind/use-mcp-with-private-mcp-connector) running on a computer that can reach n8n, usually the same computer.

## Part 1: Connect n8n to TypingMind

Pick the tab that matches your n8n. **n8n Cloud or a public HTTPS URL** is the simpler path — TypingMind Cloud talks to n8n directly, and you don't need the Private MCP Connector. Use the **localhost** tab if n8n runs on your computer.

> [tab] n8n Cloud or public HTTPS URL
>
> **1. Turn on MCP access in n8n**
>
> 1. In n8n, click **Settings** (bottom left) and choose **Instance-level MCP**.
> 2. Under **Connection details**, check that **MCP status** says **Enabled**. If it doesn't, open the menu and enable it.
> 3. Under **Access**, **Workflows enabled** shows which workflows MCP clients can use (for example, **2 workflows**).
>
>    ![n8n Settings, Instance-level MCP page with MCP status Enabled](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/01-n8n-enable-mcp.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=b9c7657ff53d3ce395956c5a09a27f76)
>
> **2. Copy the Server URL and access token**
>
> 1. Next to **Connect your client**, click **Connect**.
>
> 2. In the **Connect a client** dialog, open the **API key** tab.
>
> 3. Copy the **Server URL**. On n8n Cloud it looks like `https://<your-instance>.app.n8n.cloud/mcp-server/http`. On self-hosted n8n with a public domain, it looks like `https://<your-domain>/mcp-server/http`. The URL must use **https** and end with `/mcp-server/http`.
>
> 4. Next to **Access token**, click the refresh icon to create a token (or copy the one you already generated), then click the copy icon next to it.
>
>    ![n8n Connect a client dialog, API key tab with the Access token row (token blurred)](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/02-n8n-api-key.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=a7f1985831de5cb911b9c29770e0f992)
>
> > [!WARNING]
> >
> > n8n shows the full access token **only once** ("Make sure to copy your access token, you won't be able to see it again"). After that, the field is masked (for example `******C0-Y`) and you only get a **Generate new token** action. Save the token somewhere safe when you first create it. Generating a new token **revokes the old one**, so you'd have to update the header in TypingMind.
>
> **3. Add n8n as an MCP server in TypingMind**
>
> 1. Click **Plugins** in the left sidebar.
>
> 2. Under **Store**, click **MCPs**, then click **+ Add MCP** (top right).
>
>    ![TypingMind Plugins Store, MCPs tab with the Add MCP button](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/03-add-mcp-button.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=95fd89af092acf4b2d6cc018391f9c8e)
>
> 3. The **Add Custom MCP Server URL** page opens (**MCPs / Add URL**). Fill in:
>    * **Server URL:** the HTTPS Server URL from n8n, for example `https://your-n8n.example.com/mcp-server/http`
>    * **Connection name:** `n8n` (or `n8n Cloud`)
>    * **Description** (optional): for example, "Build and run n8n workflows".
>
> 4. Open **Advanced options**, turn on **Custom HTTP headers**, and add:
>    * **Header name:** `Authorization`
>    * **Header value:** `Bearer <your n8n MCP access token>`
>
> 5. Click **Create connection**.
>
>    ![Add Custom MCP Server URL form with an HTTPS n8n Server URL and the Authorization header (token blurred)](https://mintcdn.com/typingmind/BztDwVjaos_1hSvO/images/mcp-n8n/c04-cloud-form.webp?fit=max\&auto=format\&n=BztDwVjaos_1hSvO\&q=85\&s=76f9980ad6049d38554b596e5c7319dc)
>
> > [!TIP]
> >
> > Type the word `Bearer`, a space, and then the token. If you forget `Bearer `, n8n rejects the connection with **401**.
>
> **4. Choose TypingMind Cloud**
>
> The new entry shows **Connection Required via Select Connector**. Click **Connect**. In the **Select MCP Connector** dialog, choose **TypingMind Cloud**, then click **Select Connector**. You don't need the Private MCP Connector for this path.
>
> ![Select MCP Connector dialog with TypingMind Cloud selected (account email blurred)](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/05b-choose-typingmind-cloud.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=8a0e1447c1cf6a14facb34a609757307)
>
> **5. Check the connection and tools**
>
> When it works, the entry shows **✓ Connected via TypingMind Cloud**.
>
> ![n8n MCP entry showing Connected via TypingMind Cloud](https://mintcdn.com/typingmind/BztDwVjaos_1hSvO/images/mcp-n8n/c06-cloud-connected.webp?fit=max\&auto=format\&n=BztDwVjaos_1hSvO\&q=85\&s=61f4a75ada2f1c30427404a1733fc632)
>
> Open the **Tools** tab. You should see **Tools (55)**, each with a toggle and a **Read-only** or **Destructive** badge.
>
> ![n8n MCP Tools tab listing 55 tools while Connected via TypingMind Cloud](https://mintcdn.com/typingmind/BztDwVjaos_1hSvO/images/mcp-n8n/c07-cloud-tools.webp?fit=max\&auto=format\&n=BztDwVjaos_1hSvO\&q=85\&s=abd9443387f5a4d87fef4035630533a6)
>
> > [!TIP]
> >
> > All 55 tool descriptions are sent to the model with **every message**. That's about **21,000 tokens per request**. To save tokens:
> >
> > * Turn off tools you don't need in the **Tools** tab. For building workflows, the agent and skill tools (`search_agents`, `create_agent`, `call_agent`, `search_n8n_skills`, `create_skill`, and the rest) can usually be turned off. They make up about 40% of the total.
> > * Turn on the n8n plugin only in chats where you need it.
>
> **6. Turn on n8n in a chat**
>
> Start a new chat. Click the **plugin selector** next to the model name, type `n8n` in **Search**, and turn on **n8n** under **MCP**.
>
> ![Chat plugin selector with the n8n MCP plugin turned on](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/08-enable-in-chat.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=95741b7bffd80af01c8d482bfb533bb3)
>
> Check that it works:
>
> ```text theme={null}
> List my n8n workflows.
> ```
>
> The AI calls n8n's workflow search tool and lists your workflows, with their names, IDs, and what they do. (In the screenshot, the IDs are blurred.)
>
> ![AI answer listing the n8n workflows: Mini CRM, and Support Intake Triage and Daily Digest](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/09-first-tool-call.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=0f6c55f7bf85034faa2a8993037e9696)
>
> > [!NOTE]
> >
> > The AI can only see workflows that are **available in MCP**. Workflows the AI creates are available automatically. To make an existing workflow available, open it in n8n, click **...** → **Settings**, and turn on **Available in MCP**.

> [tab] n8n on your computer (localhost)
>
> **1. Start n8n**
>
> If you already have n8n on `localhost`, skip this step.
>
> To try n8n on your computer, install [Docker](https://docs.docker.com/get-docker/) and run:
>
> ```bash theme={null}
> docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
> ```
>
> Open `http://localhost:5678` and create your owner account.
>
> **2. Turn on MCP access in n8n and copy your token**
>
> 1. In n8n, click **Settings** (bottom left) and choose **Instance-level MCP**.
>
> 2. Under **Connection details**, check that **MCP status** says **Enabled**. If it doesn't, open the menu and enable it.
>
> 3. Under **Access**, **Workflows enabled** shows which workflows MCP clients can use (for example, **2 workflows**).
>
>    ![n8n Settings, Instance-level MCP page with MCP status Enabled](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/01-n8n-enable-mcp.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=b9c7657ff53d3ce395956c5a09a27f76)
>
> 4. Next to **Connect your client**, click **Connect**.
>
> 5. In the **Connect a client** dialog, open the **API key** tab.
>
> 6. Copy the **Server URL:** `http://localhost:5678/mcp-server/http`.
>
> 7. Next to **Access token**, click the refresh icon to create a token, then click the copy icon next to it.
>
>    ![n8n Connect a client dialog, API key tab with the Access token row (token blurred)](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/02-n8n-api-key.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=a7f1985831de5cb911b9c29770e0f992)
>
> > [!WARNING]
> >
> > n8n shows the token **only once** ("Make sure to copy your access token, you won't be able to see it again"). After that, the field shows only the last few characters. Save the token somewhere safe. Clicking the refresh icon again creates a new token and the old one stops working, so you'd have to update TypingMind.
>
> > [!NOTE]
> >
> > Use the **API key** tab for this guide. The Private MCP Connector doesn't support OAuth sign-in.
>
> **3. Start the Private MCP Connector**
>
> TypingMind can't reach `localhost` by itself. The **Private MCP Connector** runs on your computer and talks to n8n for TypingMind, so you don't need a tunnel or a public URL.
>
> In TypingMind, go to **Settings → Advanced Settings → Model Context Protocol**, click **Setup Connector**, choose **This Device**, and run the command it shows in a terminal. Keep the terminal open.
>
> ```bash theme={null}
> npx @typingmind/mcp <your-token>
> ```
>
> For details, see [Use MCP with Private MCP Connector](https://docs.typingmind.com/model-context-protocol-\(mcp\)-in-typingmind/use-mcp-with-private-mcp-connector). If it won't connect, see [Can't connect to the MCP Connector?](https://docs.typingmind.com/model-context-protocol-\(mcp\)-in-typingmind#cant-connect-to-the-mcp-connector)
>
> **4. Add n8n as an MCP server in TypingMind**
>
> 1. Click **Plugins** in the left sidebar.
>
> 2. Under **Store**, click **MCPs**, then click **+ Add MCP** (top right).
>
>    ![TypingMind Plugins Store, MCPs tab with the Add MCP button](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/03-add-mcp-button.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=95fd89af092acf4b2d6cc018391f9c8e)
>
> 3. The **Add Custom MCP Server URL** page opens (**MCPs / Add URL**). Fill in:
>    * **Server URL:** `http://localhost:5678/mcp-server/http`
>    * **Connection name:** `n8n`
>    * **Description** (optional): for example, "Build and run n8n workflows".
>
> 4. Open **Advanced options**, turn on **Custom HTTP headers**, and add:
>    * **Header name:** `Authorization`
>    * **Header value:** `Bearer <your n8n MCP access token>`
>
> 5. Click **Create connection**.
>
>    ![Add Custom MCP Server URL form with the n8n server URL and the Authorization header (token blurred)](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/04-add-custom-mcp-form.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=a417d2b4b2c35585d8130374e7625ad5)
>
> > [!TIP]
> >
> > Type the word `Bearer`, a space, and then the token. If you forget `Bearer `, n8n rejects the connection.
>
> **5. Choose Private MCP Connector**
>
> The new **n8n** entry shows **Connection Required via Select Connector**. Click **Connect**. The **Select MCP Connector** dialog opens with two options, **TypingMind Cloud** and **Private MCP Connector**.
>
> Choose **Private MCP Connector**. When the connector is running, the dialog shows **Connected to localhost:50881** ("Your MCP requests will be routed through your private connector"). Click **Select Connector**. To skip this dialog next time, tick **Remember this choice for all future connections**.
>
> ![Select MCP Connector dialog with Private MCP Connector selected and Connected to localhost:50881](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/05-choose-connector.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=ec3bc5578d4db93c760740960ce2d2a4)
>
> When it works, the n8n entry shows **✓ Connected via Private MCP Connector**.
>
> ![n8n MCP entry showing Connected via Private MCP Connector](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/06-connected.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=33faeab8a82bdc70ddce0ac9fd9488ce)
>
> **6. Check the tools**
>
> Open the **Tools** tab of the n8n entry. You should see **Tools (55)**, each with a toggle and a **Read-only** or **Destructive** badge.
>
> ![n8n MCP Tools tab listing 55 tools with toggles and badges](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/07-tools-tab.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=e0d1aa549c161e0ab15d238fccaf28b5)
>
> > [!TIP]
> >
> > All 55 tool descriptions are sent to the model with **every message**. That's about **21,000 tokens per request**. To save tokens:
> >
> > * Turn off tools you don't need in the **Tools** tab. For building workflows, the agent and skill tools (`search_agents`, `create_agent`, `call_agent`, `search_n8n_skills`, `create_skill`, and the rest) can usually be turned off. They make up about 40% of the total.
> > * Turn on the n8n plugin only in chats where you need it.
>
> **7. Turn on n8n in a chat**
>
> Start a new chat. Click the **plugin selector** next to the model name, type `n8n` in **Search**, and turn on **n8n** under **MCP**.
>
> ![Chat plugin selector with the n8n MCP plugin turned on](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/08-enable-in-chat.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=95741b7bffd80af01c8d482bfb533bb3)
>
> Check that it works:
>
> ```text theme={null}
> List my n8n workflows.
> ```
>
> The AI calls n8n's workflow search tool and lists your workflows, with their names, IDs, and what they do. (In the screenshot, the IDs are blurred.)
>
> ![AI answer listing the n8n workflows: Mini CRM, and Support Intake Triage and Daily Digest](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/09-first-tool-call.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=0f6c55f7bf85034faa2a8993037e9696)
>
> > [!NOTE]
> >
> > The AI can only see workflows that are **available in MCP**. Workflows the AI creates are available automatically. To make an existing workflow available, open it in n8n, click **...** → **Settings**, and turn on **Available in MCP**.

## Part 2: Build a support ticket workflow by chatting

In this example, a support form sends tickets to n8n. The AI builds a workflow that:

* Receives each ticket (name, email, message) through a **webhook**.
* Sorts the ticket by **priority** (urgent, normal, or spam) and **category** (billing, technical, feature request, or general).
* Saves urgent tickets as `needs_reply_now` and normal tickets as `queued` in an n8n **data table** called `support_tickets`.
* Replies to the form with how long the customer will wait: 1 hour for urgent tickets, 1 business day for normal ones. Spam is ignored.
* Every day at 5 PM, builds a **digest** of the queued tickets, grouped by category.

You don't need any other accounts. The workflow uses only built-in n8n nodes.

**1. Ask the AI to build the workflow**

With the **n8n** plugin turned on, send:

```text theme={null}
Create an n8n workflow for my support form: a webhook receives name, email, message. Classify each ticket as urgent, normal or spam and by category (billing, technical, feature request). Save urgent and normal tickets in a data table called support_tickets with a status, reply to the form with an ETA, and ignore spam. Every day at 5 PM, build a digest of queued tickets. Use the webhook path support-intake. Then test it with 3 sample tickets.
```

The AI works in several steps. It reads n8n's workflow reference, looks up the nodes it needs, creates the `support_tickets` data table, validates the workflow, and then saves it to n8n.

![AI tool calls while building the workflow: get\_workflow\_sdk\_reference, search\_nodes, create\_data\_table, validate\_workflow, create\_workflow\_from\_code](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/10-build-tool-calls.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=ee85f1c8598bad493840e62cb802aa2a)

> [!NOTE]
>
> Building takes a few minutes and many tool calls. If validation fails, n8n explains what's wrong, and the AI fixes it and tries again on its own. That's normal.

**2. See the workflow in n8n**

Open n8n in another tab. The new workflow is in your **Overview** list. Open it to see the canvas:

![The Support Triage workflow on the n8n canvas: webhook, classify, route by priority, save and reply branches, and the 5 PM digest](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/11-canvas.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=fdf984102a4fb58160f2627e0f05ef84)

Your node names may differ a little, but the shape is the same: **Webhook → Classify Ticket → Route by Priority**, with three branches (urgent, normal, spam), plus a separate **Every Day 5PM → Get Queued Tickets → Build Daily Digest** path.

> [!TIP]
>
> The AI sorts tickets with keyword rules in a **Code** node (for example, "refund", "outage", or "can't log in" means urgent). An AI node in n8n would need an LLM API key saved in n8n, which the AI can't create for you. See [Limits](#limits).

**3. Test it with sample tickets**

If you included "test it" in your first message, the AI runs the test right away. You can also ask for it:

```text theme={null}
Test the workflow with these tickets:
1. Jane, jane@example.com: "I was charged twice this month, need a refund ASAP"
2. Tom, tom@example.com: "Feature idea: dark mode would be nice"
3. Max, max@example.com: "Cheap SEO services, free money!!!"
Show me how each one was classified and what was saved.
```

The AI runs the workflow once per ticket (`execute_workflow`) and reads each result (`get_workflow_execution`).

![AI summary of the 3 test runs: urgent billing, normal feature request, spam ignored](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/12-test-results.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=64e66f63c0ee5c9ea498307b295998d3)

In n8n, open **Executions** to see each run, and open the `support_tickets` data table to see the saved rows. The spam ticket isn't saved.

![n8n support\_tickets data table with the urgent and normal test tickets](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/13-data-table.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=b8ff4f85ec9de4853835055ca72fe61d)

> [!WARNING]
>
> Test runs are real runs. They write real rows to your data table, and in your own workflows they can send real emails or messages. Use test data, and clear the table before you go live.

**4. Ask the AI to improve it**

Now make the workflow safer with a follow-up message:

```text theme={null}
Add error handling: if email or message is missing, reply with a 400 error instead of saving. Also retry saving urgent tickets up to 3 times.
```

The AI changes only what's needed (`update_workflow`). It adds a **Valid Submission?** check after the webhook that replies with `400` and `{"ok":false,"error":"email and message are required"}`, and turns on **Retry On Fail** (3 tries) for the node that saves urgent tickets.

![Updated canvas with the Valid Submission check and the Reply Invalid branch](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/14-canvas-after-edit.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=387d1cb2c8454819c64d223b767b43de)

Then ask it to check the change:

```text theme={null}
Test it with a ticket that has no email.
```

More ideas to try:

* "Add a separate branch for billing tickets."
* "Also mark tickets that mention 'cancel' as urgent."

**5. Publish the workflow**

A workflow only listens on its real (production) URL and runs on schedule after it's published. Ask:

```text theme={null}
Publish the workflow and give me the production webhook URL.
```

The AI calls `publish_workflow`. The production URL looks like `http://localhost:5678/webhook/support-intake`.

Point your form at this URL, or send a test request from a terminal:

```bash theme={null}
curl -X POST http://localhost:5678/webhook/support-intake \
  -H "Content-Type: application/json" \
  -d '{"name":"Ann","email":"ann@example.com","message":"App is down, cannot log in"}'
```

The response:

```json theme={null}
{"ok":true,"priority":"urgent","message":"We are on it. Expect a reply within 1 hour."}
```

![Terminal showing the curl request and the urgent reply from the published workflow](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/15-curl-production.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=fc3502384f407ccadd82f509af963f58)

> [!NOTE]
>
> The 5 PM digest uses your n8n instance's time zone. To change it, open the workflow's **Settings** in n8n and set **Timezone**.

## Run a workflow from chat

You can run any of your n8n workflows from a TypingMind chat, not only the ones the AI built. Ask in plain English, and the AI starts the workflow in n8n, waits for it to finish, and reads the result back into the chat.

Example prompts:

```text theme={null}
Run the Support Triage workflow with this ticket: Ann, ann@example.com, "App is down, cannot log in". Tell me how it was classified.
```

```text theme={null}
Run the published version of Support Triage with the same ticket.
```

```text theme={null}
Show me the last 5 runs of Support Triage. Did any of them fail, and why?
```

What happens:

1. The AI starts the workflow with `execute_workflow`. The workflow runs on your n8n instance, not in TypingMind.
2. n8n returns an execution ID, and the AI reads the result with `get_workflow_execution`.
3. The AI answers in the chat with what each step did. For past runs, it uses `search_workflow_executions`.

To see every step in detail, open **Executions** in n8n. The test runs in [Part 2](#part-2-build-a-support-ticket-workflow-by-chatting) work the same way:

![AI summary of the 3 test runs: urgent billing, normal feature request, spam ignored](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/12-test-results.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=64e66f63c0ee5c9ea498307b295998d3)

Good to know:

* **Existing workflows need Available in MCP.** Open the workflow in n8n, click **...** → **Settings**, and turn on **Available in MCP**. Workflows the AI creates through MCP have it turned on already.
* **Draft or published version.** By default the AI runs the current draft (test mode). Say "run the published version" to run the version that's live on your production URL. The workflow must be published first.
* **Workflows that need input.** For workflows that start with a Webhook, Chat, or Form trigger, give the input data in your message (for example, the ticket fields). If a workflow has more than one trigger, tell the AI which one to use.
* **Runs are real.** Every node really runs. Data gets written, and emails or messages get sent.
* **No waiting steps.** Workflows that pause for a person, such as multi-step forms or approval (Wait) steps, can't be run from chat.

## Part 3: Turn a workflow into AI tools (Mini CRM)

Part 2 lets the AI *build* workflows. You can also go the other way: build a workflow once, and let the AI *use* it as a set of tools. n8n's **MCP Server Trigger** node turns a workflow into its own MCP server.

In this example, the tools work on a small CRM stored in an n8n data table called `leads`:

| Tool | What it does |
| :- | :- |
| `add_lead` | Adds a lead (name, company, email, note) with stage `new` |
| `find_leads_by_stage` | Lists leads in a stage: `new`, `contacted`, `won`, or `lost` |
| `update_lead_stage` | Moves a lead (matched by email) to a new stage |

**1. Build the Mini CRM workflow**

You can build it in n8n by hand, or ask the AI with the **n8n** plugin turned on:

```text theme={null}
Create an MCP server workflow called Mini CRM with tools to add a lead, list leads by stage, and move a lead to a new stage, stored in an n8n data table called leads. Use the path mini-crm. Publish it and give me its MCP URL.
```

The AI creates a workflow with an **MCP Server Trigger** and three **Data table** tools, publishes it, and gives you the URL. It looks like `http://localhost:5678/mcp/mini-crm`.

![Mini CRM workflow on the n8n canvas: MCP Server Trigger with three Data table tools](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/16-mini-crm-canvas.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=b33cf0c361b7447ba252f2781a2c80f1)

**2. Add it to TypingMind**

Add a second MCP server the same way as in [Part 1](#part-1-connect-n8n-to-typingmind): **Plugins → Store → MCPs → + Add MCP**.

* **Server URL:** `http://localhost:5678/mcp/mini-crm` (use the **Production URL** from the MCP Server Trigger node)
* **Connection name:** `mini-crm`

Choose **Private MCP Connector** for a localhost URL. The entry shows **Tools (3)**: `add_lead`, `find_leads_by_stage`, and `update_lead_stage`.

![mini-crm MCP entry with 3 tools: add\_lead, find\_leads\_by\_stage, update\_lead\_stage](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/17-mini-crm-tools.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=79c1c7d11379717f20ba6e2d742427b4)

> [!WARNING]
>
> With **Authentication** set to **None**, anyone who can reach your n8n can call these tools. If your n8n is reachable from the internet, open the **MCP Server Trigger** node in n8n, set **Authentication** to **Bearer Auth**, and create a credential with a secret token. Then, in TypingMind, add the header `Authorization: Bearer <that token>` under **Advanced options → Custom HTTP headers**.

**3. Talk to your CRM**

Start a chat, turn on **mini-crm** in the plugin selector, and try:

```text theme={null}
Add Jane Doe from Acme, jane@example.com, met at the webinar, wants the team plan.
```

```text theme={null}
Add Bob Tran from Globex, bob@example.com, asked for pricing.
```

```text theme={null}
Move Bob to contacted.
```

```text theme={null}
Who's still new?
```

![AI using add\_lead and find\_leads\_by\_stage from the mini-crm tools](https://mintcdn.com/typingmind/Luy8CfpdtJOTjiyF/images/mcp-n8n/18-mini-crm-chat.webp?fit=max\&auto=format\&n=Luy8CfpdtJOTjiyF\&q=85\&s=26c8e115d113c748bd3daad69dc61a0f)

Only these three tools are sent to the model, so this uses far fewer tokens than the full n8n plugin. It's also safer: the AI can only do what the workflow allows.

To add more tools later, ask the AI with the **n8n** plugin: "Add a tool to delete a lead and one that counts leads per stage." TypingMind picks up the new tools from the same URL.

## Other option: the third-party n8n-mcp server

[n8n-mcp](https://github.com/czlonkowski/n8n-mcp) is a community project by czlonkowski, not made by n8n or TypingMind. It gives the AI detailed docs for every n8n node and workflow templates, and it can manage workflows through the n8n API. It's a good choice if you already use it, or if your n8n version doesn't have the built-in MCP server.

To run it locally with the Private MCP Connector, go to **Settings → Advanced Settings → Model Context Protocol → Edit Servers** and add:

```json theme={null}
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": ["n8n-mcp"],
      "env": {
        "MCP_MODE": "stdio",
        "LOG_LEVEL": "error",
        "DISABLE_CONSOLE_OUTPUT": "true",
        "N8N_API_URL": "https://your-n8n-instance.com",
        "N8N_API_KEY": "your-n8n-api-key"
      }
    }
  }
}
```

Create the n8n API key in n8n under **Settings → n8n API → Create an API key**. A hosted version is also available at [n8n-mcp.com](https://www.n8n-mcp.com/). Follow their setup guide to get the server URL and key.

## Limits

* **The AI can't create credentials.** It can't add API keys or log in to apps (Gmail, Slack, OpenAI, and so on) for you. Add credentials in n8n yourself, then ask the AI to use them.
* **AI nodes need an LLM credential.** n8n's AI Agent and LLM nodes need an API key saved in n8n. That's why the example sorts tickets with keyword rules instead of an AI node.
* **Test runs are real.** When the AI tests a workflow, every node really runs. Data gets written, and messages get sent.
* **No waiting steps in tests.** The AI can't test workflows that pause for a person, such as multi-step forms or approval steps.
* **Only workflows available in MCP.** The AI can't see or run your existing workflows until you turn on **Available in MCP** for them.
* **Building uses a lot of tokens.** Expect several minutes and many tool calls for a build. Choose a model with good tool calling.

## Security notes

* The n8n MCP access token gives the AI the same access as your n8n account. Don't share it, and rotate it in **Settings → Instance-level MCP** if it leaks.
* Tools marked **Destructive** (for example `archive_workflow` and `delete_data_table_column`) can change or remove things. Turn off the ones you don't need in the **Tools** tab.
* Your AI model provider receives the workflow details and data that the AI reads, the same as any chat.

## Troubleshooting

> [accordion] TypingMind can't connect to n8n
>
> * Check that the Server URL ends in `/mcp-server/http`. This isn't the address in your browser's address bar.
> * Check the header: name `Authorization`, value `Bearer ` followed by your token.
> * Make sure **MCP status** says **Enabled** in **Settings → Instance-level MCP**.
> * For a `localhost` URL, choose **Private MCP Connector** and make sure the connector is running. See [Can't connect to the MCP Connector?](https://docs.typingmind.com/model-context-protocol-\(mcp\)-in-typingmind#cant-connect-to-the-mcp-connector)
> * For n8n Cloud or a public HTTPS URL, choose **TypingMind Cloud**. TypingMind Cloud can't reach `localhost`.

> [accordion] Cloud path: 401, Failed to fetch, or connection fails
>
> * **401 Unauthorized:** the access token is wrong, was regenerated (the old one is revoked), or the header is missing the `Bearer ` prefix. Generate a new token in n8n (**Settings → Instance-level MCP → Connect → API key**), copy it once, and update **Authorization** in TypingMind to `Bearer <new token>`.
> * **Server URL:** must be `https://…/mcp-server/http` (https, and the path must end with `/mcp-server/http`). A bare n8n editor URL won't work.
> * **MCP access disabled:** in n8n, open **Settings → Instance-level MCP** and make sure **MCP status** says **Enabled**.

> [accordion] The AI doesn't see my existing workflows
>
> Turn on **Available in MCP** for the workflow: open it in n8n, click **...** → **Settings**. You can also turn on **Auto-expose new workflows** in **Settings → Instance-level MCP**.

> [accordion] The webhook URL returns 404
>
> The production URL only works after the workflow is published. Ask the AI to publish it, or click **Publish** in n8n. While testing in the n8n editor, use the test URL (`/webhook-test/...`) instead.

> [accordion] The AI keeps adding node groups or mentions a canvas warning
>
> n8n returns a canvas layout warning on every save. It's harmless. Tell the AI to ignore it.

> [accordion] My chat is slow or expensive
>
> The full n8n plugin sends about 21,000 tokens of tool descriptions with every message. Turn off tools you don't use in the **Tools** tab, turn the plugin off in chats that don't need it, or use an MCP Server Trigger workflow like the [Mini CRM](#part-3-turn-a-workflow-into-ai-tools-mini-crm) for everyday tasks.

> [accordion] Can I run my workflows from TypingMind, or only build them?
>
> You can run them too. Ask the AI to run a workflow, with input data if it needs some, and it reads the result back into the chat. Existing workflows need **Available in MCP** turned on. See [Run a workflow from chat](#run-a-workflow-from-chat).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.