Skip to main content
Glama

mcc-fleet

An MCP server that manages a fleet of Minecraft Console Client (MCC) instances and lets an MCP client (e.g. Claude) drive each bot individually.

MCC already ships an embedded MCP server, but each mcc process controls only one account. This wrapper:

  1. Spawns/stops multiple mcc processes — each with its own nick, working directory, and MCP HTTP port.

  2. Proxies the in-game tools of each MCC instance, addressed by nick.

Targets offline-mode servers (login by nick, no Microsoft auth) and MCC v26.1.

How it works

Claude -- stdio --> mcc-fleet (this wrapper) -- HTTP /mcp --> mcc (Bot1)
                                             -- HTTP /mcp --> mcc (Bot2)
                                             ...

Each bot's MCC config is rendered from mcc-template.ini into runtime/<nick>/MinecraftClient.ini. MCC's embedded MCP endpoint only comes up after the bot joins the world, so spawn_bot polls it until ready.

Related MCP server: claude-octopus

Tools exposed to the client

Tool

Purpose

spawn_bot(nick, host?, port?, timeout?)

Start a bot, wait until ready, return its tools

list_bots()

Status, MCP port, pid, uptime of all bots

list_bot_tools(nick)

Discover a bot's in-game tools

bot_call(nick, tool, arguments)

Invoke one of a bot's in-game tools

stop_bot(nick) / stop_all()

Disconnect/terminate bot(s)

Dependencies

Dependency

Why

Version

Python

Runs the wrapper

3.12+

uv

Installs Python deps and runs the server

any recent

Minecraft Console Client (mcc)

The bot client each instance wraps

v26.1

mcc is a self-contained native binary (no separate .NET runtime needed) and must be reachable on PATH as mcc, or pointed to via MCC_BINARY (see below).

Installation

  1. Install uv (skip if already installed):

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Install Minecraft Console Client v26.1. Download the build for your platform from the releases page, then make it executable and put it on PATH as mcc:

    chmod +x MinecraftClient
    sudo mv MinecraftClient /usr/local/bin/mcc

    (If you'd rather not move it onto PATH, leave it where it is and set MCC_BINARY to its full path in the next step instead.)

  3. Clone this repo and install Python dependencies:

    git clone https://github.com/italoseara/mcc-fleet.git
    cd mcc-fleet
    uv sync
  4. Configure the target server (defaults: localhost:25565):

    export MCC_SERVER_HOST=play.example.net
    export MCC_SERVER_PORT=25565
    # optional:
    export MCC_BINARY=mcc            # path to the mcc executable, if not on PATH
    export MCC_BASE_MCP_PORT=33334   # first MCP port to allocate
  5. Sanity check — the wrapper should start without errors:

    uv run mcc-wrapper

    It should print a FastMCP startup banner and then sit waiting for MCP messages on stdio; Ctrl+C to exit. This confirms uv sync and the mcc binary are both set up correctly.

Register with Claude Code

claude mcp add mcc-fleet \
  -e MCC_SERVER_HOST=play.example.net -e MCC_SERVER_PORT=25565 \
  -- uv run --directory /path/to/mcc-fleet mcc-wrapper

Then ask Claude to spawn_bot("Bot1"), bot_call("Bot1", ...), etc.

Notes

  • The server must be in offline-mode for nick-only login.

  • On shutdown the wrapper kills all child mcc processes (stop_all).

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/italoseara/mcc-fleet'

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