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

# MCP overview

> Connect your own AI agent to Mora over the Model Context Protocol.

Mora runs a remote [MCP](https://modelcontextprotocol.io) server, so an agent you already use (Cursor, Claude, ChatGPT, or anything else that speaks MCP) can work with your Mora organization directly: browse your datasources and datasets, run read-only SQL against your warehouse, inspect dashboards, and hand bigger jobs to Mora's own analytics agent.

The endpoint is:

```
https://api.mora.com/api/mcp
```

You can also copy it from **Settings → API & MCP**, under **Connect your agent**.

<Note>
  MCP support is in **beta**. The tool surface may change between releases.
</Note>

## What your agent can do

<CardGroup cols={2}>
  <Card title="Explore your data" icon="database">
    List connected datasources and search your table and column catalog in plain language.
  </Card>

  <Card title="Run read-only SQL" icon="code">
    Query any connected datasource and get back the column schema, row count, and a sample of rows.
  </Card>

  <Card title="Read your workspace" icon="table">
    List datasets and dashboards, read a dataset's saved SQL, and inspect the charts on a dashboard.
  </Card>

  <Card title="Delegate to Mora's agent" icon="sparkles">
    Ask Mora's in-app agent to propose a plan, then approve it to build datasets, charts, and dashboards for you.
  </Card>
</CardGroup>

See the [tool reference](/mcp/tools) for the exact list, including which tools can change your workspace.

## How access works

Your agent connects with one of two credentials, both scoped to a single organization:

| Method              | Best for                                                                                                        |
| ------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Sign-in (OAuth)** | Most clients. You approve access in the browser; no key to copy or store. See [Connect an agent](/mcp/connect). |
| **API key**         | Clients that can't do a browser sign-in, and scripts. See [API keys](/mcp/api-keys).                            |

Either way:

* **The agent acts as you.** It sees exactly what you see: your organization's shared datasets and dashboards plus your own private datasets, and nothing from any other organization.
* **One organization per connection.** Access is bound to the organization that was active when you authorized (or created the key). If you belong to several, you pick which one during sign-in.
* **Access is checked on every request.** If you leave the organization, or the key is revoked, the connection stops working immediately.

## Limits and safeguards

* **SQL is read-only.** Only `SELECT`, `WITH`, `SHOW`, `DESCRIBE`, and `EXPLAIN` statements are allowed. Anything that writes to your database is rejected before it reaches the datasource.
* **Results are capped.** Queries run with a `LIMIT 100` unless your SQL sets its own limit, and the agent receives a 10-row sample by default.
* **Queries have a 60-second budget.** A slow query that is still healthy keeps running in the background and the agent is told to narrow it, instead of hanging.
* **Every query is recorded** as a run attributed to your user, the same as a query you run in the app.
* **Credentials are never exposed.** Datasource passwords, keys, and connection settings are not readable through MCP, and neither are billing, member, or organization settings.
* **Reading is safe, building is explicit.** Every tool is read-only except the three that delegate to Mora's agent or delete unused datasets. See [Tools that change your workspace](/mcp/tools#tools-that-change-your-workspace).

## Next steps

<CardGroup cols={2}>
  <Card title="Connect an agent" icon="plug" href="/mcp/connect" />

  <Card title="API keys" icon="key" href="/mcp/api-keys" />

  <Card title="Tool reference" icon="list-check" href="/mcp/tools" />

  <Card title="In-app AI assistant" icon="sparkles" href="/ai/overview" />
</CardGroup>
