> ## Documentation index
> Fetch the complete documentation index at: https://tgcloud.docs7.io/llms.txt
> Ask it with GET https://tgcloud.docs7.io/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# Installation

> Installer tgcloud-mcp et brancher le client MCP

# Installation

**Node.js 20+** est requis. La CLI de la plateforme demande Node.js 18+.

<CardGroup cols={2}>
  <Card title="npm" icon="box" href="#npm">
    npm install -g tgcloud-mcp, puis tgcloud-mcp setup
  </Card>
  <Card title="Une commande" icon="terminal" href="#curl-bash">
    curl | bash — d'abord la langue, puis la bannière et l'assistant
  </Card>
  <Card title="Docker" icon="layers" href="#docker">
    ghcr.io/sdamarketing/tgcloud-mcp, stdio, sans Node sur l'hôte
  </Card>
  <Card title="Configs client" icon="plug" href="#clients">
    opencode, Claude Code, Cursor, VS Code
  </Card>
</CardGroup>

## Depuis npm {#npm}

```bash
npm install -g tgcloud-mcp
tgcloud-mcp setup
```

L'assistant écrit la configuration MCP et demande s'il faut installer l'[Agent Plugin](https://agent-plugins.org) (`agent-plugin/` dans ce dépôt). Une copie va dans `~/.tgcloud-mcp/agent-plugin`. Cursor reçoit `~/.cursor/plugins/local/tgcloud`. VS Code reçoit une entrée `chat.pluginLocations`. Codex, Copilot et Kiro chargent ce même dossier depuis leur interface de plugins.

Claude Code et opencode restent sur la configuration MCP. Le skill :

```bash
npx skills add sdamarketing/tgcloud_mcp
```

## Une commande {#curl-bash}

```bash
curl -fsSL https://raw.githubusercontent.com/sdamarketing/tgcloud_mcp/main/install.sh | bash
```

Clone dans `~/.tgcloud-mcp`, construit, lance l'assistant. Le relancer met à jour.
Il demande d'abord la langue (English, Русский, 中文, العربية, Deutsch, Français ;
Entrée = anglais, ou `TGCLOUD_MCP_LANG`). Ensuite une bannière encadrée
(dégradé bleu en truecolor) et un spinner pendant le clone, l'installation et
la compilation. L'assistant parle la même langue et lit `/dev/tty`, donc il
pose encore des questions avec `curl | bash`.

## Docker {#docker}

```bash
docker run -i --rm ghcr.io/sdamarketing/tgcloud-mcp
```

## Configuration manuelle {#clients}

**opencode** (`~/.config/opencode/opencode.json`) :

```json
{ "mcp": { "tgcloud": { "type": "local", "command": ["npx", "-y", "tgcloud-mcp"], "enabled": true } } }
```

**Claude Code / Cursor :**

```json
{ "mcpServers": { "tgcloud": { "command": "npx", "args": ["-y", "tgcloud-mcp"] } } }
```

**VS Code** (`mcp.json`) :

```json
{ "servers": { "tgcloud": { "type": "stdio", "command": "npx", "args": ["-y", "tgcloud-mcp"] } } }
```

## Variables d'environnement

| Variable | Défaut | Rôle |
|---|---|---|
| `TGCLOUD_CLI` | `npx` | Commande qui lance la CLI (peut être un wrapper de proxy) |
| `TGCLOUD_CLI_ARGS` | `tgcloud` | Arguments placés avant la sous-commande |
| `TGCLOUD_TIMEOUT_MS` | `120000` | Délai d'une commande. `deploy` laisse au moins 300000 ms à `npm run build` |
| `TGCLOUD_TOKEN` | — | Jeton d'accès CLI à la place de `tgcloud login` |
