Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Agent Lease

de Buggy1111versión 0.2.0i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.Buggy1111/agent-lease-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Keep Claude Code and Codex off each other's files: hook-enforced path leases, presence, messages.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Documentos, hojas de cálculo y oficina
  • Debes completar: AGENT_NAME

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "agent-lease": {
      "command": "uvx",
      "args": [
        "agent-lease-mcp"
      ],
      "env": {
        "AGENT_NAME": "your-value",
        "AGENT_LEASE_DB": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add agent-lease --env AGENT_NAME=your-value --env AGENT_LEASE_DB=your-value -- uvx agent-lease-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "agent-lease": {
      "command": "uvx",
      "args": [
        "agent-lease-mcp"
      ],
      "env": {
        "AGENT_NAME": "your-value",
        "AGENT_LEASE_DB": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "agent-lease": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "agent-lease-mcp"
      ],
      "env": {
        "AGENT_NAME": "your-value",
        "AGENT_LEASE_DB": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • AGENT_NAME obligatorio env
    This agent's name in the room, e.g. claude-code or codex. Must match the hooks.
  • AGENT_LEASE_DB env
    Path to the shared SQLite room (default ~/.agent-lease/room.db).

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub Buggy1111, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Documentos, hojas de cálculo y oficinai

  • Más estrellas que el 0% de los otros 3533 servidores de esta categoría
  • Publicado en el registro más recientemente que el 60% de los otros 3533 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 3533 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Agent Lease?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: AGENT_NAME

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.2.0) llegó al registro hace 22 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Agent-Native Google Calendar - manage events, sync, and public booking

Se ejecuta en la nube★ 7620MITActualizado hace 2 meses
Instalar

Excel MCP Server

de haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

Se ejecuta en tu computadora★ 4276MITActualizado hace 7 días
Instalar

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Se ejecuta en tu computadora★ 847MITActualizado hace 4 días
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

agent-lease-mcp

Keep two coding agents (Claude Code and Codex, or two sessions of either) from overwriting each other's work in the same repository.

agent-lease gives them leases on paths, presence and a shared message log — and the lease is enforced by a PreToolUse hook, not by good intentions. An agent that tries to edit a file another agent is working on is refused before the edit happens.

Česky / Czech version

Why it exists

9 September 2026. A coordination file, docs/AGENT-HANDOFF.md, existed and both agents knew about it. At 22:28 they still both touched deploy/make-work-package.sh: one was editing it while the other was running it. Bash reads a script as it goes, the text shifted under the running process, and instead of a 3.7 GB installer the build produced a useless 198 MB one.

The lesson the whole project rests on: coordination that can be ignored will be ignored. Not out of malice — an agent at work simply does not look at the notice board.

The same collision was later replayed on purpose: Codex ran the script, Claude Code tried to edit it mid-run, and the hook refused the edit. The file stayed intact.

How it differs

locksenforcementTTLpresencemessagesaudit
AgentRoom (paper)✅prompt only?✅✅✅
Agent Claim MCP✅prompt only✅❌❌❌
agent-orchestration✅prompt only❌✅✅❌
agent-lease-mcp✅PreToolUse hook✅✅✅✅

Advisory locks get broken; AgentRoom documents this itself. Claude Code and Codex both have PreToolUse hooks with the same semantics (exit 2 = block, reason on stderr), so a lease can be enforced deterministically at the tool-call level. One script serves both clients.

Rules it is built on

  • A lease, not a lock. 30-minute TTL. A crashed agent cannot block the repo forever.
  • All or nothing. A claim on several paths succeeds completely or not at all.
  • A lease on a directory covers everything under it.
  • A free file is claimed automatically on the first edit, so nobody has to remember to call claim.
  • A running script is leased for the duration of the run — exactly the combination that broke the build.
  • Fail-open by default. Broken coordination must not stop work; otherwise the first thing anyone does is switch the hook off. AGENT_LEASE_FAIL_CLOSED=1 flips this for unattended runs.

What runs on its own

hook eventwhat happens
SessionStartthe room state is injected into context: who is here, what they hold, messages for you
UserPromptSubmitnew messages are delivered once, via a cursor
PreToolUse (Edit/Write/apply_patch…)an edit of a file someone else holds is refused
PreToolUse (Bash)a script being run is leased; obvious writes (>, tee, sed -i, cp/mv target) into a held file are refused
Stop / SessionEndall leases are returned when the agent finishes its turn

Injections stay silent when there is nothing to say.

Waking a sleeping agent

Hooks only fire when the agent acts, so an idle session is woken from outside, without spending model tokens:

  • Claude Code: agent-lease init claude-code --write --rewake adds an asyncRewake hook on SessionStart and Stop. It waits on a signal file and wakes the session when an addressed message from someone else arrives. Broadcasts and automatic receipts do not wake it.
  • Codex: the agent-lease-codex-wake service nudges a named session through codex queue (only message numbers, never their text). After a provider limit ends, it nudges once for unfinished work. Setup: /rename nox in Codex, AGENT_LEASE_CODEX_THREAD=nox in ~/.config/agent-lease/environment, then enable deploy/systemd/agent-lease-codex-wake.service.

A message from another agent is information, not a human instruction. For agents to hand work to each other unattended, the human writes the allowed scope (and what always needs asking) into the agent's own instructions, e.g. ~/.codex/AGENTS.md. Template and details (in Czech): docs/ZPRAVY-A-POTVRZENI.md.

Tools

MCP toolpurpose
claim(paths, purpose, ttl_seconds)reserve ahead — typically a directory before running a script
release(paths?)give back; without arguments returns everything you hold
owner(path)who holds this path (including through a directory lease)
room(status?)one call per checkpoint: who is here, what is held, what is new
say(text) / inbox(since_id)messages to the room
send / jobs / next_task / ack / retry / canceladdressed messages and durable tasks with delivery state
accept(message_id, note)acknowledge you are taking an addressed message — the sender sees it
report_limit(minutes, reason)out of quota: your unstarted tasks move to a fallback agent
history(path?)who touched what and how it ended — the answer to "why was I blocked"

The same operations exist as a CLI (agent-lease room|claim|release|say|send|…), because Codex in non-interactive mode cannot approve MCP calls but can run Bash. agent-lease wait --for blocks without spending model tokens and wakes a background session when a message arrives.

say/inbox is not a live chat: MCP is pull, the other side reads a message when it next looks. For a live view there is a local web room: agent-lease web --open (loopback only, see Security).

Quick start (two minutes)

uv tool install agent-lease-mcp

agent-lease init claude-code --write --rewake # writes all hooks, keeps a .bak backup agent-lease init codex --write agent-lease simulate # 2 s: replays a full scenario in a temp DB agent-lease doctor # checks it really works agent-lease web --open # live room in the browser

init without --write only shows what it would write. Manual setup below.

Install

uv tool install agent-lease-mcp

This puts agent-lease-mcp, agent-lease, agent-lease-guard, agent-lease-context and agent-lease-release on your PATH.

MCP server (stdio; each client runs its own process, the shared state is a SQLite file):

# Claude Code

claude mcp add agent-lease -e AGENT_NAME=claude-code -- agent-lease-mcp

# Codex — ~/.codex/config.toml

[mcp_servers.agent-lease] command = "agent-lease-mcp" env = { AGENT_NAME = "codex" }

Codex writes to ~/.agent-lease, outside the workspace — allow it:

[sandbox_workspace_write] writable_roots = ["/home/YOU/.agent-lease"]

Hooks — without them this is just a polite notice board:

// ~/.claude/settings.json

{ "hooks": { "PreToolUse": [{ "matcher": "Edit|Write|MultiEdit|NotebookEdit|Bash", "hooks": [{ "type": "command", "command": "AGENT_NAME=claude-code agent-lease-guard" }] }], "SessionStart": [{ "hooks": [{ "type": "command", "command": "AGENT_NAME=claude-code agent-lease-context" }] }], "UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "AGENT_NAME=claude-code agent-lease-context" }] }], "Stop": [{ "hooks": [{ "type": "command", "command": "AGENT_NAME=claude-code agent-lease-release" }] }] } }

// ~/.codex/hooks.json — same events, AGENT_NAME=codex

{ "hooks": { "PreToolUse": [{ "matcher": "*", "hooks": [{ "type": "command", "command": "AGENT_NAME=codex agent-lease-guard" }] }] } }

AGENT_NAME must match between the server and the hooks, otherwise an agent blocks its own files. An agent called unconfigured-* in room means exactly that.

variabledefaultpurpose
AGENT_NAMEunconfigured- - name in the room
AGENT_LEASE_DB~/.agent-lease/room.dbwhere the state lives
AGENT_LEASE_TTL1800default lease length (s)
AGENT_LEASE_RETENTION_DAYS30messages and audit older than this are deleted (0 = keep)
AGENT_LEASE_FAIL_CLOSEDoff1 = block the tool call when the hook itself fails
AGENT_LEASE_HUMANhumanthe human's name in the room (stored next to the DB by the web UI)
AGENT_LEASE_TASK_SENDERShuman + configured agentswho may create tasks (comma-separated)
AGENT_LEASE_FALLBACKS—failover chains, e.g. codex=claude-code;claude-code=codex
Optional: Bash safety gate

A separate PreToolUse hook (agent-lease-jev-guard) for a different question — not "who holds this file" but "is this command destructive". Hard rules (rm -rf /, force push, git reset --hard, curl | sh, mkfs…) apply as soon as it is wired in. An optional external classifier (TypeSafe Jev) is off by default, starts in shadow mode, receives only redacted commands and is advisory — never the only safeguard. Details in ADR 0003.

Receipts, failover, bridge and broker

  • Every addressed message has a visible state ⏳ → 👁 seen → ✔ taking → done. "Seen" is written by the hook automatically; "taking" must be acknowledged by the agent (accept) and is reminded on every prompt. Nothing gets lost silently. agent-lease overdue lists what nobody acknowledged.
  • Limits and failover. Codex workers read the explicit typed availability signal from the local App Server. Other workers record a limit only after a real provider/CLI error; if no reset time is supplied, agent-lease does not invent one. Manual agent-lease limit / MCP report_limit remains available. Unaccepted, unstarted tasks then move to the next agent in AGENT_LEASE_FALLBACKS (e.g. codex=claude-code;claude-code=codex) after a grace period, and the sender is told.
  • Bridge (agent-lease bridge --agent codex) — an autonomous worker: takes a task, acknowledges it, runs codex exec / claude -p read-only and returns the result. --provider openrouter --model sends it to any model through OpenRouter as plain text without tools (read-only; good for review and a second opinion). Keys only from the environment. Worker presence/provider state uses a separate identity (codex-bridge, claude-code-bridge), so a headless quota cannot overwrite the state of an interactive agent.
  • A task never runs twice. A task held by a worker (leased/started) can be accepted only with its lease token; the bridge skips a task an interactive session has accepted and, with --interactive-grace, leaves fresh tasks to a present interactive agent first.
  • Broker (agent-lease broker) — single SQLite writer over a 0600 Unix socket; other tools use it automatically when it runs, so a sandboxed Codex does not need direct access to the database. Clients survive a broker restart: the connect is retried (nothing was sent yet), an interrupted call is never repeated, and long-running workers continue with the next call.
  • Overview panel in the live room: each agent's active task, queue, unacknowledged items, typed provider state, reason for waiting, limits and items to review. Tasks may declare repeatable --path worksets and a --priority; the scheduler skips paths held by another agent and the board shows the blocking path, owner and TTL. agent-lease notify --loop sends to Telegram only what waits on the human, each event at most once (TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID from the environment; --dry to test).
  • Operating workers safely. agent-lease worker-activate and agent-lease failover-activate set a safe starting point without running or moving any task: only wo

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx