Skip to main content
Glama
nguyentrantung205

local-devops-mcp

README.md
# Local DevOps MCP Server

A Model Context Protocol (MCP) server that provides tools for local DevOps tasks, enabling AI assistants to interact with your local Docker environment, Kubernetes clusters, and system logs.

> [!NOTE]
> This server uses **TOON (Token-Oriented Object Notation)** for tool outputs to optimize token usage for LLMs.

## Features

### 🐳 Docker
Interact with your local Docker daemon:
- `docker_list_containers`: List running or all containers.
- `docker_logs`: Fetch logs from a container (with error highlighting πŸ”΄).
- `docker_restart`: Restart a specific container.
- `docker_inspect`: Inspect container details.

### ☸️ Kubernetes
Interact with your local Kubernetes cluster (uses `~/.kube/config`):
- `k8s_list_pods`: List pods in a namespace.
- `k8s_pod_logs`: Get logs from a pod.
- `k8s_describe_pod`: Get detailed pod information.

### πŸ–₯️ System
Access local system information:
- `system_open_ports`: List open listening ports (requires `lsof`).
- `system_logs`: Read system logs (e.g., `/var/log/system.log`).

## Installation & Usage

### Using `npx` (Recommended)
You can run the server directly without installation:

```bash
npx local-devops-mcp
```

### Configuration for Claude Desktop
To use this server with Claude Desktop, add the following to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "local-devops": {
      "command": "npx",
      "args": ["-y", "local-devops-mcp"]
    }
  }
}
```

### Running from Source
1.  Clone the repository:
    ```bash
    git clone https://github.com/nguyentrantung205/local-devops-mcp.git
    cd local-devops-mcp
    ```
2.  Install dependencies:
    ```bash
    npm install
    ```
3.  Build the project:
    ```bash
    npm run build
    ```
4.  Run the server:
    ```bash
    node build/index.js
    ```

## Prerequisites
- **Node.js**: v18 or higher.
- **Docker**: Docker Desktop or Docker Engine must be running locally.
- **Kubernetes**: `kubectl` configured with a valid `~/.kube/config` (optional, only for K8s tools).
- **Permissions**: The user running the server needs permissions to access the Docker socket and read system logs.

## Testing
See [TESTING.md](./TESTING.md) for instructions on how to test the server locally.

## License
ISC

TDQS

D1.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct prefix (docker or k8s) and action (logs, inspect, list_pods, pod_logs), making them clearly distinguishable even without descriptions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., docker_logs, k8s_list_pods), and the prefix consistently indicates the subsystem.

Tool Count3/5

With only 4 tools for a broad domain like local devops, the set feels too sparse to cover common operations, though each tool is distinct.

Completeness2/5

Obvious gaps: Docker only has logs and inspect (no run, stop, etc.) and Kubernetes only has list pods and pod logs (no get, delete, etc.), leaving agents unable to complete basic workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues