Gilbert

Busca tus reuniones de Gilbert, explora tus carpetas y consulta las transcripciones y resúmenes con tu asistente de IA.

Servidor MCP alojado

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

Se instala en Claude Code, Codex, Cursor y más

Documentación

Quickstart

Primer llamado en 30 segundos.

Obtén una clave API (scope meetings:read) de tu administrador de Gilbert y elige tu lenguaje.

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)
}

¿Sin SDK oficial? Normal. La API sigue estrictamente OpenAPI 3. Herramientas como Stainless o openapi-generator generan un SDK de Python, TypeScript, Go, Java, Swift… en 5 minutos a partir de nuestra spec.

No necesitas ser desarrollador para empezar. Zapier o Make conectan Gilbert a Slack, Notion o tu CRM con arrastrar y soltar — la API está ahí cuando quieras ir más lejos.

API REST v1

El núcleo de la plataforma.

Una API REST estándar, documentada mediante OpenAPI 3. Autenticación por clave API Bearer, respuestas JSON, paginación, filtros, límite de tasa por tier. Toda la app de Gilbert (web y móvil) usa esta API.

URL base

Un único endpoint raíz — todas las solicitudes parten de esta URL:

base_url

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

Autenticación

Header Authorization Bearer — cada solicitud lleva tu clave API:

Authorization

Authorization: Bearer glbrt_live_XXXX

Niveles de acceso — scopes

Cada clave API se emite con uno o más scopes (permisos). Los endpoints verifican el scope antes de aceptar la solicitud — una clave meetings:read no puede eliminar reuniones, incluso si el usuario es admin.

ScopeQué permiteTier requerido
meetings:readLeer reuniones, transcripciones, resúmenes. Buscar.Free+
meetings:writeEditar título, descripción, carpeta, nombres de los oradores.Pro+
meetings:uploadSubir un archivo de audio para transcripción desde la API.Pro+
meetings:deleteEliminar reuniones.Enterprise
webhooks:manageCrear, modificar, eliminar webhooks.Free+ (cuota por tier)
admin:readLectura de metadatos de la organización (miembros, cuotas).Enterprise

Endpoints principales

Lista no exhaustiva. Para la referencia completa (parámetros, esquemas de respuesta, códigos de error), consulta la documentación OpenAPI interactiva.

Reuniones

Gestión de grabaciones y metadatos.

EndpointDescripciónScope requerido
GET /meetingsLista paginada con filtros (estado, fecha, carpeta).meetings:read
GET /meetings/{id}Detalle completo de una reunión.meetings:read
POST /meetings/uploadSube un archivo de audio (mp3/m4a/wav/webm) para transcripción.meetings:upload
PATCH /meetings/{id}Edita título, descripción, carpeta, etiquetas.meetings:write
PUT /meetings/{id}/speakersRenombra los oradores (Speaker 1 → Jean Dupont).meetings:write
DELETE /meetings/{id}Elimina definitivamente una reunión.meetings:delete

Contenido

Transcripciones, resúmenes, búsqueda.

EndpointDescripciónScope requerido
GET /meetings/{id}/transcriptTranscripción solo texto, formateada con oradores prefijados.meetings:read
GET /meetings/{id}/summaryResumen markdown estructurado (decisiones, elementos de acción, participantes).meetings:read
GET /searchBúsqueda de texto completo con fragmentos resaltados (PostgreSQL FTS).meetings:read

Organización

Carpetas, comparticiones, miembros.

EndpointDescripciónScope requerido
GET /foldersLista tus carpetas y las compartidas contigo.meetings:read
POST /meetings/{id}/shareComparte una reunión con otro miembro.meetings:write
GET /organization/membersLista de miembros de la organización (solo admin).admin:read

Webhooks

Notificaciones en tiempo real.

EndpointDescripciónScope requerido
GET /webhooksLista tus webhooks activos.webhooks:manage
POST /webhooksCrea un webhook (URL + eventos + secreto).webhooks:manage
DELETE /webhooks/{id}Elimina un webhook.webhooks:manage

Lista exhaustiva y esquemas JSON: la documentación OpenAPI lista todos los endpoints, parámetros de solicitud, ejemplos de respuesta y códigos de error. Puedes probar directamente desde el navegador (botón «Try it out»).

