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.

MCP Registry Smithery Version Python


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.

Watch the demo

▶️ Ver la demo

📖 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

HerramientaDescripción
get_user_memory_bucketsLista todos los buckets de memoria (carpetas organizadas) del usuario
list_items_in_memory_bucketLista los elementos almacenados en un bucket específico (solo metadatos)
search_memoryBúsqueda semántica entre buckets con puntuación de relevancia
read_contextLee el contenido completo de un elemento almacenado con paginación
save_memoryGuarda contenido de texto en un bucket de memoria específico
save_conversationGuarda una conversación (historial de chat) en un bucket de memoria
create_memory_bucketCrea un nuevo bucket de memoria para organizar contenido guardado

Autenticación

El servidor MCP acepta dos métodos de autenticación:

MétodoCuándo usarlo¿Requiere navegador?
OAuth 2.1 + PKCEClientes interactivos: Claude Desktop, Web, Code, ChatGPTSí (una sola vez)
Token de Acceso Personal (PAT)Agentes sin interfaz, ejecutores de CI, integraciones personalizadas, n8n, LangChainNo

Uso de un Token de Acceso Personal

  1. Inicia sesión en el panel de control, abre Conectar vía MCP → Gestionar tokens
  2. Haz clic en Crear token, asígnale un nombre y una caducidad opcional, copia el valor de plur_pat_…
  3. 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:

PropiedadValor
AlgoritmoRS256
Emisorhttps://app.plurality.network (prod)
Ámbitoopenid offline_access mcp:tools
TTL del token de acceso15 minutos
TTL del token de actualización720 horas
Descubrimientohttps://app.plurality.network/.well-known/oauth-authorization-server
Registro Dinámico de Clienteshttps://app.plurality.network/register
Flujo OAuth2 (paso a paso)
  1. El cliente descubre el servidor de autenticación — obtiene /.well-known/oauth-protected-resource de Traefik
  2. El cliente se registra — llama a /register (Registro Dinámico de Clientes) para obtener client_id/client_secret. La Puerta de Enlace API lo envía a Hydra, inyectando el ámbito mcp:tools
  3. 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
  4. Se emite el token — Hydra devuelve un token de acceso JWT (RS256, TTL de 15 min) con el ID del usuario como reclamo sub y ámbito mcp:tools
  5. Solicitudes autenticadas — el cliente incluye Authorization: Bearer <token> en todas las solicitudes MCP
  6. 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
  7. 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:

ServicioPuertoPropósito
PostgreSQL5433Base de datos de Hydra
Hydra4444, 4445Proveedor OAuth2/OIDC (público + administración)
Traefik5050Proxy 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 /mcp al 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_ISSUER coincida con el emisor en el reclamo iss del 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-rsa esté 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 de hydra.yml.
DCR devuelve un ámbito inesperado o falta mcp:tools
  • El proxy DCR de la Puerta de Enlace API inyecta mcp:tools en los ámbitos permitidos. Asegúrate de que la Puerta de Enlace API esté en ejecución y la ruta /register sea accesible.

Enlaces