session-migrator
session-migrator
Una capa de migración de memoria de sesión entre agentes: migra o comprime automáticamente una conversación según la capacidad de la ventana de contexto del modelo de destino.
¿Qué problema resuelve?
El agente 1 tiene una conversación en curso que debe entregarse al agente 2, pero los dos agentes usan modelos diferentes con ventanas de contexto distintas. Las reglas son sencillas:
Si en el modelo de destino cabe toda la conversación → migrarla tal cual, sin compresión;
Si no cabe → conservar solo el contexto más valioso (los mensajes más recientes primero).
Related MCP server: OpenAI Assistant MCP Server
Estructura de directorios
session-migrator/
├── session_migrator/
│ ├── context_windows.py # model capacity mapping table (the soul)
│ ├── exporter.py # session export/serialization + token estimation
│ ├── decision.py # decision engine: compare capacity → direct/compress
│ ├── compressors.py # compressor: budget truncation, keeps latest
│ ├── storage.py # shared storage: JSON files, per-workspace isolation
│ ├── codex_adapter.py # Codex session → Session adapter
│ ├── llm_summarizer.py # LLM topic summarization (deepseek/OpenAI-compatible)
│ ├── server.py # MCP server entry (exposes migration tools)
│ └── __init__.py
├── examples/
│ ├── demo.py # full demo, zero dependencies
│ ├── codex_to_workbuddy_demo.py # Codex → memory (truncation)
│ └── llm_summarize_demo.py # Codex → memory (LLM topic summarization)
├── tests/test_core.py # core logic tests
├── pyproject.toml
├── requirements.txt
└── LICENSEInicio rápido
1. Ejecuta primero la lógica principal (cero dependencias)
python examples/demo.py
python tests/test_core.pyAmbos usan solo la biblioteca estándar. No se necesita instalación — verás enseguida «decisión + compresión + almacenamiento» funcionando de principio a fin.
2. Ejecútalo como servidor MCP
pip install mcp
python -m session_migrator.server3. Conéctalo a cualquier cliente MCP
Usando Claude Code como ejemplo, añade esto al .mcp.json del proyecto (o a tu configuración global):
{
"mcpServers": {
"session-migrator": {
"command": "python",
"args": ["-m", "session_migrator.server"]
}
}
}Cursor / Codex / WorkBuddy o cualquier cliente que admita MCP stdio funciona de la misma manera. Una vez conectado, el agente puede llamar a model_context_window, list_known_models y migrate_session.
4. Configura la API del LLM (solo necesaria para el «resumen temático»)
Para comprimir una sesión de Codex en memoria estructurada, necesitas un LLM compatible con OpenAI. deepseek / OpenAI / cualquier servicio compatible con /chat/completions funciona — solo tienes que definir una variable de entorno:
export DEEPSEEK_API_KEY="sk-xxx" # or OPENAI_API_KEYLas tres herramientas MCP principales no lo requieren (solo hacen compresión por decisión / truncamiento, sin llamadas al LLM).
Herramientas MCP
Herramienta | Propósito |
| Consulta la capacidad de la ventana de contexto de un modelo |
| Lista los modelos integrados y sus capacidades |
| Ejecuta la migración; devuelve la decisión + mensajes migrados + tokens antes/después |
El messages_json de migrate_session tiene este aspecto:
[{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]Conceptos principales
Motor de decisión decide(session, target_model)
El criterio es «¿puede la capacidad de destino contener el recuento real de tokens de la sesión?», no simplemente comparar las capacidades de los dos modelos — incluso si la capacidad de destino es menor que la del modelo de origen, una sesión pequeña se migra tal cual.
Compresor TruncationCompressor
La implementación por defecto tiene cero dependencias externas: conserva mensajes completos retrocediendo desde el más reciente, omite los anteriores que no caben e inserta una nota de marcador de posición al principio (cantidad omitida + vista previa del mensaje más antiguo).
Resumen temático (Codex → memoria)
Proceso completo para migrar una sesión de Codex a memoria estructurada (adaptador + LLM):
from session_migrator.codex_adapter import get_thread_meta, extract_rollout
from session_migrator.llm_summarizer import summarize_session
meta = get_thread_meta("your-codex-thread-id")
session = extract_rollout(meta["rollout_path"], meta["id"], meta["model"])
markdown = summarize_session(session, meta, target_chars=5000) # needs LLM key set firstVersión de truncamiento sin LLM: codex_adapter.to_memory_markdown(session, meta).
Tabla de capacidades de modelos
session_migrator/context_windows.py incluye una tabla de mapeo estática (modelos de OpenAI / Anthropic / Google / chinos). Nota: estos son valores de reserva estáticos que pueden cambiar cuando los proveedores actualicen.
Hoja de ruta
Resumen temático con LLM (
llm_summarizer.py, consulta «Resumen temático»)Obtención dinámica de capacidades (llamar a la API
/modelsde cada proveedor)Compresión reversible con margen (recuperar el texto original)
Inyección de recuperación mediante almacén vectorial (recuperación bajo demanda)
Recuento preciso de tokens con tiktoken
Licencia
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables Claude and other MCP-compatible tools to communicate with OpenAI's GPT models (GPT-5, GPT-5-mini, o3) with conversation history and session management. Features advanced controls like reasoning effort settings, token tracking, and parallel conversation sessions for efficient AI workflows.9
- FlicenseBqualityDmaintenanceEnables interaction with OpenAI's Chat Completion and Assistants APIs, supporting assistant management, file operations, and direct queries to GPT models through standardized MCP tools.92
- AlicenseNot gradedqualityCmaintenanceProvides context compression via the tokenslim engine, enabling MCP hosts to reduce token usage while preserving key information. Offers compress, retrieve, and stats tools for managing compressed content.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceA context window optimizer and session rotator MCP server for agentic workflows that prevents LLMs from running out of context by compacting chat history and rotating sessions.3MIT
Related MCP Connectors
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.
Remote MCP for Gemini upgrade evals, prompt regressions, output diffs, and eval receipts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/liangyuan0219/session-migrator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server