Gilbert

Ищите свои встречи Gilbert, просматривайте папки и читайте расшифровки и резюме с помощью вашего ИИ-ассистента.

Размещённый MCP-сервер

npx add-mcp 'https://gilbert-assistant.ovh/api/mcp'

Устанавливается в Claude Code, Codex, Cursor и другие

Документация

Quickstart

Premier appel en 30 secondes.

Obtenez une clé API (scope meetings:read) auprès de votre administrateur Gilbert, puis choisissez votre langage.

cURL · terminal.sh

# Lister les 50 dernières réunions terminées
curl -s "https://gilbert-assistant.ovh/api/v1/meetings?status=completed&per_page=50" \
  -H "Authorization: Bearer glbrt_live_XXXXXXXXXXXXXXXXXXXXXXXX"

Python · example.py

import requests

API_KEY = "glbrt_live_XXXXXXXXXXXXXXXXXXXXXXXX"
headers = {"Authorization": f"Bearer {API_KEY}"}

r = requests.get(
    "https://gilbert-assistant.ovh/api/v1/meetings",
    headers=headers,
    params={"status": "completed", "per_page": 50},
)
for m in r.json()["data"]:
    print(m["title"], m.get("transcript_text", "")[:200])

JavaScript / Node · example.mjs

const API_KEY = "glbrt_live_XXXXXXXXXXXXXXXXXXXXXXXX";
const headers = { Authorization: \`Bearer ${API_KEY}\` };

const res = await fetch(
  "https://gilbert-assistant.ovh/api/v1/meetings?status=completed",
  { headers },
);
const { data } = await res.json();
data.forEach(m => console.log(m.title));

PHP · example.php

$apiKey = "glbrt_live_XXXXXXXXXXXXXXXXXXXXXXXX";
$ch = curl_init("https://gilbert-assistant.ovh/api/v1/meetings");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer {$apiKey}"],
]);
$response = json_decode(curl_exec($ch), true);
foreach ($response["data"] as $m) {
    echo $m["title"] . "\n";
}

Go · main.go

package main

import (
    "encoding/json"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET",
        "https://gilbert-assistant.ovh/api/v1/meetings", nil)
    req.Header.Set("Authorization", "Bearer glbrt_live_...")
    res, _ := http.DefaultClient.Do(req)
    var data map[string]interface{}
    json.NewDecoder(res.Body).Decode(&data)
}

Pas de SDK officiel? Normal. L'API suit strictement OpenAPI 3. Des outils comme Stainless ou openapi-generator génèrent un SDK Python, TypeScript, Go, Java, Swift… en 5 minutes depuis notre spec.

Pas besoin d'être développeur pour commencer. Zapier ou Make connectent Gilbert à Slack, Notion ou votre CRM en glisser-déposer — l'API est là quand vous voulez aller plus loin.

API REST v1

Le cœur de la plateforme.

Une API REST standard, documentée via OpenAPI 3. Authentification par clé API Bearer, réponses JSON, pagination, filtres, rate limiting par tier. Toute l'app Gilbert (web & mobile) utilise cette API.

URL de base

Un seul endpoint racine — toutes les requêtes partent de cette URL:

base_url

https://gilbert-assistant.ovh/api/v1

Authentification

Header Authorization Bearer — chaque requête porte votre clé API:

Authorization

Authorization: Bearer glbrt_live_XXXX

Niveaux d'accès — scopes

Chaque clé API est émise avec un ou plusieurs scopes (permissions). Les endpoints vérifient le scope avant d'accepter la requête — une clé meetings:read ne peut pas supprimer de réunions, même si l'utilisateur est admin.

ScopeCe que ça permetTier requis
meetings:readLire réunions, transcriptions, synthèses. Rechercher.Free+
meetings:writeÉditer titre, description, dossier, noms des locuteurs.Pro+
meetings:uploadUploader un fichier audio pour transcription depuis l'API.Pro+
meetings:deleteSupprimer des réunions.Enterprise
webhooks:manageCréer, modifier, supprimer des webhooks.Free+ (quota par tier)
admin:readLecture des métadonnées de l'organisation (membres, quotas).Enterprise

Endpoints principaux

Liste non exhaustive. Pour la référence complète (paramètres, schémas de réponse, codes d'erreur), consultez la documentation OpenAPI interactive.

Réunions

Gestion des enregistrements et métadonnées.

EndpointDescriptionScope requis
GET /meetingsListe paginée avec filtres (status, date, dossier).meetings:read
GET /meetings/{id}Détail complet d'une réunion.meetings:read
POST /meetings/uploadUpload un fichier audio (mp3/m4a/wav/webm) pour transcription.meetings:upload
PATCH /meetings/{id}Édite titre, description, dossier, tags.meetings:write
PUT /meetings/{id}/speakersRenomme les locuteurs (Speaker 1 → Jean Dupont).meetings:write
DELETE /meetings/{id}Supprime définitivement une réunion.meetings:delete

Contenu

Transcriptions, synthèses, recherche.

EndpointDescriptionScope requis
GET /meetings/{id}/transcriptTranscription texte seule, formatée avec locuteurs préfixés.meetings:read
GET /meetings/{id}/summarySynthèse markdown structurée (décisions, action items, participants).meetings:read
GET /searchRecherche full-text avec snippets highlighted (PostgreSQL FTS).meetings:read

Organisation

Dossiers, partages, membres.

EndpointDescriptionScope requis
GET /foldersListe vos dossiers et ceux partagés avec vous.meetings:read
POST /meetings/{id}/sharePartage une réunion avec un autre membre.meetings:write
GET /organization/membersListe des membres de l'organisation (admin uniquement).admin:read

Webhooks

Notifications temps réel.

EndpointDescriptionScope requis
GET /webhooksListe vos webhooks actifs.webhooks:manage
POST /webhooksCrée un webhook (URL + événements + secret).webhooks:manage
DELETE /webhooks/{id}Supprime un webhook.webhooks:manage

Liste exhaustive et schémas JSON: la documentation OpenAPI liste tous les endpoints, paramètres de requête, exemples de réponse et codes d'erreur. Vous pouvez tester directement depuis le navigateur (bouton « Try it out »).

Webhooks

Le push temps réel.

À l'inverse de l'API REST où vous allez chercher les données, un webhook vous les pousse dès qu'un événement survient. Idéal pour déclencher Slack, Zapier, ou votre SI interne sans polling.

Comment ça marche

Vous fournissez à Gilbert une URL https://votre-app.fr/webhooks/gilbert et choisissez les événements à écouter. Dès qu'un événement survient, Gilbert envoie un POST JSON à votre URL.

  • meeting.completed — transcription prête
  • meeting.failed — erreur de transcription
  • meeting.updated — édition manuelle
  • share.received — réunion partagée avec vous

Sécurité

Chaque POST est signé avec HMAC-SHA256. Le secret est généré à la création du webhook et affiché une seule fois. Vérifiez la signature via le header X-Gilbert-Signature.

  • Retry automatique avec backoff (5s, 30s, 2 min, 10 min)
  • Désactivation après 10 échecs consécutifs
  • Logs des livraisons visibles dans l'admin

Exemple de payload — meeting.completed · POST

{
  "event": "meeting.completed",
  "timestamp": "2026-04-19T14:32:10Z",
  "data": {
    "meeting_id": "mtg_01H...",
    "title": "Point commercial Acme",
    "duration_seconds": 1847,
    "participants_count": 4,
    "transcript_available": true,
    "summary_available": true,
    "url": "https://gilbert-assistant.ovh/meetings/mtg_01H..."
  }
}

Connecteurs IA

Model Context Protocol (MCP).

Au-dessus de l'API REST, Gilbert expose un serveur Model Context Protocol qui rend vos réunions interrogeables en langage naturel depuis Claude, ChatGPT (bientôt), Cursor et Continue. Trois manières de vous y connecter, selon votre client IA.

Utilisateur final

Gilbert Connect

Connecteur OAuth 1-clic pour claude.ai. Aucune clé à gérer, consent UI natif.

Développeur IA

MCP Hosted (HTTP)

Endpoint distant JSON-RPC 2.0 avec clé API Bearer. Claude Desktop, Cursor, Continue.

Installation locale

gilbert-mcp (stdio)

Package npm publié sur le registre MCP. Exécution locale via npx.

Gilbert Connect — OAuth 1-clic

Gilbert Connect

Pour les utilisateurs de claude.ai

URL du connecteur MCP à coller dans claude.ai:

URL

https://gilbert-assistant.ovh/api/mcp

Claude.ai détecte le flow OAuth via /.well-known/oauth-protected-resource. L'utilisateur se connecte à Gilbert via une fenêtre pop-up, autorise, et c'est fini — aucune clé à copier-coller.

Futurs connecteurs prévus

ChatGPT custom GPT · Cursor native auth · Continue MCP. Même endpoint OAuth pour tous.

  1. claude.ai → Paramètres → Connectors → Add custom connector
  2. Collez l'URL https://gilbert-assistant.ovh/api/mcp
  3. Autorisez l'accès. Une clé API OAuth MCP apparaît dans votre admin.
  4. Posez vos questions — les tools apparaissent dans la conversation.

MCP Hosted — endpoint HTTP

MCP Hosted

Pour les clients MCP HTTP

Endpoint:

URL

https://gilbert-assistant.ovh/api/mcp

Envoyez directement vos requêtes JSON-RPC. Aucun process local, pas de Node.

  • → Claude Desktop (config « url »)
  • → Cursor / Continue (HTTP transport)
  • → MCP Inspector (debug officiel)
  • → curl / fetch / httpx

claude_desktop_config.json

{
  "mcpServers": {
    "gilbert": {
      "url": "https://gilbert-assistant.ovh/api/mcp",
      "headers": {
        "Authorization": "Bearer glbrt_live_VOTRE_CLE"
      }
    }
  }
}

gilbert-mcp — package npm local

gilbert-mcp

Installation locale stdio

npm · gilbert-mcp GitHub MCP Registry MIT · v1.0.2

Le binaire gilbert-mcp est un serveur MCP stdio, pas une CLI. Il est spawné par le client IA (Claude, Cursor) et communique via stdin/stdout en JSON-RPC.

Package npm uniquement. pip install gilbert-mcp ne marche pas. Les devs Python utilisent directement l'API REST v1.

claude_desktop_config.json

{
  "mcpServers": {
    "gilbert": {
      "command": "npx",
      "args": ["-y", "gilbert-mcp"],
      "env": {
        "GILBERT_API_KEY": "glbrt_live_VOTRE_CLE"
      }
    }
  }
}

Les 5 tools exposés

  • → list_meetings · get_meeting · get_transcript
  • → get_summary · search_meetings

Tarifs API

Tiers et quotas.

Chaque clé API est rattachée à un tier qui détermine ses quotas et les fonctionnalités accessibles.

FonctionnalitéFreeProEnterprise
Requêtes / minute3060300
Requêtes / jour1 0005 00050 000
Lecture meetings / transcripts / summaries✓✓✓
Recherche full-text✓✓✓
Connecteurs MCP (Connect / Hosted / Local)✓✓✓
Webhooks1 max5 maxIllimité
Upload audio via API—600 min/jour · 500 MB/fichier10 000 min/jour · 2 GB/fichier
Édition (titre, dossier, locuteurs)—✓✓
Suppression de réunions——✓
SLA & support prioritaire——✓