# Use VieNeu in other MCP apps

Source: https://docs.vieneu.io/docs/integrations/mcp/other-clients

Any app that supports **remote MCP servers over Streamable HTTP** works with
`https://api.vieneu.io/mcp`. Apps that support MCP sign-in open the VieNeu page
on their own; the rest can send an [API key](./index.md#using-an-api-key-instead-of-signing-in).
Replace `vn_sk_...` with your key, or better, keep it in an environment variable
`VIENEU_API_KEY` as shown.

## Windsurf (Devin Desktop)

Windsurf is now called **Devin Desktop**. Edit its `mcp_config.json` (open it
from the MCP settings in the app — the file's location changed with the
rename). Note the key is `serverUrl`, not `url`:

```json
{
  "mcpServers": {
    "vieneu": {
      "serverUrl": "https://api.vieneu.io/mcp",
      "headers": { "X-API-Key": "${env:VIENEU_API_KEY}" }
    }
  }
}
```

Leave out `headers` to sign in instead.

## Gemini CLI

```bash
gemini mcp add --transport http vieneu https://api.vieneu.io/mcp
```

Then sign in inside the CLI with `/mcp auth vieneu`. Or edit
`~/.gemini/settings.json` (`httpUrl` means Streamable HTTP):

```json
{
  "mcpServers": {
    "vieneu": {
      "httpUrl": "https://api.vieneu.io/mcp",
      "headers": { "X-API-Key": "vn_sk_..." }
    }
  }
}
```

## OpenAI Codex CLI

```bash
codex mcp add vieneu --url https://api.vieneu.io/mcp
codex mcp login vieneu
```

Or with an API key, in `~/.codex/config.toml`:

```toml
[mcp_servers.vieneu]
url = "https://api.vieneu.io/mcp"
bearer_token_env_var = "VIENEU_API_KEY"   # sends Authorization: Bearer <key>
```

## Zed

In Zed's `settings.json`:

```json
{
  "context_servers": {
    "vieneu": {
      "url": "https://api.vieneu.io/mcp",
      "headers": { "Authorization": "Bearer vn_sk_..." }
    }
  }
}
```

Without an `Authorization` header Zed starts the sign-in flow instead.

## Goose

`goose configure` → **Add Extension** → **Remote Extension (Streamable HTTP)**
→ URL `https://api.vieneu.io/mcp` (in Goose Desktop: **Extensions → Add custom
extension**). Goose signs in on its own, or you can add an `X-API-Key` header in
the wizard. Goose shows the [inline player](./index.md#the-inline-player).

## LM Studio

LM Studio uses a token header (no sign-in). In its `mcp.json`:

```json
{
  "mcpServers": {
    "vieneu": {
      "url": "https://api.vieneu.io/mcp",
      "headers": { "Authorization": "Bearer vn_sk_..." }
    }
  }
}
```

## An app not listed here

Look for "remote MCP server", "HTTP" or "Streamable HTTP" in its settings and
use the URL. If it only supports local (stdio) servers, bridge it with
[`mcp-remote`](https://www.npmjs.com/package/mcp-remote):

```json
{
  "mcpServers": {
    "vieneu": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.vieneu.io/mcp"]
    }
  }
}
```

`mcp-remote` opens the VieNeu sign-in page in your browser the first time.
