Skip to content

Agentes de IA (MCP)

O goship expõe tudo o que ele faz como ferramentas MCP, o protocolo que o Claude Code, o Claude Desktop, o Cursor e outros agentes usam para operar serviços. Você pede “sobe isso no GoShip” e o agente cria o app, configura as variáveis, faz o deploy, lê os logs e devolve a URL. No claude.ai, o conector do Claude traz as mesmas ferramentas sem instalar nada.

Claude Code

Com o CLI instalado e logado, um comando instala o servidor MCP, uma skill de deploy e o comando /goship:deploy:

/plugin install goship --marketplace coffeece/goship

Depois, no projeto:

/goship:deploy

O agente lê o projeto, relata o que encontrou (plataforma, porta, health check, segredos), faz só as mudanças que o GoShip precisa, escreve o goship.yaml e deploya, no ambiente que você pedir (sem pedido, valem as regras de Ambientes e clusters).

Outros clientes MCP

Qualquer cliente que fale MCP roda goship mcp como servidor stdio:

{
  "mcpServers": {
    "goship": { "command": "goship", "args": ["mcp"] }
  }
}

O servidor usa o login desta máquina (goship login) ou a variável GOSHIP_TOKEN.

Conector do Claude (sem instalar nada)

Para usar o GoShip no claude.ai, no Claude Desktop ou no app do celular, que não rodam um processo local, o GoShip hospeda as mesmas ferramentas em:

https://mcp.goship.sh/mcp

Não há token para copiar: você entra com a sua conta do GoShip.

  1. No Claude, abra Customize › Connectors › Add custom connector e cole o endereço acima.
  2. Clique em Connect, entre com a sua conta do GoShip e autorize o acesso na tela de consentimento.
  3. Numa conversa com o conector ligado, peça o que quiser: “lista meus apps no GoShip”, “quais ambientes eu tenho?”.

No Claude Code, sem instalar a CLI:

claude mcp add --transport http goship https://mcp.goship.sh/mcp

Depois rode /mcp para entrar.

O conector age com as suas permissões, como a CLI: o que você não pode fazer no GoShip, ele também não pode.

Como não há máquina de onde ler configuração, não existe organização, projeto ou ambiente selecionado: as ferramentas usam a única organização e o único projeto que você tem, ou pedem org e project. O ambiente é o que vier em environment; sem ele, vale o ambiente padrão da organização. O goship_deploy publica um diretório da sua máquina, então só funciona com o goship mcp local; todo o resto funciona igual.

Ferramentas

Os nomes seguem os comandos: goship_list_apps, goship_get_app, goship_deploy, goship_logs, goship_set_env, goship_create_database, goship_bind_database, goship_rollback, goship_list_plans, goship_list_projects, goship_list_environments, goship_create_database_server…

  • Leituras são marcadas como somente-leitura.
  • Remoções (goship_delete_*, goship_revoke_api_token) e goship_resize_cluster (derruba os apps do cluster por alguns minutos) são marcadas como destrutivas e pedem ao agente que confirme com você antes.
  • goship login, goship cloud connect e goship shell ficam no terminal: precisam de navegador ou de um TTY.
  • goship_logs nunca segue o log; traz até 1000 linhas por chamada.
  • goship_run roda um comando no app e devolve a saída, com limite de 10 minutos.

Cada ferramenta aceita org para escolher a organização; sem ele, vale a selecionada com goship org use (ou a única a que você pertence). Do mesmo jeito, project escolhe o projeto; sem ele, valem as mesmas regras da CLI (project: do goship.yaml, GOSHIP_PROJECT, goship project use, o único projeto que você alcança). goship_list_projects lista os projetos da organização com o seu papel em cada um. A partir da versão 0.5.0.

Ambientes e clusters

Desde a versão 0.14.0 o agente enxerga os ambientes e os clusters da organização: goship_list_environments, goship_create_environment e goship_delete_environment, e goship_list_clusters, goship_get_cluster, goship_list_cluster_sizes, goship_create_cluster, goship_resize_cluster e goship_delete_cluster. A partir da 0.16.0, goship_enable_environment e goship_disable_environment ativam e desativam um ambiente. Criar, redimensionar e remover clusters e ambientes, e ativar ou desativar um ambiente, é do dono e dos administradores da organização, como na CLI. O desenvolvimento é o ambiente padrão e a homologação nasce desativada: pedir ao agente pra criar algo em homologação só funciona depois que um administrador a ativar (ler o que está lá funciona sempre).

Toda ferramenta que age dentro de um projeto (apps, deploy, logs, bancos, volumes, planos…) aceita environment. O agente escolhe o ambiente, nunca “onde rodar”: “sobe em homologação” vira environment: staging, e qual cluster atende o ambiente já está decidido nele. As ferramentas que escolhiam a máquina de um app e a que movia uma conta de nuvem entre projetos deixaram de existir: o cluster é do ambiente, e as contas de nuvem são da organização.

Sem environment, o servidor local goship mcp usa o ambiente que ele mesmo tem selecionado, nesta ordem:

  1. a flag --environment do servidor;
  2. o environment: do goship.yaml do diretório onde o servidor roda;
  3. a variável GOSHIP_ENVIRONMENT;
  4. o ambiente guardado por goship environment use para aquela organização e projeto.

Só quando nenhum deles está definido vale o ambiente padrão da organização. Quem rodou goship environment use production, sem nada acima definido, tem produção como o ambiente das ferramentas.

Em goship_deploy (e em /goship:deploy) a ordem é: o argumento environment; o environment: do goship.yaml do diretório que está sendo publicado; a seleção do servidor, na ordem acima; e, por fim, o ambiente padrão da organização. Se nenhum projeto for informado, valem o projeto e o ambiente em que o app já existe.

Antes de qualquer ação destrutiva (apagar, remover, redimensionar), peça ao agente que passe environment explicitamente, em vez de deixar a seleção decidir.

Banco no seu Google Cloud

Desde a versão 0.9.0 o agente também cria servidores de banco no seu Google Cloud: goship_list_database_servers, goship_list_database_server_tiers, goship_create_database_server, goship_retry_database_server e goship_delete_database_server (com force para esquecer um servidor inacessível), e goship_create_database aceita server para colocar o banco nele — sem cobrança do GoShip e sem plano (size_limit_mb define um limite de tamanho opcional). Sem server, o banco vai para o servidor padrão do ambiente. Os servidores de banco são da organização, não de um projeto. goship_set_database_size_limit muda ou tira esse limite e goship_set_database_server_disk_limit muda o teto do disco do servidor (0 tira o teto); goship_create_database_server aceita disk_limit_gb. Se um banco ficar somente-leitura por espaço, o agente sobe o limite ou o teto, nunca troca de plano. A skill de deploy sabe o caminho: reaproveita um servidor pronto, cria um se não houver e deixa o banco na fila enquanto o servidor sobe. Extensões ligam e desligam por goship_list_database_extensions, goship_enable_database_extension e goship_disable_database_extension.

Apps privados

Desde a versão 0.12.0 o agente cuida do login na frente de um app: goship_set_app_visibility liga e desliga, goship_list_app_access, goship_add_app_access, goship_reset_app_access e goship_remove_app_access gerenciam as pessoas, e goship_get_app_access_token e goship_rotate_app_access_token cuidam do token de automação. goship_create_app aceita private para o app já nascer privado. As senhas geradas aparecem uma única vez, então o agente as repassa a você na hora; remover alguém encerra a sessão da pessoa.