> 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/gemini-enterprise-setup.md).

# Gemini Enterprise Setup

Connect **Google Gemini Enterprise** to Euno's remote MCP server so agents in your organization can explore your Euno data model, run EQL searches, and use other Euno MCP tools from within Gemini Enterprise.

Your Gemini Enterprise administrator configures a **Custom MCP Server** data store in the Google Cloud console. Euno provides a dedicated OAuth **Client ID** and **Client Secret** for your organization — request them from Euno support before you begin (see Step 2).

## Prerequisites

Before you start, make sure you have:

* **Euno access** — at least one user who can sign in to Euno, with an assigned persona
* **Gemini Enterprise** — access to create data stores in the [Gemini Enterprise console](https://console.cloud.google.com/gemini-enterprise)
* **Google Cloud permissions** on the project where Gemini Enterprise runs:
  * **Discovery Engine Editor** (`roles/discoveryengine.editor`) — to create the data store
  * **Organization Policy Administrator** (`roles/orgpolicy.policyAdmin`) — or a GCP org admin who can change org policies (see Step 1)
* **OAuth credentials from Euno** — Client ID and Client Secret (see Step 2)

{% hint style="info" %}
Gemini Enterprise supports only the **Streamable HTTP** MCP transport. Euno's MCP endpoint (`https://api.app.euno.ai/mcp`) uses this transport.
{% endhint %}

## Step 1 — Allow custom MCP connectors (GCP org policy)

By default, Google Cloud **blocks** custom MCP server data stores. Your GCP administrator must disable this restriction on the Gemini Enterprise project **before** you can create the connector.

### 1.1 Disable the custom MCP connector constraint

1. In the [Google Cloud console](https://console.cloud.google.com/), open **IAM & Admin → Organization policies**.
2. Select the **GCP project** used for Gemini Enterprise (use the project selector at the top).
3. In the filter field, search for **Disable custom MCP server connector for Gemini Enterprise**.
4. Open the policy → **Manage policy** → **Override parent's policy**.
5. Add a rule with enforcement set to **Off** → **Set policy**.
6. Confirm the policy status shows **Not enforced**.

Google documentation: [Override the organization policy for Custom MCP data stores](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/custom-mcp-server/override-constraint-for-custom-mcp-data-stores)

{% hint style="warning" %}
If you see an error like `Operation denied by org policy` mentioning `discoveryengine.managed.disableCustomMcpServerConnector`, this step has not been completed. **Organization Administrator** alone is not enough — the role **Organization Policy Administrator** is required.
{% endhint %}

### 1.2 Allow egress and data sources (if required)

Depending on your organization's VPC Service Controls and org-policy enforcement, you may also need to allow:

| Org policy                                            | What to add                              |
| ----------------------------------------------------- | ---------------------------------------- |
| **Restrict allowed data sources for data connectors** | `custom_mcp`                             |
| **Restrict egress domains for data connectors**       | `api.app.euno.ai` and `auth.app.euno.ai` |

If your project is **not** VPC-SC protected and is not listed in `enforcedProjects` for those policies, disabling the custom MCP connector constraint (Step 1.1) may be sufficient.

Ask your GCP administrator to verify using Google's [custom MCP server setup guide](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/custom-mcp-server/set-up-custom-mcp-server).

## Step 2 — Request OAuth credentials from Euno

Contact Euno's support team to request Gemini Enterprise OAuth credentials for your account:

* **Email:** <support@euno.ai>
* **Include:** your Euno account name or account ID, and that you are setting up **Gemini Enterprise Custom MCP**

Euno will provide:

* **Client ID**
* **Client Secret**

{% hint style="info" %}
Euno sends the Client ID and Client Secret by email when you request them. Use them only to configure your Gemini Enterprise data store. The Client Secret identifies your organization's Gemini connector — it does **not** by itself grant access to Euno data. Users still sign in with their own Euno account when using the connector.
{% endhint %}

Each Euno account receives its **own** OAuth client. This keeps credentials isolated between customers.

## Step 3 — Create the Custom MCP data store

1. In the Google Cloud console, go to [Gemini Enterprise](https://console.cloud.google.com/gemini-enterprise).
2. In the navigation menu, click **Data stores**.
3. Click **Create data store**.
4. On **Select a data source**, search for **Custom MCP Server** and click **Add MCP server**.

### 3.1 Authentication settings

Enter the values below. Use the **Client ID** and **Client Secret** from Euno support (Step 2) for the last two fields.

| Field                            | Value                                                                                                                  |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **MCP Server URL**               | `https://api.app.euno.ai/mcp`                                                                                          |
| **Authorization URL**            | `https://auth.app.euno.ai/oauth2/v1/apps/agentic/P2ZSrZMISIQDwkiHqZfmxutBIQYd/MS3AS5rurLJH9KXGrZ1fV7PDiPhdN/authorize` |
| **Authorization URL Parameters** | *(leave empty unless Euno support instructs otherwise)*                                                                |
| **Token URL**                    | `https://auth.app.euno.ai/oauth2/v1/apps/agentic/P2ZSrZMISIQDwkiHqZfmxutBIQYd/MS3AS5rurLJH9KXGrZ1fV7PDiPhdN/token`     |
| **Client ID**                    | *Provided by Euno support*                                                                                             |
| **Client Secret**                | *Provided by Euno support*                                                                                             |
| **Scopes**                       | `openid profile email phone`                                                                                           |
| **Enable PKCE Support**          | ✓ Checked                                                                                                              |

Notes:

* Enter only the **base** Authorization URL — do not append query parameters such as `client_id` or `redirect_uri`. Gemini Enterprise adds standard OAuth parameters automatically.
* Use a **space-separated** list for scopes, as shown above.

Click **Login** and complete Euno sign-in in the browser when prompted. This verifies that OAuth is configured correctly.

### 3.2 Advanced options

Click **Continue** to open **Advanced options**.

In **MCP Server Description**, enter a short description that helps Gemini Enterprise decide when to use Euno — for example:

```
Euno data catalog and lineage platform. Use to search resources, explore upstream/downstream lineage, run EQL queries, and answer questions about tables, dashboards, dbt models, and other data assets in the customer's Euno account.
```

Click **Continue**.

### 3.3 Name and create the data store

1. Select the **Location** (multi-region) for your data connector.
2. Enter a **data connector name** — for example, `Euno MCP`.
3. Click **Create**.

### 3.4 Wait for Active status

1. Open the new data store from the **Data stores** list.
2. Wait until the state changes from **Creating** to **Active**.

## Step 4 — Enable actions

By default, Gemini Enterprise imports MCP tools as **actions** but leaves them **disabled**.

1. Open your Euno data store.
2. Click **Actions → Reload custom actions** (reauthenticate if prompted).
3. Select the Euno tools you want users to access.
4. Click **Enable actions**.

{% hint style="info" %}
Limit enabled actions to **100 at a time** for best performance (Google recommendation). Start with read-oriented tools such as search and lineage if you are unsure which to enable.
{% endhint %}

## Step 5 — Connect the data store to an app and authorize

If the data store is not yet attached to a Gemini Enterprise app:

1. Follow Google's guide to [connect a data store to an app](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/custom-mcp-server/set-up-custom-mcp-server#verify-the-state-of-the-custom-mcp-server).
2. In the Gemini Enterprise web app, open the chat input area and click the **connector/tools** icon.
3. Locate your Euno data store. If it shows **Authorize**, click it and complete sign-in.
4. Turn the connector **on** once authorized.

The first time a user invokes Euno, they may be prompted to sign in to Euno again and approve access.

## Personas in MCP

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

* If Euno can identify a single clear persona (for example, you have a default persona or only one available persona), it selects it automatically.
* If Euno cannot determine a persona, you will be asked to choose one during the session.

Users with access to multiple personas can ask the agent to list personas and switch during the conversation. See [Personas](/setup-configuration/personas.md) for background.

## Troubleshooting

### Org policy blocks data store creation

**Symptom:** Error mentioning `discoveryengine.managed.disableCustomMcpServerConnector`.

**Fix:** Complete [Step 1](#step-1--allow-custom-mcp-connectors-gcp-org-policy). Confirm enforcement is **Off** on the correct GCP project (project ID may differ from the display name).

### Login or Verify Auth fails

1. Confirm **Client ID** and **Client Secret** match the values from Euno support (no extra spaces).
2. Confirm **Authorization URL**, **Token URL**, and **Scopes** match this guide exactly.
3. Confirm **Enable PKCE Support** is checked.
4. Confirm the signing-in user has access to Euno and at least one persona.

### Data store is Active but Gemini does not call Euno

1. Confirm [actions are enabled](#step-4--enable-actions).
2. Confirm the connector is **authorized and toggled on** in the Gemini Enterprise chat UI.
3. If your project uses VPC-SC or strict egress policies, confirm `api.app.euno.ai` and `auth.app.euno.ai` are allowlisted ([Step 1.2](#12-allow-egress-and-data-sources-if-required)).
4. Confirm the data store is connected to a **conversational agent app**, not only a search app.

### Persona selection required

This is expected when the signed-in user has multiple personas and no default is set. Choose a persona when prompted, or ask the agent to list and switch personas.

### Need new credentials

Contact <support@euno.ai> to rotate or reissue Gemini Enterprise OAuth credentials for your account.

## Related pages

* [Personas](/setup-configuration/personas.md) — how personas affect AI and MCP access
* [Google: Set up your custom MCP server data store](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/custom-mcp-server/set-up-custom-mcp-server)


---

# 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/gemini-enterprise-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.
