Everpod
Hospedagem gerenciada para agentes de IA de código aberto: veja seus pods e inicie um novo a partir do seu próprio agente.
Servidor MCP hospedado
npx add-mcp 'https://everpod.ai/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
A API Everpod
Em resumo
Everpod é uma maneira fácil de ter seu próprio computador em nuvem, sempre ativo e persistente, para agentes de IA, funcionando em minutos: com um agente OpenClaw gerenciado nele, ou como um pod de desenvolvedor com Claude Code e Codex instalados. A API Everpod é como um agente que você já usa, como Claude Code ou Codex, trabalha com sua conta Everpod por você. Uma chave permite que um agente ou aplicativo em que você confia veja seus pods e inicie um novo para você, que você então paga em everpod.ai. Ela não pode pagar, alterar ou cancelar um plano, excluir nada, abrir o painel de controle do seu agente ou acessar a máquina de um pod de desenvolvedor.
É um servidor MCP em https://everpod.ai/mcp e três rotas REST em https://everpod.ai/api/v1, ambos usados com uma chave que você cria na sua conta.
Criar uma chave
- Abra everpod.ai/account/keys e entre com seu endereço de e-mail e o código que enviamos para você. Se você ainda não tem conta, entrar cria uma.
- Dê um nome à chave com base no que a usará e crie-a.
- Copie a chave. Ela começa com
everpod_.
Mostramos uma chave uma única vez, quando você a cria, e não guardamos cópia dela. Você pode revogar uma chave na sua conta a qualquer momento, e qualquer coisa que a use para de funcionar imediatamente. Uma chave não é uma forma de entrar. Quem tiver uma chave pode usá-la, então mantenha-a em segredo. Dê a cada agente ou aplicativo uma chave própria, para que revogar uma deixe as outras funcionando.
O que uma chave pode fazer
Três operações. Um agente que você conecta tem cada uma como uma ferramenta, com a descrição mostrada aqui, e um script chama cada uma como uma rota.
- Listar pods (
list_pods,GET /api/v1/pods): Lista os pods na conta Everpod do proprietário, do mais antigo ao mais novo. Cada um tem seu tipo, seu status e o link que seu proprietário precisa: pay_url enquanto aguarda pagamento, url (a página do pod em everpod.ai) assim que for pago. - Obter um pod (
get_pod,GET /api/v1/pods/{id}): Lê um pod pelo seu id: seu status e o link que seu proprietário precisa. É assim que se verifica se um pod iniciado foi pago, se está pronto e, para um pod de desenvolvedor, quais das etapas do proprietário para conectá-lo estão concluídas. - Iniciar um pod (
start_pod,POST /api/v1/pods): Inicia um novo pod para o proprietário: um pod OpenClaw, ou com tipo 'developer' um pod de desenvolvedor. Esta chamada não cobra nada: o pod permanece não pago até que seu proprietário abra pay_url no navegador e pague lá. Enquanto a conta tiver um pod não pago, chamar novamente retorna o mesmo pod, alterado para o nome e tipo agora solicitados.
Um pod é de um de dois tipos: um pod OpenClaw, um agente OpenClaw gerenciado em um computador próprio, ou um pod de desenvolvedor, um computador em nuvem que você mesmo executa, com Claude Code e Codex instalados. Um agente inicia qualquer um deles. O custo de um pod está na página onde você paga por ele, em everpod.ai para um pod OpenClaw, e na página do pod de desenvolvedor.
Conectar um agente
Um cliente MCP conecta-se a https://everpod.ai/mcp via HTTP e envia a chave como cabeçalho Authorization: Bearer YOUR_KEY. Cada ferramenta diz ao agente o que ela faz e qual link dar a você, para que ele possa dizer onde pagar e onde abrir seu 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
O Codex lê a chave dessa variável de ambiente toda vez que inicia, então defina-a no shell em que o Codex é executado.
OpenClaw
openclaw mcp set everpod '{"url": "https://everpod.ai/mcp",
"transport": "streamable-http",
"headers": {"Authorization": "Bearer YOUR_KEY"}}'
Um agente OpenClaw pode executar isso sozinho e tem as ferramentas a partir da sua próxima mensagem. Ou instale a habilidade Everpod do ClawHub, e o agente se conecta sozinho, inicia um novo agente ou um pod de desenvolvedor para você, e pode se mover para um pod: openclaw skills install @everpod/everpod.
Outro cliente MCP
Dê a ele o endereço e o cabeçalho. Como uma entrada JSON, na forma que o .mcp.json do Claude Code aceita, com a chave lida de uma variável de ambiente para que nunca seja escrita em um arquivo que você compartilha:
{
"mcpServers": {
"everpod": {
"type": "http",
"url": "https://everpod.ai/mcp",
"headers": { "Authorization": "Bearer ${EVERPOD_API_KEY}" }
}
}
}
Então pergunte ao agente, por exemplo:
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.
Obter um pod de desenvolvedor com seu agente
Um agente de codificação no seu próprio computador, como Claude Code ou Codex, pode levá-lo do nada a um pod de desenvolvedor no qual você está conectado. Ele precisa de uma chave e não precisa do servidor MCP: as rotas REST abaixo fazem o mesmo a partir de um shell. As etapas que abrem a máquina são suas.
- Você cria uma chave na sua conta Everpod e a dá ao seu agente.
- Seu agente inicia o pod com o nome que você quer para a máquina e seu nome de usuário nela, e dá a você o link onde pagar.
- Cerca de 10 minutos depois de pagar, a máquina é construída, e enviamos um e-mail para você.
- Na página do pod, você junta a máquina à sua rede Tailscale. Você abre o link de entrada lá você mesmo: quem entrar adiciona a máquina à sua rede, então o link é mostrado apenas nessa página, para você, e uma chave nunca o carrega.
- Você desliga a expiração de chave da máquina no console administrativo do Tailscale. Caso contrário, o Tailscale remove uma máquina da sua rede após 180 dias, e após a transferência essa rede é o único caminho de acesso.
- Você entra uma vez via SSH de um dispositivo na sua rede Tailscale (ssh você@sua-máquina, sem chave ou senha: o Tailscale verifica que é você, o que pode significar confirmar no seu navegador); um agente nesse dispositivo pode executá-lo para você.
- Depois que a máquina entrar na sua rede, sua expiração de chave estiver desligada e você tiver entrado, removemos nosso próprio acesso de configuração.
- Na máquina, você executa claude ou codex e entra com sua própria assinatura ou chave de API.
Entre essas etapas, o agente lê o pod: seu status diz se está pago, construído e conectado, e machine diz quais das suas etapas estão concluídas e dá o nome de usuário e o nome da máquina na sua rede, para que ele possa dizer o que falta ou entrar para você.
Para um agente que aceita habilidades, as mesmas etapas são uma habilidade, everpod-developer-pod, de github.com/everpod-ai/skills. Claude Code e Codex cada um a instala com dois comandos; para outro agente, copie sua pasta para a pasta de habilidades do 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
Chamar a partir do código
As mesmas três operações via HTTPS. Cada requisição carrega a chave como Authorization: Bearer YOUR_KEY, e requisições e respostas são JSON. A lista responde { "pods": [...] }; ler ou iniciar um pod responde { "pod": {...} }. Iniciar um aceita { "name": "..." }, o nome que você quer para o agente do pod, até 40 caracteres. Um pod de desenvolvedor também aceita "kind": "developer" e "login", seu nome de usuário na máquina, e seu nome é o da máquina, que também é seu nome na sua rede.
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 e Python, uma biblioteca de cliente faz as mesmas três chamadas, sem dependências. Uma requisição recusada se torna um erro carregando o código, status e frase da API.
npm install @everpod-ai/sdk
pip install everpod-ai
A página de cada uma mostra como usá-la: @everpod-ai/sdk no npm e everpod-ai no PyPI.
Um 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: o id do pod, que ler um pod aceita.name: o nome do agente do pod, ou da máquina de um pod de desenvolvedor.kind:openclawpara um pod OpenClaw, oudeveloperpara um pod de desenvolvedor.status: um dos status abaixo.created_at: quando o pod foi iniciado.pay_url: onde o pod é pago, pelo seu proprietário em um navegador, com seu preço. Presente enquanto o status éawaiting_payment, e nulo depois.url: a página do pod em everpod.ai, onde seu proprietário conectado abre o painel de controle de um pod OpenClaw e conecta um aplicativo de mensagens, ou conecta um pod de desenvolvedor, e gerencia o plano. Nulo até o pod ser pago.plan: o plano do pod,base(dev_spara um pod de desenvolvedor) quando é pago pela primeira vez. Nulo até então.machine: nulo para um pod OpenClaw. Para um pod de desenvolvedor, seu tamanho (vcpu,ram_gb,disk_gb), seu nome de usuário nele (login), seu nome na sua rede Tailscale depois que entrar (hostname, nulo até então), e se sua expiração de chave está desligada (key_expiry_off) e você entrou (logged_in):"machine": { "vcpu": 4, "ram_gb": 8, "disk_gb": 80, "login": "alex", "hostname": "atlas", "key_expiry_off": false, "logged_in": false }subscription: seustatus, quando o período pago termina (current_period_end), e se está definido para terminar então (cancel_at_period_end). Nulo até o pod ser pago.
Status do pod
awaiting_payment: nomeado, e aguardando seu proprietário pagar em pay_url.building: pago, e seu computador está sendo configurado. A configuração geralmente leva cerca de 15 minutos para um pod OpenClaw e cerca de 10 para um pod de desenvolvedor; sua página (url) mostra onde este está, e seu proprietário recebe um e-mail quando a configuração termina.setup_delayed: a configuração parou no meio do caminho no lado da Everpod. A Everpod é alertada e corrigirá, e a configuração então continua de onde parou. Nada é necessário do proprietário, que recebe um e-mail quando a configuração termina.awaiting_connection: um pod de desenvolvedor que está construído e aguardando seu proprietário conectá-lo. Em sua página (url), conectado, eles o juntam à sua própria rede Tailscale, desligam sua expiração de chave lá e entram uma vez via SSH; machine diz quais dessas etapas estão concluídas. A Everpod então remove seu próprio acesso de configuração, e o pod está pronto.ready: um pod OpenClaw está ativo: url é sua página em everpod.ai, onde seu proprietário conectado abre o painel de controle do agente e conecta um aplicativo de mensagens. Um pod de desenvolvedor está nas mãos de seu proprietário: eles o acessam pela sua rede Tailscale com ssh, como o login e hostname em machine, e entram no Claude Code e Codex nele.needs_attention: estava em execução e tem um problema. Sua página (url) diz o quê.stopped: sua assinatura terminou. Sua página (url) diz o que acontece a seguir.
Quando uma requisição é recusada
Uma recusa responde com um código e uma mensagem. A mensagem diz o que aconteceu e o que fazer a seguir, em palavras que um agente pode repassar a você; via MCP, a mesma mensagem chega como o erro da ferramenta.
{
"error": {
"code": "not_found",
"message": "No pod with that id on this account."
}
}
unauthorized(401): a requisição não carregava chave, ou uma que não funciona: digitada errada ou revogada.rate_limited(429): requisições estão chegando rápido demais. A mensagem diz quanto tempo esperar.not_found(404): Nenhum pod com esse id nesta conta.name_required(400): Um pod precisa de um nome: envie um 'name', o nome que o proprietário quer para seu agente, ou para a máquina de um pod de desenvolvedor.kind_unknown(400): O 'kind' de um pod é 'openclaw' ou 'developer'. Deixe-o de fora para um pod OpenClaw.login_invalid(400): Um pod de desenvolvedor precisa de um 'login', o nome de usuário que seu proprietário terá na máquina: letras minúsculas e números, começando com uma letra, no máximo 31 caracteres. Alguns nomes que o sistema já usa, como root e admin, estão ocupados.invalid_body(400): O corpo da requisição deve ser JSON.server_error(500): Algo deu errado no lado da Everpod. Tente novamente em um minuto; support@everpod.ai se continuar acontecendo.
Perguntas
Qualquer coisa sobre a API: support@everpod.ai. Como sua conta e suas chaves são protegidas está na Visão geral de segurança. A Everpod como um todo, ambos os tipos de pod e todos os guias, em um único arquivo de texto simples: everpod.ai/llms.txt.