Skip to main content
Glama
praveen-radakirouchenane

local-mcp-with-docker

Local(stdio) MCP Server with Docker

This project is a minimal local MCP server that exposes a run_command tool over stdio.

Setup

cd ~path-to-directory/local-mcp-with-docker
uv sync

Start the script using:

uv run main.py

Note: from MCP 2.0 onward, there will be no output in the console after the server starts. The process stays alive and waits for stdio messages from an MCP client. You can inspect it using the debugger in a new terminal session.

Start the inspector:

npx -y @modelcontextprotocol/inspector

Then in the inspector UI:

  • Transport: stdio

  • Command: uv

  • Args: run, python, main.py

  • Working directory: ~path-to-directory/local-mcp-with-docker

The inspector should show the registered tool run_command and allow you to call it directly.

Build the Docker image

docker build -t terminal_tool_docker .

This creates the local Docker image used by the Claude Desktop MCP config.

Claude Desktop config

Add this to your Claude Desktop MCP config file:

{
  "mcpServers": {
    "local-mcp-with-docker": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e",
        "DOCKER_CONTAINER=true",
        "-e",
        "WORKSPACE_DIR=/root/mcp/workspace",
        "-v",
        "path-to-directory/local-mcp-with-docker:/root/mcp/workspace",
        "terminal_tool_docker"
      ]
    }
  }
}

This mounts your workspace into the container and points the server at the correct working directory inside the container.

Claude screenshot

alt text

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/praveen-radakirouchenane/local-mcp-with-docker'

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