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.
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.
📖 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
| Ferramenta | Descrição |
|---|---|
get_user_memory_buckets | Lista todos os buckets de memória (pastas organizadas) do usuário |
list_items_in_memory_bucket | Lista itens armazenados em um bucket específico (apenas metadados) |
search_memory | Busca semântica entre buckets com pontuação de relevância |
read_context | Lê o conteúdo completo de um item armazenado com paginação |
save_memory | Salva conteúdo de texto em um bucket de memória específico |
save_conversation | Salva uma conversa (histórico de chat) em um bucket de memória |
create_memory_bucket | Cria um novo bucket de memória para organizar conteúdo salvo |
Autenticação
O servidor MCP aceita dois métodos de autenticação:
| Método | Quando usar | Requer navegador? |
|---|---|---|
| OAuth 2.1 + PKCE | Clientes interativos: Claude Desktop, Web, Code, ChatGPT | Sim (uma vez) |
| Personal Access Token (PAT) | Agentes headless, runners de CI, integrações personalizadas, n8n, LangChain | Não |
Usando um Personal Access Token
- Entre no painel, abra Conectar via MCP → Gerenciar tokens
- Clique em Criar token, dê um nome e expiração opcional, copie o valor de
plur_pat_… - 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:
| Propriedade | Valor |
|---|---|
| Algoritmo | RS256 |
| Emissor | https://app.plurality.network (prod) |
| Escopo | openid offline_access mcp:tools |
| TTL do token de acesso | 15 minutos |
| TTL do token de atualização | 720 horas |
| Descoberta | https://app.plurality.network/.well-known/oauth-authorization-server |
| Registro Dinâmico de Clientes | https://app.plurality.network/register |
Fluxo OAuth2 (passo a passo)
- Cliente descobre o servidor de autenticação — busca
/.well-known/oauth-protected-resourcedo Traefik - Cliente se registra — chama
/register(Registro Dinâmico de Clientes) para obterclient_id/client_secret. O API Gateway faz proxy disso para o Hydra, injetando o escopomcp:tools - Usuário autentica — o navegador abre o fluxo de login do Hydra, que redireciona para as páginas de login/consentimento do frontend
- Token emitido — o Hydra retorna um token de acesso JWT (RS256, TTL de 15min) com o ID do usuário como claim
sube escopomcp:tools - Requisições autenticadas — o cliente inclui
Authorization: Bearer <token>em todas as requisições MCP - Servidor MCP valida — assinatura JWT verificada localmente contra as chaves públicas JWKS do Hydra (cache de 1 hora), escopo
mcp:toolsé verificado - 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ço | Porta | Finalidade |
|---|---|---|
| PostgreSQL | 5433 | Banco de dados do Hydra |
| Hydra | 4444, 4445 | Provedor OAuth2/OIDC (público + admin) |
| Traefik | 5050 | Proxy 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
/mcppara 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_ISSUERcorresponde ao emissor no claimissdo 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-rsaesteja 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 dehydra.yml.
DCR retorna escopo inesperado ou mcp:tools ausente
- O proxy DCR do API Gateway injeta
mcp:toolsnos escopos permitidos. Garanta que o API Gateway esteja em execução e a rota/registeresteja acessível.