Webhooks

El push en tiempo real.

A diferencia de la API REST donde vas a buscar los datos, un webhook te los empuja en cuanto ocurre un evento. Ideal para activar Slack, Zapier o tu SI interno sin polling.

Cómo funciona

Proporcionas a Gilbert una URL https://votre-app.fr/webhooks/gilbert y eliges los eventos a escuchar. En cuanto ocurre un evento, Gilbert envía un POST JSON a tu URL.

  • meeting.completed — transcripción lista
  • meeting.failed — error de transcripción
  • meeting.updated — edición manual
  • share.received — reunión compartida contigo

Seguridad

Cada POST está firmado con HMAC-SHA256. El secreto se genera al crear el webhook y se muestra una sola vez. Verifica la firma mediante el header X-Gilbert-Signature.

  • Reintento automático con backoff (5s, 30s, 2 min, 10 min)
  • Desactivación después de 10 fallos consecutivos
  • Registros de entregas visibles en el admin

Ejemplo 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..."
  }
}

Conectores IA

Model Context Protocol (MCP).

Sobre la API REST, Gilbert expone un servidor Model Context Protocol que hace que tus reuniones sean consultables en lenguaje natural desde Claude, ChatGPT (próximamente), Cursor y Continue. Tres maneras de conectarte, según tu cliente IA.

Usuario final

Gilbert Connect

Conector OAuth de 1 clic para claude.ai. Sin claves que gestionar, consentimiento con UI nativa.

Desarrollador IA

MCP Hosted (HTTP)

Endpoint remoto JSON-RPC 2.0 con clave API Bearer. Claude Desktop, Cursor, Continue.

Instalación local

gilbert-mcp (stdio)

Paquete npm publicado en el registro MCP. Ejecución local mediante npx.

Gilbert Connect — OAuth de 1 clic

Gilbert Connect

Para usuarios de claude.ai

URL del conector MCP para pegar en claude.ai:

URL

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

Claude.ai detecta el flujo OAuth mediante /.well-known/oauth-protected-resource. El usuario se conecta a Gilbert mediante una ventana emergente, autoriza, y listo — sin claves que copiar y pegar.

Próximos conectores previstos

ChatGPT custom GPT · Cursor native auth · Continue MCP. Mismo endpoint OAuth para todos.

  1. claude.ai → Configuración → Connectors → Add custom connector
  2. Pega la URL https://gilbert-assistant.ovh/api/mcp
  3. Autoriza el acceso. Una clave API OAuth MCP aparece en tu admin.
  4. Haz tus preguntas — las herramientas aparecen en la conversación.

MCP Hosted — endpoint HTTP

MCP Hosted

Para clientes MCP HTTP

Endpoint:

URL

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

Envía directamente tus solicitudes JSON-RPC. Sin proceso local, sin Node.

  • → Claude Desktop (config «url»)
  • → Cursor / Continue (transporte HTTP)
  • → MCP Inspector (depuración oficial)
  • → 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 — paquete npm local

gilbert-mcp

Instalación local stdio

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

El binario gilbert-mcp es un servidor MCP stdio, no una CLI. Lo lanza el cliente IA (Claude, Cursor) y se comunica mediante stdin/stdout en JSON-RPC.

Solo paquete npm. pip install gilbert-mcp no funciona. Los desarrolladores de Python usan directamente la API REST v1.

claude_desktop_config.json

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

Las 5 herramientas expuestas

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

Tarifas API

Tiers y cuotas.

Cada clave API está vinculada a un tier que determina sus cuotas y las funcionalidades accesibles.

FuncionalidadFreeProEnterprise
Solicitudes / minuto3060300
Solicitudes / día1 0005 00050 000
Lectura de meetings / transcripts / summaries✓✓✓
Búsqueda de texto completo✓✓✓
Conectores MCP (Connect / Hosted / Local)✓✓✓
Webhooks1 máx.5 máx.Ilimitado
Subida de audio mediante API—600 min/día · 500 MB/archivo10 000 min/día · 2 GB/archivo
Edición (título, carpeta, oradores)—✓✓
Eliminación de reuniones——✓
SLA y soporte prioritario——✓