> For the complete documentation index, see [llms.txt](https://endash-guidance-docs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://endash-guidance-docs.gitbook.io/docs/mcp-server/for-claude.md).

# for Claude

## 🤖 Endash for Claude

Welcome! This page will guide you on how to **use Endash data directly inside Claude** — ask questions in plain English, and Claude will pull live numbers from your connected ad and sales channels through the Endash MCP server.

{% hint style="info" %}
**What is MCP?** Model Context Protocol is the open standard that lets AI assistants like Claude securely connect to external data and tools. Endash exposes your team's e-commerce data as an MCP server so Claude can answer questions like *"What was last week's ROAS by channel?"* without you ever leaving the chat.
{% endhint %}

***

### ✨ What you can do

Once Endash is connected, you can ask Claude things like:

* *"Compare last 30 days' ROAS across Meta Ads, Google Ads, and Naver SA for the Acme team."*
* *"Why did Smart Store revenue drop last week? Show daily breakdown by product."*
* *"List campaigns where spend is over ₩1M and ROAS below 2."*
* *"Connect a new Coupang Ads account to my team."*

Claude will automatically discover your connected channels, look up the right column names, run a validated SQL query against your data, and explain the result.

***

### 🧩 Before you start

You'll need:

1. **An active Endash account** — sign up at [app.endash.ai](https://app.endash.ai) if you don't have one yet.
2. **Membership in at least one team** — Claude only sees data for teams you belong to.
3. **At least one connected data source** — Meta Ads, Google Ads, Naver SA, Coupang Ads, Smart Store, Cafe24, BigQuery, Google Sheets, and more. See Connect your data to get started.
4. **One of the supported Claude surfaces** — Claude.ai (web), Claude Desktop, or Claude Code.

{% hint style="success" %}
No paid Endash plan required. The MCP server uses the same access rules as your normal Endash account — if your team can see it in Endash, Claude can see it too.
{% endhint %}

***

### 🚀 Setting it up

#### In Claude.ai (web)

1. Open Claude at [claude.ai](https://claude.ai) and click your profile → **Settings** → **Connectors**.
2. Click **Add custom connector** (or browse the directory if Endash is already listed).
3. Paste the Endash MCP server URL: `https://prod.api.endash.ai/mcp`
4. Click **Connect**. You'll be redirected to Endash to sign in and authorize Claude.
5. Pick the team(s) you want Claude to access, then click **Allow**.
6. You're back in Claude. Try asking *"List my Endash teams."*

#### In Claude Desktop

1. Open **Settings** → **Developer** → **Edit Config**.
2. Add Endash to the `mcpServers` block:

```json
{
  "mcpServers": {
    "endash": {
      "url": "https://prod.api.endash.ai/mcp"
    }
  }
}
```

3. Restart Claude Desktop. You'll be prompted to authorize on first use.

#### In Claude Code

```bash
claude mcp add --transport http endash https://prod.api.endash.ai/mcp
```

Then run any prompt — Claude Code will trigger the OAuth flow in your browser the first time.

***

### 🛠 Available tools

Endash exposes the following tools to Claude. You don't usually call these by name — Claude picks the right one based on your question.

| Tool                      | What it does                                                                                             |
| ------------------------- | -------------------------------------------------------------------------------------------------------- |
| `list_teams`              | Lists the Endash teams you belong to.                                                                    |
| `list_source_types`       | Shows which data source types Endash can connect (Meta Ads, Naver SA, Coupang, Cafe24, BigQuery…).       |
| `list_connected_channels` | Lists channels already connected to a specific team.                                                     |
| `get_source_metadata`     | Returns the table/column schema and engine hint for a data model. Claude uses this to build correct SQL. |
| `get_playbook`            | Pulls a channel-specific analysis playbook (column conventions, ROAS/CTR formulas, common pitfalls).     |
| `validate_query`          | Dry-runs a SQL statement against your team's schema to catch errors before execution.                    |
| `execute_query`           | Runs the validated SQL and returns rows.                                                                 |
| `connect_source`          | Starts the flow to connect a new data source to a team.                                                  |
| `record_feedback`         | Logs your satisfaction with an answer so we can improve playbooks and prompts.                           |

{% hint style="info" %}
All read tools require the `mcp:read` scope; `connect_source` requires `mcp:write`. Claude requests both during authorization.
{% endhint %}

***

### 🔐 Permissions & data access

* **Team-scoped.** Every tool call resolves your identity from the OAuth token and validates your team membership before returning data. You can't see data for a team you don't belong to — even if you ask Claude nicely.
* **Read-mostly.** Eight of nine tools are read-only against your warehouse. Only `connect_source` performs a write, and only to add a new connection (it never modifies external accounts).
* **No silent storage.** Endash logs the question and tool calls for support and quality (so we can debug if something goes wrong), but does not retain query result rows beyond the session.
* **Transport.** All traffic is HTTPS. The MCP server uses the [Streamable HTTP](https://spec.modelcontextprotocol.io/specification/2025-06-18/basic/transports/) transport. SSE is not supported.

For the full policy, see our [Privacy Policy](https://endash.ai/privacy) and [Terms of Service](https://endash.ai/terms_of_service).

***

### 🐞 Troubleshooting

#### "I authorized but Claude says no teams found."

You're probably signed into a different Endash account than the one with team membership. Disconnect Endash from Claude (Settings → Connectors → Endash → Disconnect), sign out at [app.endash.ai](https://app.endash.ai), then reconnect.

#### "Claude says my SQL failed with `column does not exist`."

Ask Claude to *"call `get_source_metadata` again and rebuild the query from the actual columns."* The schema is the source of truth — Claude shouldn't guess column names. If it keeps happening, please send us the team ID and the failing query.

#### "ROAS numbers don't match what I see in `app.endash.ai`."

Two common reasons:

1. **Different time zone** — Naver SA is reported in KST (`date_kst` column). If Claude grouped by UTC `date`, the daily buckets shift by a few hours.
2. **Channel-specific revenue field** — Naver SA uses `conv_amt` instead of `revenue`. Ask Claude to consult `get_playbook(source_type="naver_sa")` and re-run.

#### "OAuth keeps redirecting in a loop."

Clear cookies for `claude.ai` and `app.endash.ai`, then reconnect. If the loop continues, it's almost always a third-party-cookie blocker. Allow third-party cookies for both domains and retry.

#### "A specific channel shows `Auth expired`."

Open [app.endash.ai](https://app.endash.ai) → **Connections** → find the channel → click **Reauthenticate**. Endash MCP can detect the broken state but cannot refresh tokens for you (the source platform requires you to sign in again).

***

### 💡 Tips for better answers

* **Always tell Claude which team.** "for the Acme team" is faster than letting Claude call `list_teams` first.
* **Ask for a playbook on first use of a channel.** *"Pull the Naver SA playbook before writing the query"* avoids the most common column-name mistakes.
* **Ask Claude to validate before executing.** Cheap insurance against typos in long queries.
* **If a result looks weird, ask Claude to show its SQL.** Easier to spot a wrong `GROUP BY` than to debug a wrong number.

***

### ❓ FAQ

**Does Endash MCP cost extra?** No. It's included with your Endash account at no additional charge.

**Can I use Endash MCP with ChatGPT or other AI clients?** Yes — Endash MCP supports any AI client that speaks MCP with OAuth 2.0. ChatGPT and OpenAI Apps are also supported.

**Where is my data processed?** Queries run inside Endash's infrastructure (Trino/BigQuery). Result rows are returned to Claude over HTTPS. Claude does not retain them after the conversation ends, per Anthropic's policy.

**Can I limit which tools Claude can use?** During the OAuth consent screen you can deselect `mcp:write`, which disables `connect_source`. The other tools are read-only.

**Does Endash see my Claude conversation?** No. Endash only sees the individual tool calls Claude makes — it never sees your full prompt or Claude's other reasoning.

***

### 🤝 Get help

* **Email:** <cigro.manager@endash.ai>
* **In-app chat:** Click the chat bubble at the bottom-right of [app.endash.ai](https://app.endash.ai)
* **Status & changelog:** [endash-guidance-docs.gitbook.io/docs](https://endash-guidance-docs.gitbook.io/docs)

We highly focus on the VOC, so don't hesitate to send us anything — bug reports, feature requests, or "Claude said this weird thing." 💛
