AI Context Flow

Memória persistente para Claude, Cursor e ChatGPT. Salve, organize e pesquise seu contexto em todas as ferramentas de IA.

Documentação

Servidor MCP Plurality

Memória universal para agentes e ferramentas de IA. Salve, organize e pesquise contexto em qualquer lugar.

MCP Registry Smithery Version Python


Um servidor Model Context Protocol que dá a qualquer cliente de IA compatível com MCP memória persistente — documentos, notas, conversas e arquivos armazenados em buckets de memória organizados com busca semântica. Suporta autenticação via OAuth e Personal Access Tokens (PAT).

Por que usar isso?

  • Memory Studio — uma base de conhecimento pessoal e segundo cérebro onde você organiza contexto em buckets de memória, revisa conteúdo salvo e gerencia o que seus agentes de IA sabem.
  • Salve conversas importantes — diretamente do Claude, ChatGPT, Cursor e outras ferramentas de IA no bucket de memória relevante
  • Memória persistente compartilhada entre todos os seus agentes — Claude Code, Lovable, Cursor, OpenClaw e outros acessam o mesmo contexto
  • Busca semântica — encontre memórias relevantes usando linguagem natural, não apenas palavras-chave
  • Compartilhe buckets com outras pessoas — colabore dando a outros acesso ao seu contexto
  • Funciona em qualquer lugar — qualquer cliente compatível com MCP pode se conectar

Também temos uma extensão para Chrome chamada AI Context Flow que permite capturar e usar contexto em qualquer site. Ela vem com um agente de chat integrado (30+ modelos) que abre como uma barra lateral em qualquer página — converse com suas memórias, responda perguntas do seu contexto salvo e descubra conexões em tudo que você salvou. Você pode usar o Servidor MCP junto com a extensão para obter o conjunto completo de recursos do produto.

Watch the demo

▶️ Assista à demonstração

📖 Documentação completa · 🌐 Site · 🧩 Extensão para Chrome · 🧠 Memory Studio


Conexão rápida (produção)

URL de produção: https://app.plurality.network/mcp

O servidor suporta OAuth 2.1 com PKCE (para clientes interativos) e Personal Access Tokens (para agentes headless e CI). A maioria dos clientes lida com o fluxo OAuth automaticamente.

Funciona com Claude Desktop, Claude Code, ChatGPT, Cursor e qualquer cliente compatível com MCP.

Guias de configuração passo a passo para todos os clientes suportados


Ferramentas

FerramentaDescrição
get_user_memory_bucketsLista todos os buckets de memória (pastas organizadas) do usuário
list_items_in_memory_bucketLista itens armazenados em um bucket específico (apenas metadados)
search_memoryBusca semântica entre buckets com pontuação de relevância
read_contextLê o conteúdo completo de um item armazenado com paginação
save_memorySalva conteúdo de texto em um bucket de memória específico
save_conversationSalva uma conversa (histórico de chat) em um bucket de memória
create_memory_bucketCria um novo bucket de memória para organizar conteúdo salvo

Autenticação

O servidor MCP aceita dois métodos de autenticação:

MétodoQuando usarRequer navegador?
OAuth 2.1 + PKCEClientes interativos: Claude Desktop, Web, Code, ChatGPTSim (uma vez)
Personal Access Token (PAT)Agentes headless, runners de CI, integrações personalizadas, n8n, LangChainNão

Usando um Personal Access Token

  1. Entre no painel, abra Conectar via MCP → Gerenciar tokens
  2. Clique em Criar token, dê um nome e expiração opcional, copie o valor de plur_pat_…
  3. Configure seu cliente para enviá-lo como um token Bearer:
Authorization: Bearer plur_pat_...

PATs exigem um plano pago. Eles são revogados automaticamente na expiração, podem ser rotacionados com um período de carência configurável (padrão de 7 dias) e podem ser revogados imediatamente pelo painel. Eles são armazenados com hash e nunca aparecem em logs.

Detalhes do OAuth

O servidor usa Ory Hydra como provedor OAuth2/OIDC:

PropriedadeValor
AlgoritmoRS256
Emissorhttps://app.plurality.network (prod)
Escopoopenid offline_access mcp:tools
TTL do token de acesso15 minutos
TTL do token de atualização720 horas
Descobertahttps://app.plurality.network/.well-known/oauth-authorization-server
Registro Dinâmico de Clienteshttps://app.plurality.network/register
Fluxo OAuth2 (passo a passo)
  1. Cliente descobre o servidor de autenticação — busca /.well-known/oauth-protected-resource do Traefik
  2. Cliente se registra — chama /register (Registro Dinâmico de Clientes) para obter client_id/client_secret. O API Gateway faz proxy disso para o Hydra, injetando o escopo mcp:tools
  3. Usuário autentica — o navegador abre o fluxo de login do Hydra, que redireciona para as páginas de login/consentimento do frontend
  4. Token emitido — o Hydra retorna um token de acesso JWT (RS256, TTL de 15min) com o ID do usuário como claim sub e escopo mcp:tools
  5. Requisições autenticadas — o cliente inclui Authorization: Bearer <token> em todas as requisições MCP
  6. Servidor MCP valida — assinatura JWT verificada localmente contra as chaves públicas JWKS do Hydra (cache de 1 hora), escopo mcp:tools é verificado
  7. Acesso ao API Gateway — o servidor MCP encaminha o token Bearer ao chamar endpoints do API Gateway para recuperação e armazenamento de dados

Arquitetura

MCP Client (Claude Code, Cursor, etc.)
    │
    │  OAuth2 + Streamable HTTP
    ▼
