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

# MCP Setup Guide

The Euno AI Assistant can connect to compatible AI clients through the Model Context Protocol (MCP). This lets you explore your data model from Cursor, Claude, ChatGPT, and other MCP-enabled assistants.

The standard connection is `https://api.app.euno.ai/mcp` and uses OAuth. The first time you use Euno MCP, your client prompts you to sign in to Euno in a browser. If Euno cannot identify one clear persona, you will be asked to choose one.

This guide covers the standard direct MCP setup using OAuth.

## Prerequisites

Before setting up MCP, make sure you have:

* access to Euno and at least one assigned persona
* an MCP-compatible client such as Cursor, Claude, ChatGPT in Developer Mode, or Claude Code in VS Code

## Sign In with OAuth

In the recommended OAuth setup, your client will prompt you to sign in to Euno in a browser the first time you connect.

## Personas in MCP

Euno MCP uses your active persona to determine what data and actions are available.

* If Euno can identify which persona to use, it will select it automatically.
* This usually happens when you have a default persona, or only one available persona in the relevant account.
* If Euno cannot identify a single clear persona, you will be asked to choose one.

When `switch_persona` succeeds on an unscoped OAuth connection, Euno stores one active persona for your signed-in user. The saved choice is shared across that user's unscoped OAuth clients, sessions, and threads that can access the selected account. Explicit account and persona settings in a connection override this stored choice and cannot be changed with `switch_persona`. API-key users must change their configured account and persona scope instead.

Switching persona changes the account and permissions used by later unscoped MCP calls. It also clears loaded skills and any unapplied metadata-tag preview in the session where the switch was made.

## Choose Your Setup

Use the setup mode that matches your client's MCP capabilities:

| Use this when                                                                                | Recommended setup                                                   |
| -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| Your client supports remote HTTP MCP servers                                                 | [Direct connection](/ai/mcp-setup/direct-connection.md)             |
| You use **Google Gemini Enterprise** (Custom MCP Server data store)                          | [Gemini Enterprise Setup](/ai/mcp-setup/gemini-enterprise-setup.md) |
| Your client does not support remote HTTP MCP servers, or you prefer a local stdio MCP server | [MCP Bridge Setup](/ai/mcp-bridge-setup.md)                         |
| A non-Claude client cannot complete interactive OAuth sign-in                                | [Advanced API Key Setup](/ai/mcp-api-key-setup.md)                  |

Claude and Anthropic Directory connections use the direct OAuth setup.

## Read and Write Behavior

Euno MCP includes both read and write tools. Most tools only retrieve Euno data. The following tools change account or session state, so your client may ask for confirmation:

* `switch_persona` saves the OAuth user's shared active persona and clears this session's loaded skills and unapplied previews. It works only for unscoped OAuth connections.
* `load_skill` changes the skills and tools visible in the current MCP session. Reloading a skill that unlocks tag apply invalidates previews tied to its previous load.
* `preview_metadata_tag_plan` validates a plan without changing catalog data, but replaces the previous short-lived preview receipt.
* `apply_metadata_tag_plan` requires Euno staff access. A stored preview receipt is consumed before the backend apply request, so a failed request requires a new preview. A successful request creates or updates catalog tags.
* The two audit tools may initialize or update Euno's audit storage before returning read results.

Euno still checks authentication, persona permissions, skill visibility, and metadata-tag preview receipts on the server. Client confirmation does not replace these checks.

## Available Tools

