Skip to main content

Containerization - MCP Tool Specification

This document outlines the specification for tools within the Containerization module that are integrated with the Model Context Protocol (MCP). These tools are defined in mcp_tools.py and exposed via the @mcp_tool decorator.


Tool: container_runtime_status​

1. Tool Purpose and Description​

Check the availability of container runtimes (Docker, Kubernetes) and related components (registry, security scanner, optimizer) on the current system.

2. Invocation Name​

codomyrmex.container_runtime_status

3. Input Schema (Parameters)​

No parameters required.

4. Output Schema (Return Value)​

Field NameTypeDescriptionExample Value
statusstring"ok""ok"
runtimesobjectAvailability of each runtimeSee below
runtimes.dockerbooleanDocker manager availabletrue
runtimes.kubernetesbooleanKubernetes integration availablefalse
runtimes.registrybooleanContainer registry availablefalse
runtimes.security_scannerbooleanSecurity scanner availablefalse
runtimes.optimizerbooleanImage optimizer availablefalse

5. Error Handling​

This tool does not raise errors; it always returns runtime availability flags.

6. Idempotency​

  • Idempotent: Yes

Tool: container_build​

1. Tool Purpose and Description​

Build a Docker container image from a Dockerfile path with a specified name and tag.

2. Invocation Name​

codomyrmex.container_build

3. Input Schema (Parameters)​

Parameter NameTypeRequiredDescriptionExample Value
image_namestringYesName for the image"myapp"
dockerfile_pathstringNoPath to Dockerfile directory (default: ".")"./docker"
tagstringNoImage tag (default: "latest")"v1.0"

4. Output Schema (Return Value)​

Field NameTypeDescriptionExample Value
statusstring"ok" or "error""ok"
imagestringFull image name with tag"myapp:v1.0"
resultanyBuild result from DockerManager...

5. Error Handling​

  • Returns {"status": "error", "error": "Docker manager not available"} if Docker is not installed.
  • Returns {"status": "error", "error": "<message>"} on build failures.

6. Idempotency​

  • Idempotent: No. Rebuilds the image each time.

Tool: container_list​

1. Tool Purpose and Description​

List running Docker containers managed by the local Docker daemon.

2. Invocation Name​

codomyrmex.container_list

3. Input Schema (Parameters)​

No parameters required.

4. Output Schema (Return Value)​

Field NameTypeDescriptionExample Value
statusstring"ok" or "error""ok"
containersarrayList of running container objects[...]

5. Error Handling​

  • Returns {"status": "error", "error": "Docker manager not available"} if Docker is not installed.

6. Idempotency​

  • Idempotent: Yes

Tool: container_security_scan​

1. Tool Purpose and Description​

Run a security vulnerability scan on a container image using the built-in ContainerSecurityScanner.

2. Invocation Name​

codomyrmex.container_security_scan

3. Input Schema (Parameters)​

Parameter NameTypeRequiredDescriptionExample Value
imagestringYesContainer image to scan"python:3.11-slim"

4. Output Schema (Return Value)​

Field NameTypeDescriptionExample Value
statusstring"ok" or "error""ok"
imagestringScanned image name"python:3.11-slim"
scan_resultobjectVulnerability scan results{...}

5. Error Handling​

  • Returns {"status": "error", "error": "Security scanner not available"} if scanner is not installed.

6. Idempotency​

  • Idempotent: Yes