Skip to main content
Glama
alehayeb

hephaestus-docker-power

by alehayeb

Hephaestus Docker Power

A Kiro Power for setting up and managing Hephaestus using Docker containers.

Overview

This power provides MCP tools and steering guides for:

  • Setting up Hephaestus development environment

  • Managing Docker containers (Qdrant, MCP server)

  • Initializing databases

  • Troubleshooting common issues

  • Production deployment best practices

Related MCP server: MCP Development Environment

Installation

Option 1: Install via Kiro Powers Panel

  1. Open Kiro

  2. Go to Powers panel

  3. Add this repository URL

Option 2: Manual MCP Configuration

Add to your .kiro/settings/mcp.json:

{
  "mcpServers": {
    "hephaestus-setup": {
      "command": "python",
      "args": ["/path/to/hephaestus-docker-power/src/setup_server.py"],
      "env": {
        "HEPHAESTUS_ROOT": "/path/to/Hephaestus",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

Available Tools

Tool

Description

check_prerequisites

Verify Python, tmux, git, docker, node, npm are installed

check_services

Check Docker daemon, Qdrant, MCP server status

start_qdrant

Start Qdrant vector database container

stop_qdrant

Stop Qdrant container (optionally remove volume)

init_databases

Initialize SQLite and Qdrant databases

validate_env

Check .env has required API keys

configure_project

Update hephaestus_config.yaml with project path

health_check

Comprehensive health check of all components

view_logs

View logs from server, monitor, or qdrant

clean_reset

Full reset (requires confirmation)

quick_setup

Complete setup in one command

Quick Start

# Complete setup in one command
quick_setup(project_path="/path/to/your/project")

Or step by step:

check_prerequisites()
validate_env()
start_qdrant()
init_databases()
configure_project("/path/to/project")
health_check()

Steering Files

  • steering/getting-started.md - Full setup walkthrough

  • steering/troubleshooting.md - Common issues and solutions

  • steering/production.md - Production deployment guide

Requirements

  • Python 3.10+

  • Docker

  • fastmcp (pip install fastmcp)

  • pyyaml (pip install pyyaml)

Environment Variables

  • HEPHAESTUS_ROOT - Path to Hephaestus installation (defaults to current directory)

  • FASTMCP_LOG_LEVEL - Log level for MCP server (default: ERROR)

License

MIT

Available Tools

7 tools
check_prerequisitesB

Check if all required tools are installed for running Hephaestus.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read-only check but does not disclose behavioral details such as what happens if prerequisites are missing, or what the output contains. With no annotations, more transparency is expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at one sentence and front-loads the purpose. However, it could be slightly more informative without adding significant length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a simple tool with no parameters and an output schema, but it lacks details about the scope of 'required tools' and how to interpret results, which could confuse agents in more complex contexts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters in the input schema, so the description need not add parameter details. Baseline score of 4 is appropriate as no further information is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks if required tools are installed for running Hephaestus, distinguishing it from siblings like check_services or health_check which likely check service status or overall health.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided; the description does not indicate when to use this tool versus alternatives, nor does it state prerequisites or scenarios where it should be avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_servicesA

Check the status of Docker daemon, Qdrant, and MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose whether the tool is read-only, idempotent, or requires any prerequisites. Basic behavior is implied but not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. Front-loaded with the verb and subject. Perfectly concise for the information needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an output schema exists, the description is mostly complete. It could mention the expected output type (e.g., status indicators) but is adequate for a simple check tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so schema coverage is 100%. The description adds no parameter info, which is acceptable for a parameterless tool. Baseline score of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Check') and the specific resources: Docker daemon, Qdrant, and MCP server. It distinguishes from sibling tools like 'check_prerequisites' by naming exact services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like 'health_check' or 'check_prerequisites'. The description does not provide context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkB

Perform comprehensive health check of all Hephaestus services.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description fails to disclose behavioral details such as side effects or permissions. The term 'health check' suggests a read operation, but this is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that conveys the core purpose with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameter-less tool with an output schema, the description is adequate. It covers the purpose, though it could be more specific about the output or health criteria.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, so baseline is 4. The description adds no parameter info, but schema coverage is 100% as there are no parameters to describe.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Perform comprehensive health check') and the resource ('all Hephaestus services'), but does not distinguish from sibling tools like 'check_prerequisites' and 'check_services', which may have related purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description does not specify prerequisites, when to avoid, or suggest sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_qdrantB

Start the Qdrant vector database container.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose behavioral traits such as whether it pulls images, waits for readiness, or errors if the container is already running. With no annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words, but it could be slightly more informative without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity and presence of an output schema, the description fails to mention return values or side effects. In the context of sibling lifecycle tools, more detail is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description cannot add meaning beyond the schema. Baseline 4 is appropriate as no parameter information is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'Start' and the resource 'Qdrant vector database container', distinguishing it from sibling tools like stop_qdrant and health_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives, such as prerequisites or conditions like 'only if not already running'. Lacks explicit context for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_qdrantC

Stop the Qdrant container.

ParametersJSON Schema
NameRequiredDescriptionDefault
remove_volumeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It fails to disclose side effects (e.g., data loss risk, volume removal behavior) or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (4 words) but at the cost of missing essential details about parameters and usage. It is appropriately sized for a simple tool but under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and a single parameter, the description should at least explain the parameter. It is incomplete because it ignores the 'remove_volume' parameter and offers no usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description does not mention the 'remove_volume' parameter or its effect, leaving the agent to guess its meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Stop') and resource ('the Qdrant container'), distinguishing it from siblings like start_qdrant and health_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when or when not to use the tool, nor alternatives. It simply states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_envA

Validate the .env file has required API keys configured.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully disclose behavior. It states validation occurs but does not detail what keys are checked, error handling, or side effects. The output schema exists but isn't leveraged in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence that captures the tool's purpose without extra wording. It is front-loaded and every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema, the description is minimally complete but lacks details on validation criteria and output format. For a simple tool, this may suffice, but additional context about required keys or failure responses would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is 100%. The description adds no additional parameter meaning, but none is needed. Baseline 4 applies as the description is sufficient for parameter-free tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (validate) and the resource (.env file) along with the purpose (required API keys configured). It distinguishes this tool from siblings like check_prerequisites or health_check, which target broader system state checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description implies it's for environment validation but does not specify prerequisites, or when not to use it (e.g., after env file changes). No explicit alternatives or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

view_logsB

View recent logs from a Hephaestus service (qdrant, server, or monitor).

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNoqdrant
linesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions 'recent logs' but does not disclose behavioral traits such as whether the tool is read-only, how logs are retrieved, or any limitations (e.g., maximum lines). The default parameters (service='qdrant', lines=50) are not mentioned, leaving behavior partially unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no unnecessary words. Key information (action, resource, valid services) is front-loaded and efficiently conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with two parameters and an output schema, the description is adequate in stating the core purpose. However, it omits explanation of the 'lines' parameter and does not outline the output format, which could be provided by the output schema but is not visible here. Overall, it is minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for parameters. The description adds some context by listing the allowed services ('qdrant, server, or monitor'), but it does not explain the 'lines' parameter or its default value. Thus, it provides minimal added meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'View recent logs from a Hephaestus service (qdrant, server, or monitor).' It specifies the action (view), the resource (logs), and the scope (specific services). This effectively distinguishes it from sibling tools which are for checking prerequisites, health checks, or starting/stopping services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing logs but does not explicitly state when to use this tool versus alternatives. It lacks guidance on when not to use it or which sibling tool might be more appropriate for other tasks (e.g., health_check for status).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation4/5

Tools are mostly distinct but check_services and health_check overlap slightly; both check service status but health_check is more comprehensive.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, e.g., check_prerequisites, start_qdrant, view_logs.

Tool Count4/5

7 tools is a reasonable number for managing Docker services, though adding start/stop for other services could be beneficial.

Completeness3/5

Covers prerequisites, service checks, Qdrant lifecycle, env validation, and logs but lacks start/stop for server/monitor and restart operations.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables remote Docker management over SSH via a local MCP server, providing tools to manage containers, images, Compose, and system resources.
    1
    GPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides a Docker-based development environment with Python and Node.js MCP servers, enabling file operations, SQL queries, Redis caching, and debugging for building and testing MCP servers.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables managing a local Minecraft hosting service through MCP, including server creation, start/stop, mod installation, and log retrieval.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alehayeb/hephaestus-docker-power'

If you have feedback or need assistance with the MCP directory API, please join our Discord server