Steadybit
Interactúa con la plataforma Steadybit para ejecutar experimentos de ingeniería del caos.
Documentación
Servidor MCP de Steadybit
[!WARNING] Obsoleto. Este servidor MCP independiente ya no se mantiene. Utilice el Servidor MCP remoto integrado en la plataforma Steadybit en su lugar: no requiere instalación local, admite OAuth y cubre considerablemente más herramientas (entornos, objetivos, acciones, servicios, diseño de experimentos, sugerencias y análisis de ejecuciones). Consulte la documentación para las instrucciones de configuración.
Servidor MCP para Steadybit, que permite que herramientas LLM como Claude interactúen con la plataforma Steadybit.
Herramientas
list-experiment-designs- Listar diseños de experimentos
- Entradas requeridas:
team(cadena): La clave del equipo para listar los diseños de experimentos
- Devuelve: Lista de diseños de experimentos con su clave y nombre
get_experiment_design- Obtener un diseño de experimento
- Entradas requeridas:
experimentKey(cadena): La clave del experimento a obtener
- Devuelve: El diseño del experimento
list_experiment_executions- Listar ejecuciones de experimentos
- Entradas opcionales:
experiment(lista de cadenas): Filtrar por una o más claves de experimentoenvironment(lista de cadenas): Filtrar por uno o más nombres de entornoteam(lista de cadenas): Filtrar por una o más claves de equipostate(lista de cadenas): Filtrar por uno o más estados de resultado, los valores posibles son [CREATED, PREPARED, RUNNING, FAILED, CANCELED, COMPLETED, ERRORED]from(cadena, fecha ISO8601): Filtrar por fecha de creación desdeto(cadena, fecha ISO8601): Filtrar por fecha de creación hastapage(número): Número de la página solicitada, el valor predeterminado es 0pageSize(número): Resultados por página, el valor predeterminado es 50, se permite un máximo de 100
- Devuelve: El diseño del experimento
get_experiment_execution- Obtener una ejecución de experimento
- Entradas requeridas:
executionId(número): El id de la ejecución a obtener
- Devuelve: La ejecución del experimento
list_actions- Lista de acciones actualmente registradas
- Entradas opcionales:
page(número): Número de la página solicitada, el valor predeterminado es 0pageSize(número): Resultados por página, el valor predeterminado es 50, se permite un máximo de 100
- Devuelve: Lista de acciones
list_environments- Obtener una lista de entornos
- Devuelve: Lista de entornos
list_teams- Obtener una lista de equipos
- Devuelve: Lista de equipos
list_experiment_schedules- Obtener una lista de programaciones de experimentos
- Entradas opcionales:
experiment(lista de cadenas): Filtrar por una o más claves de experimentoteam(lista de cadenas): Filtrar por una o más claves de equipo
- Devuelve: Lista de programaciones de experimentos
list_experiment_templates- Obtener una lista de plantillas de experimentos (nombre e ids)
get_experiment_template- Obtener una plantilla de experimento incluyendo su diseño
- Entradas requeridas:
templateId(cadena): El id de la plantilla para crear un experimento a partir de ella
create_experiment_from_template- Crear un experimento a partir de una plantilla
- Debe habilitarse mediante una variable de entorno, por ejemplo
CAPABILITIES_ENABLED_0=CREATE_EXPERIMENT_FROM_TEMPLATE - Entradas requeridas:
templateId(cadena): El id de la plantilla para crear un experimento a partir de ellaenvironment(cadena): El entorno a utilizar para el experimentoteam(cadena): El equipo a utilizar para el experimento
- Entradas opcionales:
placeholders(objeto): Un mapa de claves de marcador de posición y sus valores.externalId(cadena): Un id externo opcional que se puede utilizar para actualizar diseños de experimentos existentes.
- Devuelve: La clave del experimento creado o un mensaje de error si el experimento no se pudo crear
Configuración
Necesita una cuenta de Steadybit y un token de API. Puede crear un token de API en la plataforma Steadybit en
Configuración → Tokens de acceso a la API. Ambos tipos de token — Admin o Team — son compatibles.
Si desea crear experimentos, necesita un token de equipo para el equipo en el que desea crear experimentos.
Variables de entorno compatibles
API_TOKEN: El token de API a utilizar para la autenticación. Requerido.API_URL: La URL de la API de Steadybit. El valor predeterminado eshttps://platform.steadybit.com/api.CAPABILITIES_ENABLED_0,CAPABILITIES_ENABLED_1, ...: Capacidades adicionales para habilitar. Actualmente compatibles:CREATE_EXPERIMENT_FROM_TEMPLATE: Habilita la herramientacreate_experiment_from_template.
Uso con Claude Desktop
En Claude Desktop vaya a Configuración → Desarrollador → Editar y agregue el siguiente JSON, reemplazando <your-api-token>
con su token real:
{
"mcpServers": {
"steadybit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"API_TOKEN",
"ghcr.io/steadybit/mcp:latest"
],
"env": {
"API_TOKEN": "<your-api-token>"
}
}
}
}
Desarrollo local
Requisitos previos
- Java 21+
- Maven 3.9+
- Docker (solo requerido para el flujo de imagen Docker)
- Node.js /
npx(se utiliza para ejecutar el inspector MCP)
El servidor MCP utiliza transporte STDIO, por lo que no hay registro en consola. La salida del servidor se escribe en
steadybit-mcp.logen el directorio donde inicia el servidor.
Compilación
mvn clean install
El jar resultante está en target/mcp-<version>-SNAPSHOT.jar.
Ejecutar localmente con el inspector 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>
Los registros se escriben en steadybit-mcp.log en el directorio donde inició el inspector.
Ejecutar en Claude Desktop contra su jar local
Edite la configuración de desarrollador de Claude Desktop (Configuración → Desarrollador → Editar) para apuntar a su binario Java local y al jar recién 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"
}
}
}
}
- Registros del cliente MCP:
~/Library/Logs/Claude/mcp-server-steadybit.log - Registros del servidor MCP: la ruta configurada mediante
LOGGING_FILE_NAME(el valor predeterminado essteadybit-mcp.logjunto al lanzador)
Ejecutar pruebas
mvn test
Compilar la imagen Docker
docker build -t steadybit/mcp -f Dockerfile .
Luego cree un config.json y ejecute el inspector contra la imagen:
{
"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 una imagen nativa
Instale GraalVM 24.0.1 mediante sdkman:
sdk install java 24.0.1-graalce
sdk use java 24.0.1-graalce
Luego compile con el perfil native:
mvn -Pnative native:compile
Ejemplo de uso
Los ejemplos de indicaciones están en examples/examples.md.
Licencia
MIT — consulte LICENSE para más detalles.