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

# MCP App

> Manage, discover, and reconnect your MCP servers visually from inside your AI client with the ultra_servers app

Ultra ships an interactive **MCP App** — `ultra_servers` — that renders a connected-server manager right inside AI clients that support MCP Apps. You can check server health, discover and add new servers, and reconnect servers that need sign-in without leaving your conversation.

<Note>
  The `ultra_servers` app renders in clients that support the open MCP Apps capability. In clients that don't, `ultra_servers` returns the same information as a plain text list, and every action is still available through the [`ultra_status`](/getting-started/ultra-mcp-tools#ultra_status), [`ultra_search`](/getting-started/ultra-mcp-tools#ultra_search), [`ultra_add`](/getting-started/ultra-mcp-tools#ultra_add), and [`ultra_reconnect`](/getting-started/ultra-mcp-tools#ultra_reconnect) tools.
</Note>

## Opening the app

Ask your AI client to show your servers, or call the `ultra_servers` tool directly:

* *"Show my Ultra servers"*
* *"Open the Ultra servers panel"*
* *"Which of my MCP servers need attention?"*

In an MCP-Apps-capable client, this opens the interactive panel. In other clients, you get a readable text list of the same servers with their status and recovery hints.

## Connected tab

The **Connected** tab lists every server Ultra is proxying, with a header summarizing how many are healthy (for example, *"14 servers · 12 healthy"*). Each server row shows:

| Field           | Description                                                      |
| --------------- | ---------------------------------------------------------------- |
| **Status**      | `Healthy`, `Needs auth`, `Authorizing`, `Timed out`, or `Failed` |
| **Transport**   | How Ultra connects to the server (`streamable-http`, `stdio`)    |
| **Auth method** | `OAuth`, `token`, `env credential`, or `no auth`                 |
| **Tool count**  | Number of tools the server exposes through Ultra                 |

A **Refresh** button re-fetches Ultra's current status snapshot so the list reflects the latest state — for example, after you reconnect a server. It updates what's displayed; it does not re-probe or retry a failed or timed-out server.

<Note>
  Server rows never expose secrets. The app renders from a sanitized snapshot that omits URLs, headers, environment variables, and credentials.
</Note>

## Reconnecting a server

When a server's authorization expires, its status changes to **Needs auth** and it stops exposing tools until you sign in again. How you recover depends on how the server authenticates.

### OAuth servers

Servers that authenticate with **OAuth** show a **Reconnect** button. Clicking it opens your browser to sign in again; once you finish, Ultra restores the connection with no restart of its own. Most clients then show the server's tools again automatically; some only refresh their tool list on restart, so if the tools don't reappear, refresh or restart your client.

Behind the button, the app calls the `ultra_reconnect` tool. You can also trigger it directly in any client — for example, *"Reconnect the Monaco server"* — and Ultra returns a sign-in link to open in your browser.

From a terminal, [`ultra reconnect <server>`](/cli/reconnect) does the same re-auth for a single OAuth server — useful when your client can't surface the reconnect link. Unlike the in-client reconnect, the CLI can't refresh a running client, so **restart your MCP client** afterward to load the new token.

<Note>
  `ultra_reconnect` runs on **local gateways** only; reconnecting a server on a hosted gateway is not yet supported.
</Note>

### Token and API-key servers

Servers that authenticate with a **token**, **API key**, or **environment credential** can't be fixed by a browser sign-in. If one starts failing because its credential is invalid or expired, update the credential from the terminal instead:

```bash theme={null}
# Replace the stored token
ultra config set-token <server-name>

# Or update a custom auth header
ultra config set-header <server-name> <header-name> <header-value>
```

Unlike the OAuth reconnect above, updating a credential from the CLI doesn't refresh a running client, so **restart your MCP client** afterward for Ultra to reconnect the server with the new credential.

## Discover tab

The **Discover** tab searches the official MCP registry and npm, then lets you add a server straight from the results. When a server connects, it **hot-loads with no restart** — Ultra makes its tools available immediately. A server that still needs OAuth sign-in or configuration, or that fails to hot-load, is saved and listed as non-healthy until you finish authenticating or fix its configuration.

Discovery is backed by the [`ultra_search`](/getting-started/ultra-mcp-tools#ultra_search) and [`ultra_add`](/getting-started/ultra-mcp-tools#ultra_add) tools, so you can do the same thing conversationally (*"Search for a Postgres MCP server and add it"*) in any client.

<Warning>
  Only add servers from official or trusted publishers. Untrusted servers can run code on your machine (stdio) or receive data from your agents (HTTP). See [Upstream Servers](/configuration/upstream-servers) for guidance on vetting sources.
</Warning>

<Note>
  Ultra hot-loads new tools with no restart of its own. Most clients pick up the new tools automatically; some clients (for example, Codex CLI) only refresh their tool list on reconnect, so if new tools don't appear, refresh or restart that client or start a new conversation.
</Note>

## Related

<CardGroup cols={2}>
  <Card title="Ultra MCP Tools" icon="wrench" href="/getting-started/ultra-mcp-tools">
    The built-in tools the app is built on: status, search, add, migrate, and reconnect
  </Card>

  <Card title="Upstream Servers" icon="server" href="/configuration/upstream-servers">
    Add, configure, and manage MCP servers from the client or the terminal
  </Card>

  <Card title="Configure Clients" icon="plug" href="/installation/configure-clients">
    Connect Ultra to the AI clients that render the app
  </Card>

  <Card title="Migrate Servers" icon="arrow-right-arrow-left" href="/installation/migrate-servers">
    Import MCP servers you already have configured
  </Card>
</CardGroup>
