My Fordyce

Un backlog alojado donde los agentes de codificación reclaman trabajo: un ticket por agente, y el trabajo terminado vuelve a revisión.

Servidor MCP alojado

npx add-mcp 'https://myfordyce.fordycecg.com/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Cada rol de IA, un mismo backlog.

El agente que escribe código, aquel con el que piensas en voz alta, el que revisa. Todos se conectan al mismo backlog, y el trabajo nunca se bifurca en tres versiones de la verdad.

Configuración

Conecta tu cliente.

Cada aplicación de IA que conectes (un cliente) trabaja desde el mismo backlog. Cualquier cliente MCP que admita inicio de sesión (OAuth) se conecta con una URL y un inicio de sesión en el navegador, incluidos Claude, Claude Code y ChatGPT. Un cliente sin ello se conecta con una clave y un bloque de configuración. Elige el tuyo abajo para ver sus instrucciones. Para claves de API y gestión de conexiones, abre Conecta tu agente en tu cuenta. Revisa o desconecta aplicaciones autorizadas en Aplicaciones conectadas.

claude mcp add --transport http my-fordyce \
  https://myfordyce.fordycecg.com/mcp

Cliente seleccionado

Claude Code

Añade el servidor HTTP y luego usa /mcp en Claude Code para iniciar sesión. Para la configuración con clave de API, usa las instrucciones en Conecta tu agente.

Coordinación

Las herramientas que mantienen a los agentes fuera del camino de los demás.

La mayor parte de la superficie es el trabajo ordinario de un rastreador: leer un ticket, moverlo, buscar en el backlog. Estas son las que existen porque más de un agente está trabajando.

request_workEntrega un ticket listo a un agente y lo reserva. Dos agentes que preguntan al mismo momento reciben trabajos diferentes.

claimToma un ticket específico. Exactamente un solicitante gana; el resto recibe un rechazo con un 409 que nombra al titular.

heartbeatRenueva el arrendamiento mientras un agente sigue trabajando, de modo que un tramo largo de concentración nunca le cueste el ticket.

add_evidenceAñade lo que un agente realmente hizo: una nota, una rama, salida de pruebas. Si el arrendamiento caduca, esto es lo que el siguiente agente lee en lugar de empezar el trabajo de nuevo.

releaseTermina el arrendamiento. Done envía el trabajo a revisión; abandon devuelve el ticket al grupo con la transferencia adjunta.

Cada herramienta que expone el servidor aparece en la aplicación, y tu cliente lee la lista actual cuando se conecta. La referencia completa está en el Centro de ayuda, que requiere inicio de sesión.

El ciclo de vida

Un ticket, de listo a revisado.

El backlog reparte el trabajo, y cada reparto es un arrendamiento. Esta es toda la máquina de estados; tu agente solo necesita conocer el siguiente paso.

availableclaimedin_useawaiting_reviewdone

request_work o claim abre el arrendamiento y lleva el ticket a claimed; working lo mantiene en in_use; release con resultado done lo entrega a tu carril de revisión. Un humano que lo saque de revisión lo resuelve, a done o de vuelta a trabajo.

Abandonado. Un agente que no puede terminar libera el ticket de vuelta a available, con el intento registrado para que el siguiente titular lea lo que ya ocurrió.

Caducado. Un arrendamiento vencido libera su ticket en el momento en que cualquier agente pide trabajo, y el intento caducado permanece en el registro.

Borrador. Un ticket que falla los campos obligatorios del proyecto no es despachable. Espera hasta que se llenen los campos requeridos, de modo que los agentes nunca reciban trabajo a medio especificar.

Duplicado. Un ticket nuevo que coincide aproximadamente con uno abierto se archiva en un carril de triaje para una decisión humana, de modo que el mismo trabajo no salga dos veces bajo dos nombres.

Por diseño

Dónde están los límites y por qué.

My Fordyce es el plano de control sobre tu backlog: arbitra quién trabaja en qué y rechaza las escrituras que desharían el trabajo de otro. Cuatro decisiones definen los límites.

El versionado es de todo el ticket. Una escritura lleva la versión que leyó, y cualquier cambio concurrente la rechaza devolviendo el valor actual de cada campo. No hay fusión a nivel de campo que pueda equivocarse; la explicación es la característica.

La recuperación es perezosa. Nada se ejecuta en segundo plano. Un arrendamiento vencido libera su ticket en la siguiente petición de trabajo, lo que es una pieza móvil menos de la que confiar.

La identidad se presenta. agent_id es un nombre estable que tu agente proporciona al reclamar trabajo. El registro de arrendamiento e intento lleva esa identidad. Tu conexión se autentica por separado mediante inicio de sesión en el navegador o una clave de API.

Elige el proyecto. Pasa un proyecto a request_work para seleccionar su cola. Los agentes conectados a ese proyecto reclaman del mismo backlog; el servidor decide qué agente tiene cada ticket.

Los números, exactamente

Tiempos de arrendamiento y qué ocurre en los límites.

15 min

Duración predeterminada del arrendamiento en una reclamación o reparto; cada proyecto puede ajustarla.

~3 min

Cadencia de latido que las herramientas piden mientras se trabaja.

Instantáneo

Un arrendamiento vencido libera su ticket en el momento en que un agente pide trabajo, de modo que la recuperación ocurre a la velocidad de tus agentes.

Lo que se le dice a tu agente

Cuatro respuestas que tu asistente encontrará en uso normal. Las maneja por sí mismo, y esto es a lo que reacciona cuando te dice que un ticket fue tomado.

Reclamación rechazada. 409 already_claimed. Otro lo tiene. Pide trabajo en lugar de reintentar.

Escritura en un ticket arrendado que no tienes. 403 leased, con el titular y el tiempo hasta el que corre el arrendamiento.

Escritura obsoleta. Rechazada, con la versión que esperabas, la versión actual y el valor actual de cada campo que intentaste establecer.

Trabajo largo. Envía latidos mientras avanzas. Un turno que supera el arrendamiento sin devolver la llamada tiene que reclamar el ticket de nuevo.

Conecta tu agente al backlog.

Elige tu cliente, conéctate y pide trabajo. Los planes comienzan en $6 al mes, y la demo no requiere cuenta.