Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-containerd

MCP.Pizza Chef: jokemanfire

mcp-containerd is an MCP server built with the RMCP Rust library to manage Containerd's CRI interfaces. It supports all Containerd operations, including Runtime Service and Image Service interfaces, enabling real-time container management through MCP protocol. Designed for Rust environments, it connects to Containerd via its default Unix socket, facilitating container lifecycle and image management in a structured, model-accessible way.

Use This MCP server To

Manage container lifecycle via MCP protocol Query and list running containers programmatically Control container runtime services remotely Manage container images through MCP interfaces Integrate containerd operations into AI workflows Automate container orchestration tasks Enable real-time container status monitoring Use MCP clients to interact with containerd services

README

MCP Containerd

This is an MCP server implemented using the RMCP (Rust Model Context Protocol) library for operating Containerd's CRI interfaces.

Features

  • Implements an MCP server using the RMCP library
  • Supports all Containerd CRI interface operations
  • Provides Runtime Service interfaces
  • Provides Image Service interfaces

Prerequisites

  • Rust development environment
  • Containerd installed and running
  • Protobuf compilation tools

Building

cargo build --release

Running

cargo run --release

By default, the service will connect to the unix:///run/containerd/containerd.sock endpoint.

Using with simple-chat-client

The simple-chat-client allows you to interact with the MCP Containerd service: simple-chat-client has moved to simple-chat-client

Example interaction:

> please give me a list of containers
AI: Listing containers...
Tool: list_containers
Result: {"containers":[...]}

> please give me a list of images
AI: Here are the images in your containerd:
Tool: list_images
Result: {"images":[...]}

Service Structure

The MCP server includes the following main components:

  • version service: Provides CRI version information
  • runtime service: Provides container and Pod runtime operations
  • image service: Provides container image operations

CRI Interfaces

Runtime Service

  • Create/Stop/Delete Pod Sandbox
  • Create/Start/Stop/Delete containers
  • Query Pod/container status
  • Execute commands in containers

Image Service

  • List images
  • Get image status
  • Pull images
  • Delete images
  • Get image filesystem information

Configuration

Currently using default configuration. Future versions will support customizing connection parameters through configuration files.

License

Apache-2.0

mcp-containerd FAQ

How do I build the mcp-containerd server?
You can build it using Rust's cargo tool with `cargo build --release` after setting up a Rust environment.
What prerequisites are needed to run mcp-containerd?
You need a Rust development environment, Containerd installed and running, and protobuf compilation tools.
How does mcp-containerd connect to Containerd?
By default, it connects to Containerd's Unix socket at `unix:///run/containerd/containerd.sock`.
Can I interact with mcp-containerd using a client?
Yes, the simple-chat-client example allows interaction with mcp-containerd for container management.
What Containerd interfaces does mcp-containerd support?
It supports all Containerd CRI interface operations, including Runtime Service and Image Service interfaces.
Is mcp-containerd limited to any specific platform?
It requires Containerd and a Rust environment, typically running on Linux systems where Containerd is supported.
How can I run the mcp-containerd server?
After building, run it with `cargo run --release` to start the MCP server connected to Containerd.
What is RMCP in the context of mcp-containerd?
RMCP is the Rust implementation of the Model Context Protocol used to build this MCP server.