atinha

Docs

Como conectar a sua IA à atinha. Para tudo isso você precisa de uma conta: entre com o Google.

Conectar a sua IA

Claude (web e desktop)

Em Configurações → Conectores, adicione um conector personalizado com o endereço abaixo. A atinha pede o login Google e a autorização; não precisa de chave. Funciona também com outros clientes que suportam OAuth no MCP.

https://atinha.com.br/mcp

Usa Claude Code, Gemini CLI ou Cursor? Veja Para desenvolvedores.

Extensão

Instale no Chrome, entre com a mesma conta Google e ligue as legendas da reunião. Funciona no Meet, no Teams e no Zoom.

Para desenvolvedores

Endereço do servidor MCP (HTTP, Streamable)
https://atinha.com.br/mcp

Claude Code e Gemini CLI

Adicione o servidor no terminal:

claude mcp add --transport http atinha https://atinha.com.br/mcp
gemini mcp add --transport http atinha https://atinha.com.br/mcp

Depois, autentique: no Claude Code rode /mcp e escolha Autenticar; no Gemini CLI rode /mcp auth atinha. O navegador abre para você entrar com o Google e confirmar com o seu PIN.

Sem navegador (servidor, CI)? Use uma chave de API:

claude mcp add --transport http atinha https://atinha.com.br/mcp --header "Authorization: Bearer <SUA_CHAVE>"

Cursor e outros clientes

Use o JSON abaixo, com uma chave de API. Criar chave de API.

{
  "mcpServers": {
    "atinha": {
      "url": "https://atinha.com.br/mcp",
      "headers": {
        "Authorization": "Bearer <SUA_CHAVE>"
      }
    }
  }
}

Chaves de API

Para clientes sem login (OAuth), scripts e CI. Criar chave de API. A chave aparece uma vez, então copie na hora. Use uma por cliente e revogue em Sua IA → Conectadas quando não precisar mais.

O formato é at_live_… e vale em /mcp e em /api/*. O servidor guarda só o hash. Os apps conectados por OAuth ficam na mesma tela, com “Desconectar”.

Ferramentas MCP

search_meetings
Busca por algo dito, título, pessoa ou período. Argumentos: query, title, participants, platform, labels, from/to, limit, cursor.
get_transcript
Transcrição com falante e tempo, paginada. Argumentos: meeting_id (mtg_42 ou 42), format, limit, cursor. Siga next_cursor até vir null.
get_meeting
Metadados: duração, plataforma, rótulos, tempo de fala. Argumento: meeting_id.
search_transcripts
Falas específicas, com o contexto ao redor. Argumentos: query, participants, from/to, context, limit.
list_participants
Quem esteve em quantas reuniões, e por quanto tempo falou. Argumento opcional: query.

Datas aceitam AAAA-MM-DD (fuso de São Paulo) ou RFC 3339.

API REST

Mande Authorization: Bearer <SUA_CHAVE>. Datas em epoch ms. Sem credencial válida, a resposta é 401 {"error": "unauthorized"}.

  • GET /api/meetings?q&participant&label&platform&from&to&cursor&limit
  • GET /api/meetings/{id}
  • GET /api/meetings/{id}/transcript?format=json|md&limit&cursor
  • GET /api/search?q
  • GET /api/facets
  • GET /status (público, sem chave)
curl -H "Authorization: Bearer <SUA_CHAVE>" \
  "https://atinha.com.br/api/meetings?q=orçamento&limit=5"

As rotas de escrita usadas pela extensão ficam de fora: não são contrato público.

Hospedar a sua

O servidor é um binário Rust com PostgreSQL, empacotado em Docker. O login usa o Google, então você precisa de um cliente OAuth próprio.

Configure ATINHA_PUBLIC_URL (https, sem caminho; é também o emissor do OAuth), ATINHA_GOOGLE_CLIENT_ID, ATINHA_GOOGLE_CLIENT_SECRET e ATINHA_SESSION_KEY. Fora de localhost, o host do MCP precisa estar em ATINHA_MCP_ALLOWED_HOSTS. As páginas e os exemplos desta documentação acompanham o ATINHA_PUBLIC_URL.