Traefik (:5050)           ← single entrypoint for clients
    ├── /mcp              → MCP Server (:5051)
    ├── /.well-known/*    → API Gateway or Hydra
    ├── /oauth2/*         → Hydra (:4444)
    └── /register         → API Gateway (DCR proxy)
                                │
                                │ Bearer token
                                ▼
                          API Gateway (:5000)
                                │
                                ▼
                          Vector Service (:8000)

Traefik é o ponto de entrada único. Ele roteia tráfego OAuth para o Hydra e tráfego de protocolo MCP para o servidor MCP. O servidor MCP valida JWTs localmente via chaves JWKS do Hydra e depois encaminha o token Bearer para o API Gateway para acesso a dados. O API Gateway lida com autenticação, proxy DCR e roteia operações de vetor/busca para o Vector Service.


Configuração de desenvolvimento local

Pré-requisitos

  • Python 3.11+
  • uv (gerenciador de pacotes Python)
  • Docker e Docker Compose
  • API Gateway em execução (plurality-backend-api): lida com autenticação, metadados OAuth, proxy DCR e acesso ao banco de dados
  • Vector Service em execução (plurality-ai-service): lida com busca semântica e operações de banco de dados vetorial

1. Instalar dependências

cd plurality-mcp-server
pip install uv
uv sync

2. Configurar ambiente

cp .env.example .env

Os valores padrão funcionam para desenvolvimento local — nenhuma alteração é necessária se o API Gateway estiver rodando em :5000:

HYDRA_ISSUER=http://localhost:5050
MCP_RESOURCE_URL=http://localhost:5050
BACKEND_API_URL=http://localhost:5000

3. Iniciar serviços Docker (Hydra + Traefik)

cd ory-hydra
docker compose up -d

Isso inicia:

ServiçoPortaFinalidade
PostgreSQL5433Banco de dados do Hydra
Hydra4444, 4445Provedor OAuth2/OIDC (público + admin)
Traefik5050Proxy reverso / roteamento

Aguarde os serviços ficarem saudáveis: docker compose ps

4. Iniciar o servidor MCP

uv run uvicorn main:mcp_server --host 0.0.0.0 --port 5051 --reload

Porta 5051, não 5050. O Traefik escuta na 5050 e faz proxy de /mcp para o servidor MCP na 5051.

5. Verificar

# Health check (direct)
curl http://localhost:5051/mcp/health

# OAuth metadata (via Traefik)
curl http://localhost:5050/.well-known/oauth-protected-resource

# Traefik dashboard (for debugging routes)
open http://localhost:8080

Configuração local do cliente

Claude Code
claude mcp add --transport http plurality-memory http://localhost:5050/mcp

Depois autentique via /mcp dentro do Claude Code.

Claude Code — Extensão VS Code

Autentique primeiro no terminal usando os passos acima. Depois adicione .mcp.json à raiz do seu projeto:

{
  "mcpServers": {
    "plurality-memory": {
      "type": "http",
      "url": "http://localhost:5050/mcp"
    }
  }
}

A extensão do VS Code pode não acionar o fluxo OAuth no navegador automaticamente. Complete a autenticação pelo terminal primeiro.

Claude Desktop

Edite seu arquivo de configuração:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "plurality-memory": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:5050/mcp"]
    }
  }
}

Reinicie o Claude Desktop completamente e autentique quando o navegador abrir.

MCP Inspector (depuração)
npx @modelcontextprotocol/inspector

Digite http://localhost:5050/mcp como URL do servidor. O inspector percorre o fluxo OAuth e permite chamar ferramentas interativamente.

Nota: ChatGPT não é suportado para desenvolvimento local — ele exige endpoints OAuth publicamente acessíveis.


Estrutura do projeto

plurality-mcp-server/
├── main.py                             # Entry point
├── pyproject.toml                      # Dependencies (managed by uv)
├── .env.example                        # Environment template
├── src/plurality_mcp_server/
│   ├── app.py                          # FastMCP app + middleware stack
│   ├── config.py                       # Env vars, shared HTTP client, context vars
│   ├── auth.py                         # JWT validation via Hydra JWKS + scope check
│   └── tools.py                        # MCP tool definitions (read + write)
└── ory-hydra/
    ├── docker-compose.yml              # Hydra + Traefik + PostgreSQL
    ├── hydra.yml                       # Hydra OAuth2/OIDC config
    ├── traefik.yml                     # Traefik static config
    └── dynamic.yml                     # Traefik routing rules

Solução de problemas

Cliente MCP recebe 401 Não Autorizado
  • Verifique se o Hydra está em execução: curl http://localhost:4444/.well-known/openid-configuration
  • Verifique se o JWT não expirou (TTL de 15min)
  • Verifique se HYDRA_ISSUER corresponde ao emissor no claim iss do token
  • Garanta que o token tenha o escopo mcp:tools
Cliente MCP recebe 502 Bad Gateway
  • O servidor MCP não está rodando na porta 5051
  • Verifique os logs do Traefik: docker compose -f ory-hydra/docker-compose.yml logs traefik
Ferramentas retornam "Erro: API do Backend retornou status 401"
  • O API Gateway precisa aceitar JWTs do Hydra — garanta que jwks-rsa esteja instalado e o middleware de autenticação OAuth esteja implantado
Fluxo OAuth redireciona para localhost:3000 mas não há nada lá
  • O Hydra está configurado com login: http://localhost:3000/login — isso aponta para o frontend do Plurality. Inicie o frontend ou atualize as URLs de hydra.yml.
DCR retorna escopo inesperado ou mcp:tools ausente
  • O proxy DCR do API Gateway injeta mcp:tools nos escopos permitidos. Garanta que o API Gateway esteja em execução e a rota /register esteja acessível.

Links