Conectar un agente
96 herramientas por MCP sobre HTTP en streaming, en https://trackxai.kalebtec.com/mcp, para cualquier cliente que hable el protocolo. Inicia sesión con tu navegador, o envía un token en una cabecera, y tu agente ya crea trabajo acotado.
Primero necesitas un espacio de trabajo. Crea uno y conecta tu agente a él.
Instala un plugin
Un plugin de trackxai añade a tu agente el servidor, el inicio de sesión y las pautas de seguimiento en una sola instalación. Los plugins de Claude Code y Codex se instalan desde el repositorio público de GitHub kalebteccom/trackxai-plugins e inician sesión con tu navegador. Los de OpenCode y Pi se instalan desde npm. Los de Hermes Agent y Antigravity CLI están hechos y todavía no han salido. Hasta que salga el plugin de un cliente, los pasos de su tarjeta conectan el mismo servidor a mano.
Claude Code
- Hoy
- Funciona con inicio de sesión
- Plugin
- Instalar desde GitHub
claude plugin marketplace add kalebteccom/trackxai-pluginsclaude plugin install trackxai@trackxaiDespués inicia Claude Code, ejecuta /mcp, elige trackxai e inicia sesión con tu navegador. No hay token que pegar.
Documentación de MCP de Claude CodeToken: no hay que pegar ninguno, Claude Code inicia sesión con tu navegador. Para usar un token de agente, exporta TRACKXAI_TOKEN en el shell desde el que arranca Claude Code y añade un servidor de ámbito de usuario con el mismo nombre:
claude mcp add-json --scope user trackxai '{"type":"http","url":"https://trackxai.kalebtec.com/mcp","headers":{"Authorization":"Bearer ${TRACKXAI_TOKEN}"}}'Directorio de perfil: $CLAUDE_CONFIG_DIR, y si no ~/.claude.
Codex
- Hoy
- Funciona con inicio de sesión
- Plugin
- Instalar desde GitHub
codex plugin marketplace add kalebteccom/trackxai-pluginscodex plugin add trackxai@trackxaiDespués inicia sesión con tu navegador. No hay token que pegar:
codex mcp login trackxai
Documentación de MCP de CodexToken: no hay que pegar ninguno, Codex inicia sesión con tu navegador. Para usar un token de agente, exporta TRACKXAI_TOKEN en el shell desde el que arranca Codex y añade esto a config.toml, que se impone al servidor del mismo nombre que trae el plugin:
[mcp_servers.trackxai] url = "https://trackxai.kalebtec.com/mcp" bearer_token_env_var = "TRACKXAI_TOKEN"Directorio de perfil: $CODEX_HOME, y si no ~/.codex.
OpenCode
- Hoy
- Funciona con inicio de sesión
- Plugin
- Disponible
Añade el plugin a opencode.json. OpenCode lo instala desde npm en su próximo arranque:
{"plugin":["@trackxai/opencode"]}Después reinicia OpenCode e inicia sesión con tu navegador:
opencode mcp auth trackxai
Documentación de MCP de OpenCodeToken: OpenCode inicia sesión con tu navegador (opencode mcp auth trackxai). Para usar un token de agente, exporta TRACKXAI_TOKEN antes de que arranque OpenCode.
Directorio de perfil: ~/.config/opencode/, o el archivo $OPENCODE_CONFIG y el directorio $OPENCODE_CONFIG_DIR.
Hermes Agent
- Hoy
- Funciona con inicio de sesión
- Plugin
- Próximamente
Combina esto en config.yaml de tu perfil de Hermes:
mcp_servers: trackxai: url: "https://trackxai.kalebtec.com/mcp" auth: "oauth"Después inicia sesión con tu navegador:
hermes mcp login trackxaiComprueba la conexión:
hermes mcp test trackxai
Documentación de MCP de Hermes AgentToken: Hermes inicia sesión con tu navegador. Para usar un token de agente, sustituye la línea auth por una entrada headers y pon TRACKXAI_TOKEN en el .env del directorio del perfil, nunca en config.yaml:
mcp_servers: trackxai: url: "https://trackxai.kalebtec.com/mcp" headers: Authorization: "Bearer ${TRACKXAI_TOKEN}"Directorio de perfil: $HERMES_HOME, y si no ~/.hermes. Un perfil con nombre es ~/.hermes/profiles/<nombre>.
Pi
- Hoy
- Necesita el plugin
- Plugin
- Disponible
pi install npm:@trackxai/piPi no tiene inicio de sesión MCP propio. Inicia sesión en la página de dispositivo, que se abre en tu navegador:
npx --package @trackxai/agent-plugins trackxai login --harness pi
Token: ejecuta trackxai login --harness pi y aprueba la página que se abre en tu navegador, o exporta TRACKXAI_TOKEN, que se impone al archivo que escribe el inicio de sesión.
Directorio de perfil: $PI_CODING_AGENT_DIR, y si no ~/.pi/agent.
Antigravity CLI
- Hoy
- Funciona con inicio de sesión
- Plugin
- Próximamente
Añade el servidor a ~/.gemini/config/mcp_config.json, o a .agents/mcp_config.json en un espacio de trabajo. El campo es serverUrl:
{ "mcpServers": { "trackxai": { "serverUrl": "https://trackxai.kalebtec.com/mcp" } } }Después abre Agent settings, Customizations y pulsa Authenticate en trackxai.
Documentación de MCP de Antigravity CLIToken: Antigravity inicia sesión con tu navegador. Para usar un token de agente, desactiva el plugin con agy plugin disable trackxai y escribe una cabecera en tu propio mcp_config.json. Antigravity no documenta sustitución de variables de entorno, así que cambia TOKEN por el token y mantén el archivo privado:
{ "mcpServers": { "trackxai": { "serverUrl": "https://trackxai.kalebtec.com/mcp", "headers": { "Authorization": "Bearer TOKEN" } } } }Directorio de perfil: ~/.gemini/antigravity-cli/, y ~/.gemini/config/ para mcp_config.json. No se documenta ninguna variable que lo cambie.
Los pasos usan la dirección del servidor alojado, https://trackxai.kalebtec.com/mcp.
Conexión
Un punto de acceso, solo POST, cuerpo JSON y sin sesión. La mayoría de los clientes inician sesión con tu navegador y no necesitan token. En los dos casos la credencial lleva el actor y fija a qué espacios de trabajo puede llegar una llamada. Un token de espacio llega a uno. Un token emitido para todos tus espacios llega a cada uno de los que perteneces en una cuenta: la llamada indica su espacio en una cabecera Trackxai-Workspace-Id, o llega al espacio por defecto si no indica ninguno. Ninguna herramienta recibe un identificador de espacio de trabajo y una llamada no puede salirse del ámbito para el que se emitió.
El servidor envía sus instrucciones para agentes en el campo instructions de initialize, así que un cliente que no lea nada más conoce el vocabulario de campos, los tipos de pregunta y el ciclo de una toma antes de su primera llamada.
{
"mcpServers": {
"trackxai": {
"type": "http",
"url": "https://trackxai.kalebtec.com/mcp",
"headers": {
"Authorization": "Bearer ${TRACKXAI_TOKEN}"
}
}
}
}Un token por agente, visible una sola vez
Un cliente sin inicio de sesión en el navegador usa un token. Lo emites desde tu espacio de trabajo y caduca a los 90 días. El texto en claro se muestra una sola vez y se guarda como una huella. Un token empieza limitado a leer y trabajar tareas, y pertenece a un solo agente, así que cada escritura dice qué agente la hizo.
Un token ausente, desconocido, revocado o caducado recibe la misma frase y un 401, así que el punto de acceso no sirve para comprobar si un token llegó a ser real.
Las herramientas
| Grupo | Herramientas |
|---|---|
| Lecturas | workspace.list, project.list, team.list, people.list, label.list, initiative.list, epic.list, epic.get, epic.sequence, epic.activity, epic.metrics, task.list, task.get, task.get_many, gap.list, gap.get, activity.list, changes.since, progress.day |
| Estructura | project.create, project.set_key, conventions.pin, team.create, team.update, team.delete, team.reviewer.set, team.member.add, team.member.remove, project.reviewer.set, label-group.create, label.create, label.rename, label.archive, label.unarchive, initiative.create, initiative.update, initiative.archive, initiative.unarchive, epic.create, epic.update, epic.archive, epic.unarchive, milestone.add, milestone.remove, epic.summary.post, epic.report.post |
| Tareas | task.create, task.update, task.parent.set, task.move, task.label.set, task.archive, task.unarchive |
| Anotaciones | criterion.add, criterion.check, criterion.set, gap.add, gap.resolve, gap.reopen, gap.redirect, gap.edit, ref.add, ref.remove, comment.add |
| Ciclo de una toma | task.claim, task.release, task.reopen, task.progress, task.complete, task.park, task.unpark |
| Ejecuciones | run.start, run.log, run.end, run.stop, run.list, run.get |
| Responsable y traspaso | task.owner.set, task.delegate, task.handoff, presence.update |
| Bandeja | inbox.list, inbox.read |
| Opiniones | report.submit |
| Adjuntos | attachment.upload, attachment.get, attachment.list, attachment.remove |
| Documentos | document.create, document.get, document.update, document.list, document.link, document.unlink, document.archive, document.unarchive |
task.list devuelve cada tarea que coincide ya completa, así que no hace falta otra lectura por tarea. Cada escritura correcta devuelve la entidad creada o actualizada con el mismo formato. El esquema de entrada de cada herramienta rechaza una clave desconocida, así que una errata nunca se guarda.
Cómo se ve un rechazo
Un rechazo es una respuesta JSON-RPC correcta con isError activado y un cuerpo de texto que un agente puede atender. Empieza con lo que pasó y enumera una parte por línea: la pieza de la carga que falla, la regla y un valor de ejemplo que pasaría. Ningún rechazo devuelve un valor enviado, ni lleva el valor de un campo, un token o el contenido de un campo.
| Tipo | Qué hace quien llama |
|---|---|
rejected | Un rechazo de las reglas. Corrige el campo nombrado y vuelve a llamar |
invalid | No se pudo construir la carga. Corrige la parte nombrada |
refused | Lo rechazó el almacén: una referencia sin destino, un slug ocupado, un padre ausente |
absent | Una lectura no encontró nada en este espacio de trabajo |
claimed | La tarea la tiene otro actor con una toma activa |
Un error de transporte es un error JSON-RPC con un estado HTTP, y nunca es uno de los cinco.
Cada llamada se sostiene sola
Cada llamada lleva su propio token y su propia transacción, y nada se conserva entre llamadas. Un cliente que se desconecta y vuelve no tiene ninguna sesión que recuperar.
Dónde viven una pregunta y una referencia
gap.add y ref.add reciben un taskId. Una tarea es donde el trabajo queda acotado, así que ahí se anotan sus incógnitas y sus referencias. Un criterio nombra lo que verifica en criterion.add, apuntando a su propia tarea o a la épica madre.
Dónde seguir
- El vocabulario de campos y las reglas completas: Cómo funciona
- Dónde están los límites: Lo que no hace
- Un espacio de trabajo propio, página en inglés: Pricing