Steadybit
Interaja com a plataforma Steadybit para executar experimentos de engenharia do caos.
Documentação
Servidor MCP Steadybit
[!WARNING] Obsoleto. Este servidor MCP autônomo não é mais mantido. Use o Servidor MCP Remoto que já está integrado à plataforma Steadybit — ele não requer instalação local, suporta OAuth e cobre consideravelmente mais ferramentas (ambientes, alvos, ações, serviços, design de experimentos, sugestões e análise de execuções). Consulte a documentação para instruções de configuração.
Servidor MCP para Steadybit, permitindo que ferramentas de LLM como Claude interajam com a plataforma Steadybit.
Ferramentas
list-experiment-designs- Listar designs de experimentos
- Entradas obrigatórias:
team(string): A chave da equipe para listar os designs de experimentos
- Retorna: Lista de designs de experimentos com suas chaves e nomes
get_experiment_design- Obter um design de experimento
- Entradas obrigatórias:
experimentKey(string): A chave do experimento a ser obtida
- Retorna: O design do experimento
list_experiment_executions- Listar execuções de experimentos
- Entradas opcionais:
experiment(lista de strings): Filtrar por uma ou mais chaves de experimentoenvironment(lista de strings): Filtrar por um ou mais nomes de ambienteteam(lista de strings): Filtrar por uma ou mais chaves de equipestate(lista de strings): Filtrar por um ou mais estados de resultado, valores possíveis são [CREATED, PREPARED, RUNNING, FAILED, CANCELED, COMPLETED, ERRORED]from(string, data ISO8601): Filtrar pela data de criação a partir deto(string, data ISO8601): Filtrar pela data de criação atépage(número): Número da página solicitada, o padrão é 0pageSize(número): Resultados por página, o padrão é 50, máximo permitido é 100
- Retorna: O design do experimento
get_experiment_execution- Obter uma execução de experimento
- Entradas obrigatórias:
executionId(número): O ID da execução a ser obtido
- Retorna: A execução do experimento
list_actions- Lista de ações atualmente registradas
- Entradas opcionais:
page(número): Número da página solicitada, o padrão é 0pageSize(número): Resultados por página, o padrão é 50, máximo permitido é 100
- Retorna: Lista de ações
list_environments- Obter uma lista de ambientes
- Retorna: Lista de ambientes
list_teams- Obter uma lista de equipes
- Retorna: Lista de equipes
list_experiment_schedules- Obter uma lista de agendamentos de experimentos
- Entradas opcionais:
experiment(lista de strings): Filtrar por uma ou mais chaves de experimentoteam(lista de strings): Filtrar por uma ou mais chaves de equipe
- Retorna: Lista de agendamentos de experimentos
list_experiment_templates- Obter uma lista de modelos de experimentos (nomes e IDs)
get_experiment_template- Obter um modelo de experimento incluindo seu design
- Entradas obrigatórias:
templateId(string): O ID do modelo para criar um experimento a partir dele
create_experiment_from_template- Criar um experimento a partir de um modelo
- Precisa ser habilitado via variável de ambiente, por exemplo
CAPABILITIES_ENABLED_0=CREATE_EXPERIMENT_FROM_TEMPLATE - Entradas obrigatórias:
templateId(string): O ID do modelo para criar um experimento a partir deleenvironment(string): O ambiente a ser usado para o experimentoteam(string): A equipe a ser usada para o experimento
- Entradas opcionais:
placeholders(objeto): Um mapa de chaves de espaço reservado e seus valores.externalId(string): Um ID externo opcional que pode ser usado para atualizar designs de experimentos existentes.
- Retorna: A chave do experimento criado ou uma mensagem de erro se o experimento não puder ser criado
Configuração
Você precisa de uma conta Steadybit e um token de API. Você pode criar um token de API na plataforma Steadybit em
Configurações → Tokens de Acesso à API. Ambos os tipos de token — Admin ou Team — são suportados.
Se você quiser criar experimentos, precisará de um token de equipe para a equipe na qual deseja criar experimentos.
Variáveis de ambiente suportadas
API_TOKEN: O token de API a ser usado para autenticação. Obrigatório.API_URL: A URL da API Steadybit. O padrão éhttps://platform.steadybit.com/api.CAPABILITIES_ENABLED_0,CAPABILITIES_ENABLED_1, ...: Capacidades adicionais a serem habilitadas. Atualmente suportadas:CREATE_EXPERIMENT_FROM_TEMPLATE: Habilita a ferramentacreate_experiment_from_template.
Uso com Claude Desktop
No Claude Desktop, vá para Configurações → Desenvolvedor → Editar e adicione o seguinte JSON, substituindo <your-api-token>
pelo seu token real:
{
"mcpServers": {
"steadybit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"API_TOKEN",
"ghcr.io/steadybit/mcp:latest"
],
"env": {
"API_TOKEN": "<your-api-token>"
}
}
}
}
Desenvolvimento Local
Pré-requisitos
- Java 21+
- Maven 3.9+
- Docker (necessário apenas para o fluxo de imagem Docker)
- Node.js /
npx(usado para executar o inspetor MCP)
O servidor MCP usa transporte STDIO, portanto não há registro de console. A saída do servidor é gravada em
steadybit-mcp.logno diretório onde você inicia o servidor.
Compilar
mvn clean install
O jar resultante está em target/mcp-<version>-SNAPSHOT.jar.
Executar localmente com o inspetor MCP
npx @modelcontextprotocol/inspector \
java -jar target/mcp-1.0.0-SNAPSHOT.jar \
-e API_URL=https://platform.steadybit.com/api \
-e API_TOKEN=<your-api-token>
Os logs são gravados em steadybit-mcp.log no diretório onde você iniciou o inspetor.
Executar no Claude Desktop com seu jar local
Edite a configuração de desenvolvedor do Claude Desktop (Configurações → Desenvolvedor → Editar) para apontar para seu binário Java local e o jar recém-compilado:
{
"mcpServers": {
"steadybit": {
"command": "/path/to/your/java",
"args": [
"-jar",
"/path/to/your/.m2/repository/com/steadybit/mcp/1.0.0-SNAPSHOT/mcp-1.0.0-SNAPSHOT.jar"
],
"env": {
"API_URL": "https://platform.steadybit.com/api",
"API_TOKEN": "<your-api-token>",
"LOGGING_FILE_NAME": "/path/to/Library/Logs/Claude/steadybit-mcp-server.log"
}
}
}
}
- Logs do cliente MCP:
~/Library/Logs/Claude/mcp-server-steadybit.log - Logs do servidor MCP: o caminho configurado via
LOGGING_FILE_NAME(o padrão ésteadybit-mcp.logao lado do lançador)
Executar testes
mvn test
Compilar a imagem Docker
docker build -t steadybit/mcp -f Dockerfile .
Em seguida, crie um config.json e execute o inspetor contra a imagem:
{
"mcpServers": {
"steadybit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"API_TOKEN",
"-e",
"API_URL",
"steadybit/mcp"
],
"env": {
"API_TOKEN": "<your-api-token>",
"API_URL": "https://platform.steadybit.com/api"
}
}
}
}
npx @modelcontextprotocol/inspector --config config.json --server steadybit
Compilar uma imagem nativa
Instale o GraalVM 24.0.1 via sdkman:
sdk install java 24.0.1-graalce
sdk use java 24.0.1-graalce
Em seguida, compile com o perfil native:
mvn -Pnative native:compile
Exemplo de Uso
Exemplos de prompts estão em examples/examples.md.
Licença
MIT — consulte LICENSE para detalhes.