hephaestus-docker-power
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hephaestus-docker-powerrun quick setup for my project at /path/to/project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Open Kiro
Go to Powers panel
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 |
| Verify Python, tmux, git, docker, node, npm are installed |
| Check Docker daemon, Qdrant, MCP server status |
| Start Qdrant vector database container |
| Stop Qdrant container (optionally remove volume) |
| Initialize SQLite and Qdrant databases |
| Check .env has required API keys |
| Update hephaestus_config.yaml with project path |
| Comprehensive health check of all components |
| View logs from server, monitor, or qdrant |
| Full reset (requires confirmation) |
| 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 walkthroughsteering/troubleshooting.md- Common issues and solutionssteering/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 toolscheck_prerequisitesB
Check if all required tools are installed for running Hephaestus.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| remove_volume | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | qdrant | |
| lines | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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
Tools are mostly distinct but check_services and health_check overlap slightly; both check service status but health_check is more comprehensive.
All tool names follow a consistent verb_noun pattern with snake_case, e.g., check_prerequisites, start_qdrant, view_logs.
7 tools is a reasonable number for managing Docker services, though adding start/stop for other services could be beneficial.
Covers prerequisites, service checks, Qdrant lifecycle, env validation, and logs but lacks start/stop for server/monitor and restart operations.
Maintenance
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
Manage CloudPepper servers, Odoo instances, backups, and deployments over MCP.
Create, deploy, and operate MCP servers directly from your GitHub repositories.
327 dev tools via REST API and MCP. Generate Dockerfiles, schemas, K8s, APIs, and more.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables remote Docker management over SSH via a local MCP server, providing tools to manage containers, images, Compose, and system resources.1GPL 3.0
- FlicenseNot gradedqualityDmaintenanceProvides 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.
- FlicenseNot gradedqualityDmaintenanceEnables Docker container management and test execution via MCP tools, supporting image building, container operations, and automated test runs.
- FlicenseNot gradedqualityCmaintenanceEnables managing a local Minecraft hosting service through MCP, including server creation, start/stop, mod installation, and log retrieval.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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