AI Context Flow
Memoria persistente para Claude, Cursor y ChatGPT. Guarda, organiza y busca tu contexto en todas tus herramientas de IA.
Documentación
Servidor MCP de Plurality
Memoria universal para agentes y herramientas de IA. Guarda, organiza y busca contexto en cualquier lugar.
Un servidor de Model Context Protocol que brinda a cualquier cliente de IA compatible con MCP memoria persistente: documentos, notas, conversaciones y archivos almacenados en buckets de memoria organizados con búsqueda semántica. Admite autenticación mediante OAuth y Tokens de Acceso Personal (PAT).
¿Por qué usar esto?
- Memory Studio — una base de conocimiento personal y segundo cerebro donde organizas contexto en buckets de memoria, revisas contenido guardado y gestionas lo que tus agentes de IA saben.
- Guarda chats importantes — directamente desde Claude, ChatGPT, Cursor y otras herramientas de IA en el bucket de memoria relevante.
- Memoria persistente compartida entre todos tus agentes: Claude Code, Lovable, Cursor, OpenClaw y más acceden al mismo contexto.
- Búsqueda semántica — encuentra recuerdos relevantes usando lenguaje natural, no solo palabras clave.
- Comparte buckets con otras personas — colabora dando a otros acceso a tu contexto.
- Funciona en todas partes — cualquier cliente compatible con MCP puede conectarse.
También tenemos una extensión de Chrome llamada AI Context Flow que te permite capturar y usar contexto en cualquier sitio web. Incluye un agente de chat integrado (más de 30 modelos) que se abre como barra lateral en cualquier página: habla con tus recuerdos, responde preguntas desde tu contexto almacenado y descubre conexiones entre todo lo que has guardado. Puedes usar el Servidor MCP junto con la extensión para obtener el conjunto completo de funciones del producto.
📖 Documentación completa · 🌐 Sitio web · 🧩 Extensión de Chrome · 🧠 Memory Studio
Conexión rápida (producción)
URL de producción: https://app.plurality.network/mcp
El servidor admite OAuth 2.1 con PKCE (para clientes interactivos) y Tokens de Acceso Personal (para agentes sin interfaz y CI). La mayoría de los clientes manejan el flujo OAuth automáticamente.
Funciona con Claude Desktop, Claude Code, ChatGPT, Cursor y cualquier cliente compatible con MCP.
→ Guías de configuración paso a paso para todos los clientes compatibles
Herramientas
| Herramienta | Descripción |
|---|---|
get_user_memory_buckets | Lista todos los buckets de memoria (carpetas organizadas) del usuario |
list_items_in_memory_bucket | Lista los elementos almacenados en un bucket específico (solo metadatos) |
search_memory | Búsqueda semántica entre buckets con puntuación de relevancia |
read_context | Lee el contenido completo de un elemento almacenado con paginación |
save_memory | Guarda contenido de texto en un bucket de memoria específico |
save_conversation | Guarda una conversación (historial de chat) en un bucket de memoria |
create_memory_bucket | Crea un nuevo bucket de memoria para organizar contenido guardado |
Autenticación
El servidor MCP acepta dos métodos de autenticación:
| Método | Cuándo usarlo | ¿Requiere navegador? |
|---|---|---|
| OAuth 2.1 + PKCE | Clientes interactivos: Claude Desktop, Web, Code, ChatGPT | Sí (una sola vez) |
| Token de Acceso Personal (PAT) | Agentes sin interfaz, ejecutores de CI, integraciones personalizadas, n8n, LangChain | No |
Uso de un Token de Acceso Personal
- Inicia sesión en el panel de control, abre Conectar vía MCP → Gestionar tokens
- Haz clic en Crear token, asígnale un nombre y una caducidad opcional, copia el valor de
plur_pat_… - Configura tu cliente para enviarlo como token Bearer:
Authorization: Bearer plur_pat_...
Los PAT requieren un plan de pago. Se revocan automáticamente al caducar, pueden rotarse con un período de gracia configurable (7 días por defecto) y pueden revocarse inmediatamente desde el panel de control. Se almacenan con hash y nunca aparecen en los registros.
Detalles de OAuth
El servidor usa Ory Hydra como proveedor OAuth2/OIDC:
| Propiedad | Valor |
|---|---|
| Algoritmo | RS256 |
| Emisor | https://app.plurality.network (prod) |
| Ámbito | openid offline_access mcp:tools |
| TTL del token de acceso | 15 minutos |
| TTL del token de actualización | 720 horas |
| Descubrimiento | https://app.plurality.network/.well-known/oauth-authorization-server |
| Registro Dinámico de Clientes | https://app.plurality.network/register |
Flujo OAuth2 (paso a paso)
- El cliente descubre el servidor de autenticación — obtiene
/.well-known/oauth-protected-resourcede Traefik - El cliente se registra — llama a
/register(Registro Dinámico de Clientes) para obtenerclient_id/client_secret. La Puerta de Enlace API lo envía a Hydra, inyectando el ámbitomcp:tools - El usuario se autentica — el navegador abre el flujo de inicio de sesión de Hydra, que redirige a las páginas de inicio de sesión/consentimiento del frontend
- Se emite el token — Hydra devuelve un token de acceso JWT (RS256, TTL de 15 min) con el ID del usuario como reclamo
suby ámbitomcp:tools - Solicitudes autenticadas — el cliente incluye
Authorization: Bearer <token>en todas las solicitudes MCP - El servidor MCP valida — la firma JWT se verifica localmente contra las claves públicas JWKS de Hydra (almacenadas en caché durante 1 hora), se comprueba el ámbito
mcp:tools - Acceso a la Puerta de Enlace API — el servidor MCP reenvía el token Bearer al llamar a los endpoints de la Puerta de Enlace API para recuperación y almacenamiento de datos
Arquitectura
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 es el único punto de entrada. Enruta el tráfico OAuth a Hydra y el tráfico del protocolo MCP al servidor MCP. El servidor MCP valida los JWT localmente mediante las claves JWKS de Hydra, luego reenvía el token Bearer a la Puerta de Enlace API para el acceso a datos. La Puerta de Enlace API maneja la autenticación, el proxy DCR y enruta las operaciones de vectores/búsqueda al Servicio de Vectores.
Configuración de desarrollo local
Requisitos previos
- Python 3.11+
- uv (gestor de paquetes de Python)
- Docker y Docker Compose
- Puerta de Enlace API en ejecución (plurality-backend-api): maneja autenticación, metadatos OAuth, proxy DCR y acceso a la base de datos
- Servicio de Vectores en ejecución (plurality-ai-service): maneja búsqueda semántica y operaciones de base de datos vectorial
1. Instalar dependencias
cd plurality-mcp-server
pip install uv
uv sync
2. Configurar el entorno
cp .env.example .env
Los valores predeterminados funcionan para el desarrollo local: no se necesitan cambios si la Puerta de Enlace API se ejecuta en :5000:
HYDRA_ISSUER=http://localhost:5050
MCP_RESOURCE_URL=http://localhost:5050
BACKEND_API_URL=http://localhost:5000
3. Iniciar los servicios Docker (Hydra + Traefik)
cd ory-hydra
docker compose up -d
Esto inicia:
| Servicio | Puerto | Propósito |
|---|---|---|
| PostgreSQL | 5433 | Base de datos de Hydra |
| Hydra | 4444, 4445 | Proveedor OAuth2/OIDC (público + administración) |
| Traefik | 5050 | Proxy inverso / enrutamiento |
Espera a que los servicios estén saludables: docker compose ps
4. Iniciar el servidor MCP
uv run uvicorn main:mcp_server --host 0.0.0.0 --port 5051 --reload
Puerto 5051, no 5050. Traefik escucha en 5050 y envía por proxy
/mcpal servidor MCP en 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
Configuración de cliente local
Claude Code
claude mcp add --transport http plurality-memory http://localhost:5050/mcp
Luego autentícate vía /mcp dentro de Claude Code.
Claude Code — Extensión de VS Code
Autentícate primero en la terminal usando los pasos anteriores. Luego agrega .mcp.json a la raíz de tu proyecto:
{
"mcpServers": {
"plurality-memory": {
"type": "http",
"url": "http://localhost:5050/mcp"
}
}
}
La extensión de VS Code puede no activar el flujo de navegador OAuth automáticamente. Completa la autenticación primero mediante la terminal.
Claude Desktop
Edita tu archivo de configuración:
- 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"]
}
}
}
Reinicia Claude Desktop por completo, luego autentícate cuando se abra el navegador.
MCP Inspector (depuración)
npx @modelcontextprotocol/inspector
Ingresa http://localhost:5050/mcp como URL del servidor. El inspector recorre el flujo OAuth y te permite llamar a las herramientas de forma interactiva.
Nota: ChatGPT no es compatible con el desarrollo local: requiere endpoints OAuth accesibles públicamente.
Estructura del proyecto
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
Solución de problemas
El cliente MCP recibe 401 No autorizado
- Verifica que Hydra esté en ejecución:
curl http://localhost:4444/.well-known/openid-configuration - Verifica que el JWT no haya caducado (TTL de 15 min)
- Confirma que
HYDRA_ISSUERcoincida con el emisor en el reclamoissdel token - Asegúrate de que el token tenga el ámbito
mcp:tools
El cliente MCP recibe 502 Puerta de Enlace no válida
- El servidor MCP no se está ejecutando en el puerto 5051
- Revisa los registros de Traefik:
docker compose -f ory-hydra/docker-compose.yml logs traefik
Las herramientas devuelven "Error: La API del backend devolvió estado 401"
- La Puerta de Enlace API necesita aceptar los JWT de Hydra: asegúrate de que
jwks-rsaesté instalado y el middleware de autenticación OAuth esté implementado
El flujo OAuth redirige a localhost:3000 pero no hay nada allí
- Hydra está configurado con
login: http://localhost:3000/login— esto apunta al frontend de Plurality. Inicia el frontend o actualiza las URLs dehydra.yml.
DCR devuelve un ámbito inesperado o falta mcp:tools
- El proxy DCR de la Puerta de Enlace API inyecta
mcp:toolsen los ámbitos permitidos. Asegúrate de que la Puerta de Enlace API esté en ejecución y la ruta/registersea accesible.