Fixa MCP

Organize na Fixa. Pense com a IA que você já escolheu. O Fixa MCP é uma camada de leitura das suas memórias: seu assistente consulta o que você registrou, com citação de página, minuto ou endereço.

O que ainda não existe

A Fixa não está conectada a ChatGPT, Claude ou Gemini. A conexão direta com esses provedores está no roteiro (“em breve”). Hoje o acesso é feito por um cliente capaz de chamar as APIs abaixo com um token gerado por você.

Como funciona

  1. 1. Na Fixa, abra Integrações e autorize o acesso de leitura.
  2. 2. Escolha o escopo: quais memórias e quais tipos de dado (conteúdo, notas, ideias, dúvidas, ações).
  3. 3. Copie o token — ele aparece uma única vez; o banco guarda apenas um hash.
  4. 4. Use o token como Authorization: Bearer … nas rotas abaixo.

Endpoints (somente leitura)

GET /api/public/mcp/listar_memorias

Lista as memórias dentro do escopo do token, com fonte, origem e data.

Parâmetros:

GET /api/public/mcp/buscar_memorias

Busca trechos curtos e citados (página, timestamp ou URL) em conteúdo e anotações.

Parâmetros: query (≥2 caracteres), memoria_id?, tipo?, limite? (máx. 8)

GET /api/public/mcp/abrir_contexto

Abre uma página/slide específico com até 1.800 caracteres e as anotações daquele ponto.

Parâmetros: memoria_id, pagina?

GET /api/public/mcp/listar_itens

Lista notas, ideias, dúvidas e ações das memórias autorizadas.

Parâmetros: memoria_id?, tipo?, limite? (máx. 50)

Servidor MCP remoto (Streamable HTTP)

Além das rotas REST acima, a Fixa expõe um servidor MCP em JSON-RPC 2.0 sobre HTTPS. Ele aceita initialize, tools/list e tools/call — e nada além disso.

URL: https://fixamemoria.com/api/public/mcp

Método: POST · Cabeçalhos: Authorization: Bearer <token>, Content-Type: application/json, Accept: application/json, text/event-stream

Ferramentas: listar_memorias, buscar_memorias, abrir_contexto e listar_itens. Qualquer outro método é recusado.

curl -X POST https://fixamemoria.com/api/public/mcp \
  -H "Authorization: Bearer fixa_mcp_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Revogar um token: abra Integrações na Fixa e clique em “Revogar” no token desejado. A revogação vale imediatamente para todas as rotas e para o servidor MCP.

Conexão OAuth 2.1 (ChatGPT e outros conectores)

Além do token pessoal, o servidor MCP aceita login OAuth 2.1 com PKCE S256 obrigatório, authorization code de uso único e curta duração, access tokens curtos e refresh tokens rotativos e revogáveis. Assim a pessoa conecta pelo próprio cliente MCP, sem copiar token.

  • • Descoberta do recurso: https://fixamemoria.com/.well-known/oauth-protected-resource/api/public/mcp
  • • Descoberta do servidor de autorização: https://fixamemoria.com/.well-known/oauth-authorization-server (encaminha o documento oficial com /authorize, /token e registro dinâmico)
  • • Sem token válido, o endpoint MCP responde 401 com WWW-Authenticate: Bearer ... resource_metadata=..., e o cliente inicia o fluxo.
  • • Tela de consentimento pública em /.lovable/oauth/consent: você escolhe memórias e tipos de dado antes de aprovar.
  • Revogar: Integrações → “Conexões autorizadas” → Revogar. Vale na chamada seguinte.

No ChatGPT: Settings → Apps & Connectors → Add custom connector, cole a URL do servidor MCP e conclua o login na Fixa. A Fixa não está no catálogo oficial da OpenAI e nenhuma memória é enviada antes de você perguntar por lá.

Erros e auditoria

Toda recusa usa a mesma razão nas duas interfaces: campo error nas rotas REST e error.data.reason no JSON-RPC. As razões possíveis são missing_token, malformed_token, invalid_token, token_revoked, token_expired, rate_limited, scope_memory, scope_data_type, invalid_argument, not_found, unknown_tool, unsupported_method e server_error. Em tools/call, recusas de escopo voltam como resultado com isError: true, conforme o protocolo MCP.

Cada chamada — aceita, negada ou barrada por limite de taxa — gera uma linha de auditoria com dono, token, rota, ferramenta, status, razão e quantidade de resultados. Nunca gravamos a pergunta, o trecho devolvido nem o hash do token. Você vê as últimas chamadas em Integrações → Atividade recente.

Limites e garantias

  • • Nenhuma rota escreve dados: não há criação, edição ou exclusão via MCP.
  • • Todo acesso é isolado pelo dono do token e pelo escopo escolhido.
  • • Trechos limitados a 600 caracteres e 8 resultados por busca; nunca o arquivo completo.
  • • Limite de 60 chamadas por minuto por token.
  • • Token expira em 90 dias e pode ser revogado quando quiser.
  • • Logs mínimos: rota, horário, status e quantidade de resultados. Nunca a pergunta nem o texto devolvido.
  • • O que o seu assistente faz com o trecho recebido é regido pela política do provedor que você escolheu.