| Tool                                    | Description                                                                                                            | Availability                                      |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| `euno_dynamic_instructions`             | Return current account, persona, skill, and metadata context.                                                          | Always                                            |
| `list_personas`                         | List accounts and personas with numbered IDs based on the current result.                                              | Always                                            |
| `current_persona`                       | Return the effective account and persona, including a shared OAuth selection.                                          | Always                                            |
| `switch_persona`                        | Save the OAuth user's shared active choice.                                                                            | Always visible; succeeds only with unscoped OAuth |
| `load_skill`                            | Load or reload an Euno skill in the current MCP session.                                                               | Always                                            |
| `search_properties`                     | Search property definitions available to the active persona.                                                           | Always                                            |
| `fetch_single_resource`                 | Return one resource by URI with requested properties and relationships.                                                | Always                                            |
| `find_resource_by_name`                 | Find resources by exact, partial, or similar name.                                                                     | Always                                            |
| `find_resources_for_topic`              | Find resources related to supplied topics, descriptions, synonyms, or tags.                                            | Always                                            |
| `get_upstream_lineage`                  | Return upstream dependencies for one resource URI.                                                                     | Always                                            |
| `resource_impact_analysis`              | Return downstream impact for one resource URI.                                                                         | Always                                            |
| `query_to_eql`                          | Convert a natural-language resource filter into EQL without executing it.                                              | Always                                            |
| `search_resources_eql`                  | Search resources with EQL, pagination, sorting, properties, and relationships.                                         | Always                                            |
| `count_resources_eql`                   | Count resources with EQL.                                                                                              | Always                                            |
| `search_resource_audit_log`             | Return audit events; requires `uri`, `actor`, or `property_id`.                                                        | Always                                            |
| `sensitive_data_incident_response`      | Return evidence for one user/BI-resource pair or a batch of pairs.                                                     | Always                                            |
| `documentation_search`                  | Search indexed Euno User Manual pages.                                                                                 | Always                                            |
| `documentation_get_full_document`       | Return the text of an indexed Euno User Manual page.                                                                   | Always                                            |
| `documentation_get_surrounding_context` | Return adjacent manual chunks for a search result.                                                                     | Always                                            |
| `list_metadata_tags`                    | List metadata tags visible to the active persona.                                                                      | After loading the tags skill                      |
| `list_metadata_tag_domains`             | List metadata-tag domains visible to the active persona.                                                               | After loading the tags skill                      |
| `preview_metadata_tag_plan`             | Validate one tag create or update item, or a two-item dependent create plan, and create a short-lived preview receipt. | After loading the tags skill                      |
| `apply_metadata_tag_plan`               | Apply a previewed tag plan and create or update catalog tags.                                                          | Tags skill; Euno staff only                       |

The metadata-tag tools remain hidden until the tags skill is loaded. Applying a plan requires its current preview receipt, Euno staff access, and the configured approval policy.

## Example Prompts

* "Find the Tableau dashboard named Revenue Overview and show its upstream lineage."
* "What dashboards and owners would be affected if resource URI `<resource-uri>` changed?"
* "Count Snowflake tables without an owner."
* "Search the Euno documentation for persona switching and return the full matching page."
* "List our metadata tags and prepare a preview to update the certification tag's description."

## Help and Privacy

* [Live Euno MCP guide](https://docs.euno.ai/ai/mcp-setup)
* [Direct-connection troubleshooting](https://docs.euno.ai/ai/mcp-setup/direct-connection#troubleshooting)
* [Euno website privacy policy](https://euno.ai/privacy-policy)
* [Euno support resources](https://docs.euno.ai/support-resources) or <support@euno.ai>

### Catalog Tools

Euno MCP also provides 14 direct catalog tools:

* Glossary: `fetch_glossary_term`, `find_glossary_term`, `create_glossary_term`, `update_glossary_term`, and `delete_glossary_term`
* Metadata tags: `fetch_metadata_tag`, `create_metadata_tag`, `update_metadata_tag`, and `delete_metadata_tag`
* Workflows: `fetch_workflow`, `find_workflow`, `create_workflow`, `update_workflow`, and `delete_workflow`

MCP publishes catalog reads as read-only. Catalog creates, updates, and deletes are marked destructive so Claude asks for confirmation before an operation that modifies data. Euno still checks your active persona and backend permissions for every call.

All delete tools require `confirm=true`. Without it, Euno returns a confirmation-required result and does not make the delete request.

Metadata-tag tools are hidden until the `tags` skill is loaded. Creating or updating a tag is a two-step flow:

1. Call `preview_metadata_tag_plan` to validate the proposed change without writing it.
2. Pass the returned `plan_id` to `create_metadata_tag` or `update_metadata_tag`, as directed by the preview.

The `plan_id` receipt is valid for five minutes, can be used only once, and must be used in the same authenticated MCP context. `apply_metadata_tag_plan` remains available as a deprecated compatibility alias and uses the same receipt.

See [Supported Tags and Previews](/using-euno/metadata-activation/metadata-tags/creating-metadata-tags-with-ai.md#supported-tags-and-previews) for supported tag types and preview behavior.

`count_resources_eql` can check how many resources match a workflow EQL filter. It does not simulate the complete workflow. Catalog writes are not exposed through the legacy MCP endpoints or the Snowflake batch adapter.

Successful catalog calls return the backend route's JSON shape unchanged. Failures are MCP tool errors with the shared `status`, `error_type`, `status_code`, `body_format`, and `body` fields. If `status` is `outcome_unknown`, check the current catalog state before deciding whether to retry.

***


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.euno.ai/ai/mcp-setup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
