Gilbert
Pesquise suas reuniões Gilbert, explore seus arquivos e consulte as transcrições e resumos com seu assistente de IA.
Servidor MCP hospedado
npx add-mcp 'https://gilbert-assistant.ovh/api/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Quickstart
Primeiro chamado em 30 segundos.
Obtenha uma chave de API (escopo meetings:read) com seu administrador Gilbert e escolha sua linguagem.
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)
}
Sem SDK oficial? Normal. A API segue estritamente OpenAPI 3. Ferramentas como Stainless ou openapi-generator geram um SDK Python, TypeScript, Go, Java, Swift… em 5 minutos a partir da nossa spec.
Não precisa ser desenvolvedor para começar. Zapier ou Make conectam o Gilbert ao Slack, Notion ou seu CRM com arrastar e soltar — a API está lá quando você quiser ir mais longe.
API REST v1
O coração da plataforma.
Uma API REST padrão, documentada via OpenAPI 3. Autenticação por chave de API Bearer, respostas JSON, paginação, filtros, rate limiting por tier. Todo o app Gilbert (web & mobile) usa essa API.
URL base
Um único endpoint raiz — todas as requisições partem dessa URL:
base_url
https://gilbert-assistant.ovh/api/v1
Autenticação
Header Authorization Bearer — cada requisição carrega sua chave de API:
Authorization
Authorization: Bearer glbrt_live_XXXX
Níveis de acesso — scopes
Cada chave de API é emitida com um ou mais scopes (permissões). Os endpoints verificam o scope antes de aceitar a requisição — uma chave meetings:read não pode excluir reuniões, mesmo que o usuário seja admin.
| Scope | O que permite | Tier necessário |
|---|---|---|
meetings:read | Ler reuniões, transcrições, resumos. Pesquisar. | Free+ |
meetings:write | Editar título, descrição, pasta, nomes dos participantes. | Pro+ |
meetings:upload | Enviar um arquivo de áudio para transcrição pela API. | Pro+ |
meetings:delete | Excluir reuniões. | Enterprise |
webhooks:manage | Criar, modificar, excluir webhooks. | Free+ (quota por tier) |
admin:read | Leitura dos metadados da organização (membros, quotas). | Enterprise |
Endpoints principais
Lista não exaustiva. Para a referência completa (parâmetros, esquemas de resposta, códigos de erro), consulte a documentação OpenAPI interativa.
Reuniões
Gerenciamento de gravações e metadados.
| Endpoint | Descrição | Scope necessário |
|---|---|---|
GET /meetings | Lista paginada com filtros (status, data, pasta). | meetings:read |
GET /meetings/{id} | Detalhe completo de uma reunião. | meetings:read |
POST /meetings/upload | Envia um arquivo de áudio (mp3/m4a/wav/webm) para transcrição. | meetings:upload |
PATCH /meetings/{id} | Edita título, descrição, pasta, tags. | meetings:write |
PUT /meetings/{id}/speakers | Renomeia os participantes (Speaker 1 → João Silva). | meetings:write |
DELETE /meetings/{id} | Exclui definitivamente uma reunião. | meetings:delete |
Conteúdo
Transcrições, resumos, pesquisa.
| Endpoint | Descrição | Scope necessário |
|---|---|---|
GET /meetings/{id}/transcript | Transcrição somente texto, formatada com participantes prefixados. | meetings:read |
GET /meetings/{id}/summary | Resumo markdown estruturado (decisões, itens de ação, participantes). | meetings:read |
GET /search | Pesquisa full-text com trechos destacados (PostgreSQL FTS). | meetings:read |
Organização
Pastas, compartilhamentos, membros.
| Endpoint | Descrição | Scope necessário |
|---|---|---|
GET /folders | Lista suas pastas e as compartilhadas com você. | meetings:read |
POST /meetings/{id}/share | Compartilha uma reunião com outro membro. | meetings:write |
GET /organization/members | Lista dos membros da organização (somente admin). | admin:read |
Webhooks
Notificações em tempo real.
| Endpoint | Descrição | Scope necessário |
|---|---|---|
GET /webhooks | Lista seus webhooks ativos. | webhooks:manage |
POST /webhooks | Cria um webhook (URL + eventos + secret). | webhooks:manage |
DELETE /webhooks/{id} | Exclui um webhook. | webhooks:manage |
Lista exaustiva e esquemas JSON: a documentação OpenAPI lista todos os endpoints, parâmetros de requisição, exemplos de resposta e códigos de erro. Você pode testar diretamente pelo navegador (botão « Try it out »).
Webhooks
O push em tempo real.
Ao contrário da API REST, onde você vai buscar os dados, um webhook envia os dados para você assim que um evento ocorre. Ideal para acionar Slack, Zapier ou seu SI interno sem polling.
Como funciona
Você fornece ao Gilbert uma URL https://votre-app.fr/webhooks/gilbert e escolhe os eventos para escutar. Assim que um evento ocorre, o Gilbert envia um POST JSON para sua URL.
meeting.completed— transcrição prontameeting.failed— erro de transcriçãomeeting.updated— edição manualshare.received— reunião compartilhada com você
Segurança
Cada POST é assinado com HMAC-SHA256. O secret é gerado na criação do webhook e exibido uma única vez. Verifique a assinatura via o header X-Gilbert-Signature.
- Retry automático com backoff (5s, 30s, 2 min, 10 min)
- Desativação após 10 falhas consecutivas
- Logs das entregas visíveis no admin
Exemplo 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 de IA
Model Context Protocol (MCP).
Acima da API REST, o Gilbert expõe um servidor Model Context Protocol que torna suas reuniões consultáveis em linguagem natural a partir do Claude, ChatGPT (em breve), Cursor e Continue. Três maneiras de se conectar, dependendo do seu cliente de IA.
Usuário final
Gilbert Connect
Conector OAuth 1-clique para claude.ai. Nenhuma chave para gerenciar, consentimento com UI nativa.
Desenvolvedor de IA
MCP Hosted (HTTP)
Endpoint remoto JSON-RPC 2.0 com chave de API Bearer. Claude Desktop, Cursor, Continue.
Instalação local
gilbert-mcp (stdio)
Pacote npm publicado no registro MCP. Execução local via npx.
Gilbert Connect — OAuth 1-clique
Gilbert Connect
Para usuários do claude.ai
URL do conector MCP para colar no claude.ai:
URL
https://gilbert-assistant.ovh/api/mcp
O Claude.ai detecta o fluxo OAuth via /.well-known/oauth-protected-resource. O usuário se conecta ao Gilbert por uma janela pop-up, autoriza, e pronto — nenhuma chave para copiar e colar.
Futuros conectores planejados
ChatGPT custom GPT · Cursor native auth · Continue MCP. Mesmo endpoint OAuth para todos.
- claude.ai → Configurações → Connectors → Add custom connector
- Cole a URL
https://gilbert-assistant.ovh/api/mcp - Autorize o acesso. Uma chave de API OAuth MCP aparece no seu admin.
- Faça suas perguntas — as tools aparecem na conversa.
MCP Hosted — endpoint HTTP
MCP Hosted
Para clientes MCP HTTP
Endpoint:
URL
https://gilbert-assistant.ovh/api/mcp
Envie diretamente suas requisições JSON-RPC. Nenhum processo local, sem Node.
- → Claude Desktop (config « url »)
- → Cursor / Continue (transporte HTTP)
- → MCP Inspector (debug 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 — pacote npm local
gilbert-mcp
Instalação local stdio
npm · gilbert-mcp GitHub MCP Registry MIT · v1.0.2
O binário gilbert-mcp é um servidor MCP stdio, não uma CLI. Ele é iniciado pelo cliente de IA (Claude, Cursor) e se comunica via stdin/stdout em JSON-RPC.
Somente pacote npm. pip install gilbert-mcp não funciona. Devs Python usam diretamente a API REST v1.
claude_desktop_config.json
{
"mcpServers": {
"gilbert": {
"command": "npx",
"args": ["-y", "gilbert-mcp"],
"env": {
"GILBERT_API_KEY": "glbrt_live_VOTRE_CLE"
}
}
}
}
As 5 tools expostas
- → list_meetings · get_meeting · get_transcript
- → get_summary · search_meetings
Preços da API
Tiers e quotas.
Cada chave de API está vinculada a um tier que determina suas quotas e as funcionalidades acessíveis.
| Funcionalidade | Free | Pro | Enterprise |
|---|---|---|---|
| Requisições / minuto | 30 | 60 | 300 |
| Requisições / dia | 1 000 | 5 000 | 50 000 |
| Leitura de meetings / transcripts / summaries | ✓ | ✓ | ✓ |
| Pesquisa full-text | ✓ | ✓ | ✓ |
| Conectores MCP (Connect / Hosted / Local) | ✓ | ✓ | ✓ |
| Webhooks | 1 máx | 5 máx | Ilimitado |
| Upload de áudio via API | — | 600 min/dia · 500 MB/arquivo | 10 000 min/dia · 2 GB/arquivo |
| Edição (título, pasta, participantes) | — | ✓ | ✓ |
| Exclusão de reuniões | — | — | ✓ |
| SLA & suporte prioritário | — | — | ✓ |