# 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 directly from tools such as Cursor, Claude Desktop, and other MCP-enabled assistants.

The recommended setup uses OAuth. The first time you use Euno MCP, your client will prompt you to sign in to Euno in a browser. If Euno can identify which persona to use, it will select it automatically. If Euno cannot identify a single 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 Desktop, 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 in the session.

* 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.

If you have access to more than one persona, you can ask your assistant to show your available personas and switch to another one during the session.

## 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 (this page)                                |
| Your client does not support remote HTTP MCP servers, or you prefer a local stdio MCP server      | [MCP Bridge Setup](/ai-assistant/mcp-bridge-setup.md)        |
| Interactive OAuth sign-in is not available, or you prefer manual API key and header configuration | [Advanced API Key Setup](/ai-assistant/mcp-api-key-setup.md) |

If you are not sure which option to use, start with the direct connection below.

## Cursor Direct Connection

If your version of Cursor supports remote HTTP MCP servers, this is the simplest way to connect to Euno MCP.

1. Open **Cursor Settings**
2. Go to **Tools & Integrations**
3. Add a new MCP server. In the `mcp.json` file that opens, add:

   ```json
   {
     "mcpServers": {
       "euno-assistant": {
         "type": "http",
         "url": "https://api.app.euno.ai/mcp"
       }
     }
   }
   ```
4. Save the file
5. The first time you use Euno MCP, Cursor will prompt you to sign in to Euno in a browser
6. After sign-in, you can start using Euno MCP in chat

## Claude Code Direct Connection

Use this for the Claude Code CLI or the Claude Code extension in VS Code.

1. Open your terminal (or VS Code **Terminal → New Terminal**)
2. Run: `claude mcp add --transport http euno-mcp https://api.app.euno.ai/mcp`
3. Open Claude Code (or the Claude Code extension tab in VS Code) and type `/mcp`
4. Choose `euno-mcp` and authenticate
5. Complete Euno sign-in in the browser when prompted

## Troubleshooting

### Euno MCP does not appear in Cursor

1. Confirm that your `mcp.json` file is valid JSON
2. Save the file and refresh **Tools & Integrations**
3. Re-open **Tools & Integrations** and confirm that the Euno MCP server appears there

### Euno MCP does not appear in Claude Code extension on VS Code

