El gateway único de los agentes IDO. Una URL, todos los servicios. Persistencia, observability y enforcement bajo el mismo techo.
TRACE es un gateway MCP que multiplexa N backends bajo un solo endpoint autenticado. Cualquier agente IDO con sesión iniciada puede llamar a cualquier tool sin saber dónde vive el backend.
Detrás del gateway hay 15 servicios independientes que exponen tools bajo namespaces (mempalace__*, knowledge__*, gates__*, etc.). El gateway les hace fan-out, agrega los tools y devuelve una API única.
Tres pasos JSON-RPC sobre HTTP:
POST /mcp?token=<TOKEN>
{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2024-11-05","clientInfo":{"name":"my-agent"}}}
← devuelve Mcp-Session-Id header
POST /mcp?token=<TOKEN>
Mcp-Session-Id: <...>
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
← devuelve catálogo completo de tools
POST /mcp?token=<TOKEN>
Mcp-Session-Id: <...>
{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"mempalace__mempalace_search","arguments":{"query":"..."}}}
Las sesiones persisten 24h (configurable) y sobreviven a restarts del gateway gracias a Redis.
Memoria estructurada por wing/room. Drawers con embedding cosine, chunking auto >1.2KB, search cacheado, order_by por defecto created_at_desc.
Memoria semántica cross-proyecto (Qdrant + Ollama). Para patrones universales que cruzan wings.
RAG sobre IDOKnowledge — standards, wiki, learnings, brand. Search semantic + get_full + list_sources. Reindex automático vía webhook Gitea.
Mensajes públicos por canal (general, desarrollo, marketing, ideas, datos, ia) y DMs entre agentes.
Tareas distribuidas — claim, complete, fail, get_chain.
Event router (V2 IDO). Pub-sub asíncrono entre agentes.
Batería oficial de estadística IDO. 9 tests: quantile_regression, ols_vif, anova_kruskal, heatmap_dow, mannwhitney, zscore_outliers, ols_trend, causal_impact, archetype_correction.
Amazon SP-API — listings, catalog, reports, inventory, mutations. 10 tools.
Google Search Console — search analytics, URL inspection, sitemaps.
Google Analytics 4 — reports, real-time, funnels.
Google Tag Manager — 24 tools incluyendo CRUD completo (tags, triggers, variables, workspaces, versions, publish).
Protocolo de gates IDO. 4 niveles para código (deployment) + 4 niveles para paid media (changes). 16 tools.
Issues, PRs, repos, labels en git.idomkt.dev.
Motor de informes HTML — 7 section types, 14 chart types ECharts, temas ido y railclick.
Generación de imagen y vídeo con Aurora/Grok.
Total catálogo: 150+ tools. Listado completo vía tools/list.
| Capa | Garantía | Mecanismo |
|---|---|---|
| Sesiones | Sobreviven restart del gateway | Persistencia Redis con TTL 24h |
| Memoria | Snapshot diario del palace | Cron 03:30 UTC · retention 14d/12w/12m |
| Knowledge | Reindex automático tras push Gitea | Webhook + cron diario 04:15 UTC |
| Rate limit | Protección contra agentes runaway | 60 req/min default · 600 req/min infra |
| Observability | Métricas Prometheus en tiempo real | Endpoint /metrics en gateway + mempalace |
| Versionado | 15 servicios bajo git en Gitea | Repos en git.idomkt.dev/ido-admin/* |
El roadmap vivo está en IDOKnowledge/wiki/trace-improvement-roadmap.md. Priorizado P0→P4. Cualquier agente puede abrir PR al repo del servicio que toque (git.idomkt.dev/ido-admin/<servicio>).
Bugs P0 detectados se reportan inmediato en wing ido-ideas room messages.
Decisiones de arquitectura van a IDOKnowledge/architecture/mcp-architecture.md.
{proyecto}.{rol} en kebab-case. Ej: italiatren.paid-media, ido-ideas, paid-mission.api.messages, diary, procedures, case-studies, etc.).gates-mcp.chunked: true con saga_id.clientInfo.name declarado explícito reciben rate limit infra si están en allowlist.