# Connecting your AI

onvibe works through **MCP** (Model Context Protocol) — an open standard that lets an AI
assistant use external tools. You connect your assistant to the onvibe MCP server once, and from
then on it can build and deploy apps for you in any conversation. The whole thing takes about two
minutes.

## MCP server URL

This is the address you'll paste into your AI client:

```
https://onvibe.run/mcp
```

Once connected, manage your projects and access keys any time from your
[Dashboard](/dashboard) — you only need to do this setup once per AI client.

Jump to your client: [Claude Desktop](#claude-desktop) · [Claude.ai](#claudeai) ·
[Cursor](#cursor) · [LM Studio](#lm-studio) · [Other clients](#other-clients)

## Claude Desktop

*(Mac / Windows)* — Edit the configuration file, then restart Claude Desktop.

- **Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "onvibe": {
      "type": "http",
      "url": "https://onvibe.run/mcp"
    }
  }
}
```

After restarting Claude, click the tools icon and follow the authentication flow that appears
automatically.

## Claude.ai

*(Web / Pro / Teams)* — Claude.ai connects external MCP servers from its integrations settings.

### One-click install (recommended)

Open this link while logged in to Claude.ai and the connector form opens
prefilled with the onvibe server URL:

→ [**Add onvibe to Claude.ai**](https://claude.ai/customize/connectors?connectorName=Onvibe&connectorUrl=https%3A%2F%2Fonvibe.run%2Fmcp&modal=add-custom-connector)

Click **Add**, then follow the OAuth screen to connect your onvibe account.
The install link only prefills the form; you still confirm and authenticate
explicitly. Org admins can install at the workspace level with the same URL
under `claude.ai/admin-settings/connectors`.

### Manual setup

If the install link doesn't work for any reason (older Claude UI, browser
blocking the modal), you can do it by hand:

1. Go to **Profile & Settings → Integrations**.
2. Click **Add integration** and paste the URL: `https://onvibe.run/mcp`
3. Follow the OAuth flow on screen to connect your onvibe account.
4. The integration is then available in all your Claude projects.

## Cursor

*(IDE)* — Cursor supports MCP from version 0.43. Add the server from settings.

1. Open **Cursor Settings → Features → MCP**.
2. Click **Add new MCP server** and choose type *HTTP*.
3. Paste the URL: `https://onvibe.run/mcp` and save.
4. Cursor will open the authentication flow in the browser.

Or add it manually in `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "onvibe": {
      "url": "https://onvibe.run/mcp"
    }
  }
}
```

## LM Studio

*(API key required)* — LM Studio does not support OAuth, so you need an **access key**. Generate
one first from Claude Desktop or Cursor, then paste it here.

**Step 1 — Generate an access key** (from an already-connected client). Just ask your AI:

> *"Create an API key named lm-studio."*

It returns the key and a ready-to-paste config. Save the key — it's shown only once.

**Step 2 — Add it to LM Studio** (`~/.lmstudio/mcp-config.json`, or via the UI):

```json
{
  "mcpServers": {
    "onvibe": {
      "url": "https://onvibe.run/mcp",
      "headers": {
        "Authorization": "Bearer onv_YOUR_API_KEY"
      }
    }
  }
}
```

To revoke a key later, ask your AI: *"Revoke the API key named lm-studio."*

## Other clients

Any client that supports MCP over HTTP with OAuth 2.0 (PKCE) connects automatically. Clients
without OAuth can use an **access key** instead (see [LM Studio](#lm-studio) above).

- Transport: **Streamable HTTP** (POST `/mcp`)
- Auth: **OAuth 2.0 with PKCE**, or a **Bearer access key**
- Discovery: `/.well-known/oauth-authorization-server`
- MCP protocol: **2025-03-26**

## Confirm it worked

Ask your AI something like *"List my onvibe projects."* If it can answer, you're connected and
ready to [start building](/docs/what-you-can-build).

## If it doesn't connect

- Make sure you pasted the **full** server URL, with no trailing spaces.
- Re-open the authorization step — some clients need you to approve the connection explicitly.
- A few clients need their config file reloaded or the app restarted before the server shows up.
