> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/destinations/categories/ai/custom_mcp.md).

# Custom MCP

Expose Coupler.io data flows via MCP protocol for AI tools and applications. Enable custom integrations and conversational analysis with MCP-compatible clients.

Custom MCP (Model Context Protocol) lets you expose your Coupler.io data flows via an MCP endpoint that any MCP-compatible client can connect to. Instead of sending data to a traditional database or spreadsheet, you make your data available to AI tools and applications that speak the MCP protocol — enabling custom integrations, conversational analysis, and direct consumption by any MCP client.

## Why use Custom MCP as a Coupler.io destination?

* **Protocol-based flexibility** — Let any MCP-compatible client access your data without building custom APIs
* **AI-native architecture** — Designed for AI tools and applications that need structured data in machine-readable format
* **Direct tool integration** — Connect Zapier, n8n, Make, or any custom-made tool that supports MCP protocol
* **Custom workflows** — Any MCP client can consume your data for specialized business logic

## Prerequisites

* An MCP-compatible client (e.g., Claude, Cursor, Zapier, n8n, Make, or a custom application)
* Basic understanding of how to configure your MCP client to connect to an external server

## Quick start

{% hint style="success" %}
Custom MCP is ideal if you're building AI-powered workflows, want to give Zapier or Make access to your data, or have any MCP client that should consume your Coupler.io data.
{% endhint %}

## How to connect

{% stepper %}
{% step %}
**Start a new data flow.** In Coupler.io, click "Create a new data flow" and choose your data source (Google Ads, Shopify, a database — any Coupler.io source works).
{% endstep %}

{% step %}
**Select Custom MCP as your destination.** From the destination list, search for and select "Custom MCP."
{% endstep %}

{% step %}
**Generate your token and copy connection details.** Click "Generate token" and copy it along with the MCP server URL that Coupler.io provides.
{% endstep %}

{% step %}
**Configure your MCP client.** Fill in the JSON config of your MCP client with the token and MCP URL from the previous step. Consult with the example config provided.
{% endstep %}

{% step %}
**Run the data flow.** Click "Run" to send your data. Once successful, any MCP client configured with your token and URL can access the data.
{% endstep %}
{% endstepper %}

## Supported features

| Feature              | Supported |
| -------------------- | --------- |
| Replace mode         | Yes       |
| Append mode          | No        |
| Automatic scheduling | Yes       |
| Type enforcement     | No        |
| Templates            | No        |

{% hint style="danger" %}
Do not share your personal access token with anyone and threat it as sensitive information
{% endhint %}

## Custom MCP common issues

### Connection issues

<details>

<summary>MCP client cannot connect to Coupler.io's MCP endpoint</summary>

Verify that:

* The MCP URL and token in your client config match what Coupler.io provided
* Your MCP client supports the MCP protocol version used by Coupler.io
* Check your MCP client logs for connection errors

If you're behind a corporate firewall, you may need to allow outbound connections to Coupler.io's MCP endpoint.

</details>

<details>

<summary>Authentication fails (invalid credentials)</summary>

Double-check that:

* The personal access token and URL are entered correctly in your client config with no extra spaces
* The token hasn't been regenerated since you last configured the client
* You're using the correct authentication type (Bearer token)

If you recently regenerated the token in Coupler.io, update your MCP client config with the new token.

</details>

### Data issues

<details>

<summary>Data doesn't appear in my MCP client</summary>

Troubleshoot by:

* Checking the data flow settings in Coupler.io — look for error messages or warnings
* Verifying that your source data actually contains rows (check "Data set" wizard step to confirm)
* Confirming your MCP client is configured with the correct token and URL
* Checking your MCP client's logs to see if it's successfully querying Coupler.io's endpoint

If the data flow run shows "success" but data doesn't appear in your client, the issue is likely in your client's configuration or how it queries the MCP endpoint.

</details>

<details>

<summary>Data is incomplete or truncated</summary>

This can happen if:

* Your MCP client has limits on how much data it can consume — check its documentation
* Large text fields are being cut off by character limits

Try sending a smaller subset of columns first to isolate the problem.

</details>

{% hint style="warning" %}
If issues persist after troubleshooting, review your MCP client's documentation and logs. Coupler.io exposes data via the MCP protocol standard — problems usually lie in client configuration or connectivity rather than Coupler.io itself.
{% endhint %}

## Custom MCP FAQ

<details>

<summary>What is MCP?</summary>

MCP (Model Context Protocol) is an open standard for connecting AI models and applications to external data sources and tools. It's designed to be simpler and more standardized than custom APIs.

</details>

<details>

<summary>Can I send data from multiple sources to the same custom MCP?</summary>

Yes. A Coupler.io data flow can contain multiple sources. You can combine data from Google Ads, Shopify, and a database in the same flow, then make it all available via your MCP endpoint. You can also transform the data using Join or Append before it's exposed to clients.

</details>

<details>

<summary>What happens if my MCP client goes down?</summary>

Rest assured – you data is safe with Coupler.io. If your client is unreachable when a scheduled data flow runs, the flow will still succeed, but you will not see the updated data. Once your client is back online, you will be able to get the latest data.

</details>

<details>

<summary>Is there a limit to how much data I can send to Custom MCP?</summary>

Coupler.io has no hard data limits, but your MCP client may have constraints on how much data it can consume. If your data is very large, test with a small sample first.

</details>

<details>

<summary>How do I troubleshoot if data isn't appearing in my MCP client?</summary>

Start by checking:

1. The data flow settings in Coupler.io — look for error messages
2. Your source data — ensure it has rows on the "Data set" wizard step
3. Your MCP client's logs — see if it's connecting successfully
4. Your client's configuration — ensure the personal access token and the URL match what Coupler.io provided

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.coupler.io/destinations/categories/ai/custom_mcp.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
