Relo MCP — Kimi en tu terminal
Cómo correr un agente Kimi en tu compu conectado a Relo con tu propia cuenta, sin costos de API.
Relo MCP — Kimi en tu terminal
Relo MCP es un agente tipo Kimi Code CLI que corre en la compu de cada persona del equipo, conectado a Relo de forma segura. Le hablas en español normal ("¿cómo va el budget de MX?") y el agente consulta o ejecuta en la plataforma por ti. El cerebro es tu propia sesión de Kimi (tu suscripción), así que no hay costos de API por token: lo único que se paga es lo que ya pagas por Kimi.
Flujo del agente
Modelo de seguridad
- Ninguna llave de poder toca tu compu. El service-role de Supabase y el token del backbone viven solo en el worker (
relo-api). Tu máquina solo tiene tu propio JWT, igual que cuando entras al portal. - Entras con tu cuenta propia de Relo (email + password, los mismos del portal).
- Lectura: todo el staff interno (
admin,client_manager,viewer). - Escritura: solo
admin. Si no eres admin, las tools de escritura ni aparecen en tu agente. - Todo write queda auditado a tu nombre en la tabla
mcp_call_log(quién, qué tool, con qué argumentos, cuándo). - Fail-closed: si el rol no se puede resolver, el agente asume solo-lectura.
Tu mcp.json es personal
El archivo ~/.kimi-code/mcp.json contiene tu password de Relo en texto plano (no hay terminal interactiva cuando Kimi levanta el MCP). No lo compartas, no lo subas a git y no lo pegues en chats. Si tu laptop se pierde, avisa para revocar tu usuario.
Setup (una sola vez)
-
Instala Kimi Code CLI si no lo tienes y entra con tu cuenta de Kimi:
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash -
Instala las dependencias del MCP:
cd ~/relo/mcp ./install.sh -
Edita
~/.kimi-code/mcp.json(ya existe una plantilla generada por el equipo) y rellena solo tus credenciales:{ "mcpServers": { "relo": { "command": "npx", "args": ["tsx", "src/index.ts"], "cwd": "/ruta/absoluta/a/relo/mcp", "env": { "SUPABASE_URL": "https://wbvrlcospepaqsooxhvg.supabase.co", "SUPABASE_ANON_KEY": "<la anon key pública del proyecto>", "API_BASE": "https://relo-api.quomx.workers.dev", "RELO_EMAIL": "tu-email@relo.mx", "RELO_PASSWORD": "tu-password" } } } }SUPABASE_URL,SUPABASE_ANON_KEYyAPI_BASEson iguales para todos (pídelas a quien administre Relo).RELO_EMAILyRELO_PASSWORDson personales. -
Corre el agente desde el directorio
mcp/:cd ~/relo/mcp kimiCorrerlo desde ahí importa: el agente lee
AGENTS.md+context/(el cerebro del negocio) y ya sabe cómo jala Relo sin que le expliques nada. -
Verifica que cargó: pregunta "¿qué tools de relo tienes?" — deben aparecer como
mcp__relo__*.
Qué puedes preguntarle
Lectura (todo el staff):
- "¿Cuánto hemos gastado del budget de MX y cuál es el margen?"
- "¿Cómo van los partners este mes vs el pasado?"
- "Encuéntrame la orden MX260410-12345."
- "Dame el breakdown de comisiones de <partner> este mes."
- "¿Hay fraude sospechoso esta semana?"
- "¿El backbone está sano?" (
backbone_health)
Escritura (solo admin — el agente te pide confirmar antes de ejecutar):
- "Pausa el segmento DA de <partner>."
- "Ponle cap de $50,000 al segmento MX de <partner>."
- "Genera los pagos de junio." / "Aprueba el pago de <partner>."
- "Crea el partner <nombre> y asócialo al cliente <cliente>."
Qué sabe el agente (context pack)
El agente entiende el negocio porque lee mcp/context/ al arrancar la sesión:
| Archivo | Qué le enseña |
|---|---|
business-model.md | Modelo de margen: cap del cliente → payout a partners → spread de Relo. |
commissions.md | La cadena de 9 pasos del cálculo de comisiones. |
attribution.md | Los 5 match types de atribución y la regla de primary attribution. |
segments.md | Segmentos, aliases y la fusión HA→DA. |
budgets-payments.md | Caps, carve-outs, ciclo de vida de pagos. |
tools.md | Referencia de las 29 tools con ejemplos. |
Si cambias una regla de negocio, actualiza estos archivos: son la memoria del agente.
Troubleshooting
| Síntoma | Causa | Fix |
|---|---|---|
Login failed: Invalid login credentials | Email/password mal en mcp.json | Corrige RELO_EMAIL / RELO_PASSWORD. |
Las tools mcp__relo__* no aparecen | Kimi no levantó el MCP | Revisa que cwd en mcp.json apunte a mcp/ y que corriste install.sh. |
Tool not found en una escritura | No eres admin | Esperado: las escrituras son solo para admin. |
401 repetido | Sesión expirada | Reinicia kimi (el login se rehace solo). |
SUPABASE_URL and SUPABASE_ANON_KEY are required | Falta el bloque env | Completa el env en mcp.json. |
Para ingeniería
El módulo del worker vive en src/workers/routes/mcp.ts + src/workers/handlers/mcp/. El thin client en mcp/src/. La auditoría en migrations/120_mcp_call_log.sql. Smoke test E2E: node mcp/smoke-test.mjs.
Más sobre IA en Relo
AI Assistant
El chat con IA dentro del portal, scoping por cliente.
Auth y roles
Cómo funcionan los roles admin, client_manager, partner y viewer.
¿Necesitas ayuda?
Si el agente contesta algo raro sobre el negocio, probablemente falta contexto: actualiza mcp/context/ y reinicia la sesión. Si una escritura falla, revisa mcp_call_log en Supabase o contacta a ingeniería.