This setup uses the **Claude Code** extension or CLI, not Claude Desktop. In VS Code, open the **Claude Code** chat panel and run `/mcp` there. The **Manage MCP Servers** settings view can show "No servers" even when the server is configured correctly. Start with [Confirm the CLI registered the server](#confirm-the-cli-registered-the-server).

#### Confirm the CLI registered the server

In **VS Code → Terminal** (the same environment you use day to day—not a different shell such as WSL unless you always use WSL):

```bash
claude mcp list
claude mcp get euno-mcp
```

| Result                | What to do                                                                                                                                                                 |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `euno-mcp` is listed  | The server is configured. Continue with [Connect from the VS Code extension](#connect-from-the-vs-code-extension).                                                         |
| `claude` is not found | Install [Claude Code](https://docs.anthropic.com/en/docs/claude-code) and ensure it is on your `PATH` in VS Code's terminal. On Windows, run `where claude` in PowerShell. |
| `euno-mcp` is missing | Continue with [Fix scope and project folder mismatches](#fix-scope-and-project-folder-mismatches).                                                                         |

On Windows, you can also open `%USERPROFILE%\.claude.json` (for example, `C:\Users\YourName\.claude.json`) and search for `euno-mcp`:

* **Found under top-level `mcpServers`** — the entry exists. Continue with [Connect from the VS Code extension](#connect-from-the-vs-code-extension) and run `/mcp` to sign in.
* **Found only under `projects.<folder>.mcpServers`** — the server is tied to one folder. Either open that same folder in VS Code, or continue with [Fix scope and project folder mismatches](#fix-scope-and-project-folder-mismatches).
* **Not found** — the add command did not save. Continue with [Fix scope and project folder mismatches](#fix-scope-and-project-folder-mismatches) and run `claude mcp add` again.

#### Fix scope and project folder mismatches

`claude mcp add` defaults to **local** scope for the terminal's current working directory. If you ran the command in one folder but opened a different folder in VS Code, the server may not appear.

Add the server for all your projects:

```bash
claude mcp add --transport http --scope user euno-mcp https://api.app.euno.ai/mcp
```

Or add a project-scoped entry by creating `.mcp.json` in your project root:

```json
{
  "mcpServers": {
    "euno-mcp": {
      "type": "http",
      "url": "https://api.app.euno.ai/mcp"
    }
  }
}
```

Save the file, fully quit VS Code, and reopen it. Then continue with [Connect from the VS Code extension](#connect-from-the-vs-code-extension).

#### Windows and WSL

* If you ran `claude mcp add` in **WSL** but use VS Code on **Windows** (or the reverse), the configs live in different home directories. Run the add command in the same environment VS Code uses.
* After changing config, restart VS Code completely (not only reload the window), then continue with [Connect from the VS Code extension](#connect-from-the-vs-code-extension).

#### Connect from the VS Code extension

Use this section when `claude mcp list` shows `euno-mcp`, but the Claude Code extension still does not list it or offer Euno tools.

This is a known limitation in some Claude Code extension versions: the terminal lists MCP servers, but the extension UI does not show them until you connect from the extension itself.

Try these in order:

1. In the **Claude Code extension chat** (not an external terminal), run `/mcp`, choose `euno-mcp`, and complete Euno sign-in in the browser.
2. If `euno-mcp` is only under `projects.<path>.mcpServers` in `%USERPROFILE%\.claude.json`, copy the entry to the top-level `mcpServers` object in that file (back up the file first). See also [Fix scope and project folder mismatches](#fix-scope-and-project-folder-mismatches).
3. In extension chat, run `/switch-account` and sign in again—the extension can use a separate session from the terminal.
4. Start a chat in the extension and ask: `What MCP servers are available?` Some users report this initializes MCP for that session.

If none of these steps work, continue with [Still not working on Windows](#still-not-working-on-windows).

#### Still not working on Windows

If you completed [Connect from the VS Code extension](#connect-from-the-vs-code-extension) and Euno MCP still does not work, use the [MCP Bridge Setup](/ai-assistant/mcp-bridge-setup.md) with Node.js 18+ and `npx`, or share the following with your Euno support contact:

```bash
claude --version
claude mcp list
claude mcp get euno-mcp
```

### The Euno sign-in page does not open

1. Try the connection again
2. Check whether your browser prevented the sign-in page from opening

### Euno asks you to choose a persona

This is expected when Euno cannot identify a single clear persona automatically.

1. Choose one of the offered personas to continue
2. If you want to change later, ask your assistant to show your available personas and switch to another one

### Euno MCP is connected, but no tools appear

1. Make sure your active persona has access to the Euno resources you expect to use
2. Ask your assistant to show your available personas
3. If needed, switch to another persona and try again

### Sign-in worked before, but now fails

1. Try the connection again
2. Remove and re-add the Euno MCP server entry if the issue persists
3. If the problem continues, contact your Euno team or support team

## Available Tools

| Tool                                     | Description                                                                       |
| ---------------------------------------- | --------------------------------------------------------------------------------- |
| euno\_dynamic\_instructions              | Fetch current Euno MCP instructions, including account-specific metadata guidance |
| list\_personas                           | Show the personas available in the current session                                |
| current\_persona                         | Show the persona currently active for the session                                 |
| switch\_persona                          | Change the active persona for the session                                         |
| fetch\_single\_resource                  | Retrieve details for a specific resource by URI                                   |
| find\_resource\_by\_name                 | Find a resource by name                                                           |
| find\_resources\_for\_topic              | Find resources related to a topic or keyword                                      |
| get\_upstream\_lineage                   | Show upstream lineage for a resource                                              |
| resource\_impact\_analysis               | Show downstream impact for a resource                                             |
| documentation\_search                    | Search Euno documentation                                                         |
| documentation\_get\_full\_document       | Open a full documentation page                                                    |
| documentation\_get\_surrounding\_context | Show the documentation context around a specific chunk                            |
| query\_to\_eql                           | Turn a natural-language request into an EQL query                                 |
| fetch\_eql\_syntax                       | Show EQL syntax guidance                                                          |
| search\_resources\_eql                   | Search resources using an EQL query                                               |
| count\_resources\_eql                    | Count resources matching an EQL query                                             |

***


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
