---
tags: note
type: "note"
nature: info             # Options : portrait, lieu, info, concept, script, process, tuto, none
ressource: false
univers: PRO
projects:
  - "PROJET"
date: "2026-08-30"
priority: 10
---
# Utilisation de Grist via OpenCode

## 1\. Récupérer une clé API Grist

Sous Grist dans **Paramètres du compte → Clé API**, générez une clé API.

=> Clé d’API Grist pour serveur MCP : `c6196e8f4e10fa9125a758021f0effae5ac2c2c0`
=> Exemple de document : dcLGapaWFaMQ


## 2\. Identifier l'URL de l'API Grist

Généralement accessible en ajoutant `/api` à la fin de l’URL de Grist.
Exemple : `https://grist.datagrandest.net/api`). 

Pour vérifier :

```bash

# Linux
curl -H "Authorization: Bearer c6196e8f4e10fa9125a758021f0effae5ac2c2c0" https://grist.datagrandest.net/api/orgs

# Windows
curl.exe -H "Authorization: Bearer c6196e8f4e10fa9125a758021f0effae5ac2c2c0" https://grist.datagrandest.net/api/orgs
```

Réponse attendue : liste des organisation au format JSON.


## 3\. Installer le serveur MCP Grist

Le serveur MCP communautaire le plus utilisé pour Grist est `mcp-server-grist` (Python). 
Pour l’installer :

```powershell
python -m pip install mcp-server-grist --break-system-packages
```


## 4\. Configurer OpenCode (ajout du serveur MCP)

Éditez (ou créez) `~/.config/opencode/opencode.json`.

Sous Windows par exemple `C:\Users\guill\.config\opencode\opencode.json` ou `.\.opencode\opencode.json`

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "grist": {
      "type": "local",
      "command": ["mcp-server-grist"],
      "environment": {
        "GRIST_API_KEY": "c6196e8f4e10fa9125a758021f0effae5ac2c2c0",
        "GRIST_API_HOST": "https://grist.datagrandest.net/api"
      },
      "enabled": false
    }
  }
}
```

Il est possible de préciser un document Grist spécifique via `"GRIST_DOC_ID": "m8AJRo17jsoS"`.

Il est possible d’activer le serveur MCP à la demande dans OpenCode via `/mcps`.


## 5. Ajouter un agent dédié au document Grist (optionnel)

Cette approche évite de devoir indiquer l’identifiant du document dans la configuration du serveur MCP. Elle nécessite cependant d’avoir une clé d’API assez générique et non spécifique à un document.
Créer un fichier `.opencode/agents/grist-test-01.md`.

Par exemple : `C:\Users\guill\.config\opencode\agents\grist-test-01.md` ou `.\.opencode\agents\grist-test-01.md`

Fichier à adapter à la base de données.

```
# Agent Spécialiste Grist pour la base de données "TEST-01"

## Rôle & Mission
Tu es l'assistant de gestion de données pour le document Grist "TEST-01".
Ta mission est d'interroger, d'ajouter et de mettre à jour les enregistrements du document en respectant strictement le protocole MCP Grist et les conventions de la base.

## Contexte de la Base de Données
- **URL Instance :** https://grist.datagrandest.net
- **Doc ID (Obligatoire) :** `m8AJRo17jsoS`
- **Doc Name:** TEST-01

## Structure de la Base & Règles métiers

### Table 1 : `Clients`
- **Champs principaux :** `Nom` (Text), `Email` (Text), `Statut` (Choice: "Prospect", "Actif", "Inactif")
- **Règles :** L'email doit toujours être en minuscules. Vérifier l'existence d'un client avant d'en créer un nouveau.

### Table 2 : `Projets`
- **Champs principaux :** `Titre` (Text), `Client_Ref` (Reference vers Clients), `Budget` (Numeric), `Date_Debut` (Date)
- **Règles :** `Client_Ref` doit contenir le ID numérique (rowId) du client associé.

## Directives d'utilisation des outils MCP Grist
1. **Systématiquement fournir le `doc_id` :** Utilise toujours `doc_id: "votre_doc_id_ici"` dans chaque appel d'outil MCP Grist.
2. **Consultation préalable :** Avant d'insérer ou modifier une ligne, effectue une lecture (`fetch` / `list`) pour récupérer les identifiants requis (notamment pour les colonnes de type Référence).
3. **Format des données :** Respecte le formatage attendu (Dates sous forme ISO `YYYY-MM-DD`, valeurs numériques sans symbole monétaire).
4. **Validation :** Confirme toujours à l'utilisateur l'identifiant des lignes créées ou modifiées avec un résumé des actions effectuées.
```



