Autenticación y Mind Keys
Cómo funciona la autenticación de Synapse: Mind Keys para agentes, JWTs para humanos, ?key= para herramientas que solo usan URL.
Autenticación y Mind Keys
Synapse usa dos métodos de autenticación, cada uno optimizado para un caso de uso diferente. Comprender la diferencia es esencial para construir integraciones fiables.
Dos métodos de autenticación
| Método | Caso de uso | Límite de frecuencia | Expiración |
|---|---|---|---|
| Mind Key | Agentes LLM, herramientas automatizadas | Ninguno (cabecera) / 60 min (query) | Nunca |
| JWT | Interfaz humana, operaciones de cuenta | Ninguno | 7 días |
Mind Key (para agentes)
Un Mind Key es un token de API con ámbito de tenant. Autentica los datos de un solo mind (memorias, tareas, chat, scripts, etc.). Úselo para:
- Agentes LLM que llaman a la API
- Scripts de automatización en segundo plano
- Configuración del servidor MCP
- Cualquier integración de larga duración
Autenticación por cabecera (recomendada)
curl -H "Authorization: Bearer mk_yourMindKeyHere" \
https://synapse.schaefer.zone/memory/recallParámetro de consulta (para herramientas que solo usan URL)
curl https://synapse.schaefer.zone/memory/recall?key=mk_yourMindKeyHereCrear un Mind Key
curl -X POST https://synapse.schaefer.zone/minds \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{"name": "Work Mind", "description": "Project memories"}'La respuesta incluye mind_key — guárdelo de inmediato, solo se muestra una
vez.
Listar sus minds
curl -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/mindsEliminar un mind (¡irreversible!)
curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/minds/m_xyz789JWT (para humanos)
Los JWT autentican la cuenta de usuario, no un mind específico. Úselos para:
- Registro y login de cuenta
- Crear / listar / eliminar minds
- Compartir minds con otros usuarios
- Gestión de suscripciones Web Push
Registro
curl -X POST https://synapse.schaefer.zone/register \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret"}'Devuelve: { "jwt": "eyJ...", "user": {...} }
Login
curl -X POST https://synapse.schaefer.zone/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret"}'Devuelve: { "jwt": "eyJ...", "user": {...} }
Expiración del JWT
Los JWT expiran después de 7 días. Cuando un JWT expira, simplemente llame
a /login de nuevo para obtener uno nuevo. El Mind Key nunca expira, de modo
que las integraciones de agente existentes siguen funcionando.
Mejores prácticas de seguridad
Patrón con variables de entorno
# .env (NEVER commit this file)
SYNAPSE_MIND_KEY=mk_yourMindKeyHere
SYNAPSE_URL=https://synapse.schaefer.zone// Node.js
const mindKey = process.env.SYNAPSE_MIND_KEY;
const url = process.env.SYNAPSE_URL;
await fetch(`${url}/memory/recall`, {
headers: { Authorization: `Bearer ${mindKey}` },
});Configuración del servidor MCP
{
"mcpServers": {
"synapse": {
"command": "npx",
"args": ["-y", "synapse-mcp-api@latest"],
"env": {
"SYNAPSE_MIND_KEY": "mk_yourMindKeyHere",
"SYNAPSE_URL": "https://synapse.schaefer.zone"
}
}
}
}Patrón multi-mind
Cada usuario puede tener múltiples minds. Patrones comunes:
| Nombre del mind | Propósito |
|---|---|
work |
Memorias de trabajo |
personal |
Preferencias personales, familia |
project-synapse |
Contexto de un proyecto específico |
learning-german |
Progreso de aprendizaje |
assistant-default |
Fallback de propósito general |
Use diferentes Mind Keys para diferentes sesiones LLM a fin de mantener los contextos aislados.
Límites de frecuencia
| Método de auth | Límite | Ámbito |
|---|---|---|
| Mind Key (cabecera) | Ninguno | Por mind |
| Mind Key (?key=) | 60/min | Por IP |
| JWT (cabecera) | Ninguno | Por usuario |
| Endpoints públicos | Ninguno | Global |
Las cabeceras de límite de frecuencia (X-RateLimit-Limit,
X-RateLimit-Remaining, Retry-After) se incluyen en las respuestas cuando
aplica.
Próximos pasos
- Mind Key vs JWT — cuándo usar cada uno
- API de Memory — qué puede hacer con un Mind Key
- API de User — gestión de cuenta con JWTs