Everpod
Alojamiento gestionado para agentes de IA de código abierto: ve tus pods y crea uno nuevo desde tu propio agente.
Servidor MCP alojado
npx add-mcp 'https://everpod.ai/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
La API de Everpod
En resumen
Everpod pone tu propio agente de IA en una computadora en la nube siempre activa, protegida y respaldada: ejecuta Claude Code, Codex o cualquier agente que uses en una máquina que sea tuya, o haz que OpenClaw la configure y la ejecute por ti. La API de Everpod es la forma en que un agente que ya usas, como Claude Code o Codex, trabaja con tu cuenta de Everpod por ti. Una clave permite que un agente o una aplicación de confianza vea tus pods y cree uno nuevo para ti, que luego pagas en everpod.ai. No puede pagar, cambiar ni cancelar un plan, eliminar nada, abrir el panel de control de tu agente ni acceder a la máquina de un pod de desarrollador.
Es un servidor MCP en https://everpod.ai/mcp y tres rutas REST bajo https://everpod.ai/api/v1, ambas usadas con una clave que creas en tu cuenta.
Crear una clave
- Abre everpod.ai/account/keys e inicia sesión con tu dirección de correo electrónico y el código que te enviamos. Si aún no tienes cuenta, iniciar sesión crea una.
- Nombra la clave según lo que la usará, y créala.
- Copia la clave. Comienza con
everpod_.
Mostramos una clave una sola vez, cuando la creas, y no guardamos ninguna copia. Puedes revocar una clave en tu cuenta en cualquier momento, y cualquier cosa que la use deja de funcionar de inmediato. Una clave no es una forma de iniciar sesión. Quien tenga una clave puede usarla, así que mantenla en secreto. Dale a cada agente o aplicación su propia clave, para que revocar una deje las demás funcionando.
Qué puede hacer una clave
Tres operaciones. Un agente que conectes tiene cada una como herramienta, con la descripción que se muestra aquí, y un script llama a cada una como ruta.
- Listar pods (
list_pods,GET /api/v1/pods): Lista los pods en la cuenta de Everpod del propietario, del más antiguo al más reciente. Cada uno tiene su tipo, su estado y el enlace que su propietario necesita: pay_url mientras espera el pago, url (la página del pod en everpod.ai) una vez pagado. - Obtener un pod (
get_pod,GET /api/v1/pods/{id}): Lee un pod por su id: su estado y el enlace que su propietario necesita. Así se comprueba si un pod iniciado ha sido pagado, si está listo y, para un pod de desarrollador, cuáles de los pasos de su propietario para conectarlo están hechos. - Iniciar un pod (
start_pod,POST /api/v1/pods): Inicia un nuevo pod para el propietario: un pod de OpenClaw, o con el tipo 'developer' un pod de desarrollador. Esta llamada no cobra nada: el pod permanece sin pagar hasta que su propietario abra pay_url en su navegador y pague allí. Mientras la cuenta tenga un pod sin pagar, llamar de nuevo devuelve ese mismo pod, cambiado al nombre y tipo ahora solicitados.
Un pod es de dos tipos: un pod de desarrollador, una computadora en la nube que ejecutas tú mismo, con tu elección de Claude Code, Codex, OpenCode, Pi, Hermes y OpenClaw instalados, o un pod de OpenClaw, OpenClaw configurado y ejecutado para ti en una computadora propia. El OpenClaw entre los agentes de un pod de desarrollador es el mismo agente instalado para que lo ejecutes tú mismo, no el pod de OpenClaw. Un agente inicia cualquiera de los dos. Lo que cuesta un pod está en la página donde pagas por él, en la página del pod de desarrollador y en everpod.ai para un pod de OpenClaw.
Conectar un agente
Un cliente MCP se conecta a https://everpod.ai/mcp a través de HTTP y envía la clave como el encabezado Authorization: Bearer YOUR_KEY. Cada herramienta le dice al agente qué hace y qué enlace darte, para que pueda decirte dónde pagar y dónde abrir tu pod.
Claude Code
claude mcp add --transport http --scope user everpod https://everpod.ai/mcp \
--header "Authorization: Bearer YOUR_KEY"
Codex
export EVERPOD_API_KEY=YOUR_KEY
codex mcp add everpod --url https://everpod.ai/mcp \
--bearer-token-env-var EVERPOD_API_KEY
Codex lee la clave de esa variable de entorno cada vez que se inicia, así que configúrala en el shell donde se ejecuta Codex.
OpenClaw
openclaw mcp set everpod '{"url": "https://everpod.ai/mcp",
"transport": "streamable-http",
"headers": {"Authorization": "Bearer YOUR_KEY"}}'
Un agente de OpenClaw puede ejecutar esto por sí mismo y tiene las herramientas desde su próximo mensaje. O instala la habilidad Everpod desde ClawHub, y el agente se conecta solo, inicia un nuevo agente o un pod de desarrollador para ti, y prepara su propio movimiento a un pod: openclaw skills install @everpod/everpod.
Otro cliente MCP
Dale la dirección y el encabezado. Como entrada JSON, en la forma que toma .mcp.json de Claude Code, con la clave leída de una variable de entorno para que nunca se escriba en un archivo que compartas:
{
"mcpServers": {
"everpod": {
"type": "http",
"url": "https://everpod.ai/mcp",
"headers": { "Authorization": "Bearer ${EVERPOD_API_KEY}" }
}
}
}
Luego pregunta al agente, por ejemplo:
Start an Everpod pod called Otto and tell me where to pay.
Start an Everpod developer pod called atlas, with alex as my username, and tell me where to pay.
Obtener un pod de desarrollador con tu agente
Un agente de codificación en tu propia computadora, como Claude Code o Codex, puede llevarte de cero a un pod de desarrollador en el que hayas iniciado sesión. Necesita una clave y no necesita el servidor MCP: las rutas REST a continuación hacen lo mismo desde un shell. Los pasos que abren la máquina son tuyos.
- Creas una clave en tu cuenta de Everpod y se la das a tu agente.
- Tu agente inicia el pod con el nombre que quieras para la máquina, tu nombre de usuario en ella, cuál de Claude Code, Codex, OpenCode, Pi, Hermes y OpenClaw quieres instalado (Claude Code y Codex, a menos que digas lo contrario) y qué tamaño, S, M o L (la S, a menos que digas lo contrario), y te da el enlace donde pagas.
- Aproximadamente 10 minutos después de que pagues, la máquina está construida y te enviamos un correo electrónico.
- En la página del pod, unes la máquina a tu red de Tailscale, iniciando sesión con la misma cuenta de Tailscale que la laptop o el teléfono desde el que iniciarás sesión, que también necesita Tailscale instalado. Abres el enlace de inicio de sesión allí tú mismo: quien inicia sesión agrega la máquina a su red, por lo que el enlace se muestra solo en esa página, a ti, y una clave nunca lo lleva.
- Apagas la caducidad de la clave de la máquina en la consola de administración de Tailscale. De lo contrario, Tailscale elimina una máquina de tu red después de 180 días por defecto, y después de la transferencia esa red es la única forma de acceso.
- Inicias sesión a través de Tailscale SSH desde ese dispositivo (ssh tu@tu-máquina, sin clave ni contraseña: Tailscale verifica que eres tú, lo que puede significar confirmar en tu navegador); un agente en ese dispositivo puede ejecutarlo por ti. Las reglas predeterminadas de Tailscale te permiten entrar; una red con reglas propias necesita una que te permita SSH a la máquina, y también una máquina etiquetada, que la regla predeterminada no cubre.
- Una vez que hayas unido la máquina a tu red de Tailscale, apagado su caducidad de clave e iniciado sesión, eliminamos el acceso que usamos para configurarla.
- En la máquina, ejecutas claude, codex, opencode o pi, el que elijas, e inicias sesión con tu propia suscripción o clave de API (Pi con /login, escrito una vez que se esté ejecutando); Hermes comienza con hermes setup y OpenClaw con openclaw onboard --install-daemon, cada uno pidiendo tu propia clave de modelo o plan, y ambos son tuyos para ejecutar y actualizar. Elegiste solo lo que viene instalado: la computadora es tuya para administrar, y cualquier agente se instala o se quita después, como en una laptop.
Entre esos pasos, el agente lee el pod: su status dice si está pagado, construido y conectado, y machine dice cuáles de tus pasos están hechos y da el nombre de usuario y el nombre de la máquina en tu red, para que pueda decirte qué queda o iniciar sesión por ti.
Para un agente que acepta habilidades, los mismos pasos son una habilidad, everpod-developer-pod, de github.com/everpod-ai/skills. Claude Code y Codex la instalan con dos comandos; para otro agente, copia su carpeta en la carpeta de habilidades del agente.
# Claude Code
claude plugin marketplace add everpod-ai/skills
claude plugin install everpod-developer-pod@everpod
# Codex
codex plugin marketplace add everpod-ai/skills
codex plugin add everpod-developer-pod@everpod
Llamarlo desde código
Las mismas tres operaciones a través de HTTPS. Cada solicitud lleva la clave como Authorization: Bearer YOUR_KEY, y las solicitudes y respuestas son JSON. Las respuestas de lista son { "pods": [...] }; leer o iniciar un pod responde { "pod": {...} }. Iniciar uno toma { "name": "..." }, el nombre que quieras para el agente del pod, hasta 40 caracteres. Un pod de desarrollador también toma "kind": "developer" y "login", tu nombre de usuario en la máquina, y su nombre es el de la máquina, que también es su nombre en tu red. Puede tomar "agents", qué agentes de codificación vienen instalados, uno o más de "claude" (Claude Code), "codex" (Codex), "opencode" (OpenCode), "pi" (Pi), "hermes" (Hermes) y "openclaw" (OpenClaw, el mismo agente instalado para que su propietario lo ejecute, no el pod de OpenClaw); si se omite, Claude Code y Codex vienen instalados. Y "size": "s", "m" o "l", los tamaños en la página del pod de desarrollador con sus precios; si se omite, la S. Un tamaño se cambia más tarde por ti, desde la configuración del pod, donde el cambio se paga: una clave nunca mueve dinero.
export EVERPOD_API_KEY=YOUR_KEY
curl https://everpod.ai/api/v1/pods \
-H "Authorization: Bearer $EVERPOD_API_KEY"
curl -X POST https://everpod.ai/api/v1/pods \
-H "Authorization: Bearer $EVERPOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Otto"}'
curl -X POST https://everpod.ai/api/v1/pods \
-H "Authorization: Bearer $EVERPOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "atlas", "kind": "developer", "login": "alex"}'
Bibliotecas de cliente
Para JavaScript y Python, una biblioteca de cliente hace las mismas tres llamadas, sin dependencias. Una solicitud rechazada se convierte en un error que lleva el código, el estado y la frase de la API.
npm install @everpod-ai/sdk
pip install everpod-ai
La página de cada una muestra cómo usarla: @everpod-ai/sdk en npm y everpod-ai en PyPI.
Un pod
{
"pod": {
"id": "5f0c1a52-8f1e-4d0b-9a57-3f6f2f7c1e9a",
"name": "Otto",
"kind": "openclaw",
"status": "awaiting_payment",
"created_at": "2026-10-03T09:12:44.512345+00:00",
"url": null,
"pay_url": "https://everpod.ai/create?pod=5f0c1a52-8f1e-4d0b-9a57-3f6f2f7c1e9a",
"plan": null,
"machine": null,
"subscription": null
}
}
id: el id del pod, que leer un pod toma.name: el nombre del agente del pod, o de la máquina de un pod de desarrollador.kind:openclawpara un pod de OpenClaw, odeveloperpara un pod de desarrollador.status: uno de los estados a continuación.created_at: cuándo se inició el pod.pay_url: dónde se paga el pod, por su propietario en un navegador, con su precio. Presente mientras el estado seaawaiting_payment, y nulo después.url: la página del pod en everpod.ai, donde su propietario con sesión iniciada abre el panel de control de un pod de OpenClaw y conecta una aplicación de mensajería, o conecta un pod de desarrollador, y gestiona el plan. Nulo hasta que el pod esté pagado.plan: el plan en el que está el pod,base(dev_s,dev_modev_lpara un pod de desarrollador, según su tamaño) cuando se paga por primera vez. Nulo hasta entonces.machine: nulo para un pod de OpenClaw. Para un pod de desarrollador, su tamaño (size, con suvcpu,ram_gbydisk_gb), tu nombre de usuario en él (login), los agentes de codificación que vienen instalados (agents, como elegiste al iniciarlo; Claude Code y Codex cuando nadie eligió), su nombre en tu red de Tailscale una vez que se haya unido (hostname, nulo hasta entonces), y si su caducidad de clave está apagada (key_expiry_off) y has iniciado sesión (logged_in):"machine": { "size": "s", "vcpu": 4, "ram_gb": 8, "disk_gb": 80, "login": "alex", "agents": ["claude", "codex"], "hostname": "atlas", "key_expiry_off": false, "logged_in": false }subscription: sustatus, cuándo termina el período pagado (current_period_end), y si está configurado para terminar entonces (cancel_at_period_end). Nulo hasta que el pod esté pagado.
Estado del pod
awaiting_payment: nombrado y esperando que su propietario pague en pay_url.building: pagado, y su computadora se está configurando. La configuración suele tomar unos 10 minutos para un pod de desarrollador y unos 15 para un pod de OpenClaw; su página (url) muestra dónde está este, y su propietario recibe un correo electrónico cuando la configuración está hecha.setup_delayed: la configuración se detuvo a mitad de camino por parte de Everpod. Everpod es alertado y lo arreglará, y la configuración continúa desde donde se detuvo. No se necesita nada del propietario, quien recibe un correo electrónico cuando la configuración está hecha.awaiting_connection: un pod de desarrollador que está construido y esperando que su propietario lo conecte. En su página (url), con sesión iniciada, lo unen a su propia red de Tailscale; luego apagan su caducidad de clave en la consola de administración de Tailscale e inician sesión a través de Tailscale SSH. machine dice cuáles de estos están hechos. Everpod luego elimina su propio acceso de configuración, y el pod está listo.ready: un pod de desarrollador está en manos de su propietario: lo alcanzan a través de su red de Tailscale con ssh, como el inicio de sesión y el nombre de host en machine, e inician sesión en los agentes instalados en él (machine.agents). Un pod de OpenClaw está despierto: url es su página en everpod.ai, donde su propietario con sesión iniciada abre el panel de control del agente y conecta una aplicación de mensajería.needs_attention: estaba ejecutándose y tiene un problema. Su página (url) dice qué.stopped: su suscripción terminó. Su página (url) dice qué sucede a continuación.
Cuando se rechaza una solicitud
Un rechazo responde con un código y un mensaje. El mensaje dice qué sucedió y qué hacer a continuación, en palabras que un agente puede transmitirte; a través de MCP, el mismo mensaje llega como el error de la herramienta.
{
"error": {
"code": "not_found",
"message": "No pod with that id on this account."
}
}
unauthorized(401): la solicitud no llevaba clave, o una que no funciona: mal escrita o revocada.rate_limited(429): las solicitudes llegan demasiado rápido. El mensaje indica cuánto tiempo esperar.not_found(404): No hay ningún pod con ese id en esta cuenta.name_required(400): Un pod necesita un nombre: envía un 'name', el nombre que el propietario quiere para su agente, o para la máquina de un pod de desarrollador.kind_unknown(400): El 'kind' de un pod es 'openclaw' o 'developer'. Déjalo fuera para un pod de OpenClaw.login_invalid(400): Un pod de desarrollador necesita un 'login', el nombre de usuario que su propietario tendrá en la máquina: letras minúsculas y números, comenzando con una letra, 31 caracteres como máximo. Algunos nombres que el sistema ya usa, como root y admin, están ocupados.invalid_body(400): El cuerpo de la solicitud debe ser JSON.server_error(500): Algo salió mal en el lado de Everpod. Inténtalo de nuevo en un minuto; support@everpod.ai si sigue ocurriendo.
Preguntas
Cualquier cosa sobre la API: support@everpod.ai. Cómo se protegen tu cuenta y tus claves está en la Descripción general de seguridad. Everpod en su totalidad, ambos tipos de pod y cada guía, en un solo archivo de texto plano: everpod.ai/llms.txt.