Minecraft MCP Server

by yuniko-software

642 stars
2.4k downloads
Not rated
GitHub Website

About

A Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing AI assistants to build structures, explore the world, and interact with the game environment through natural language instruction

Details

Author
yuniko-software
GitHub stars
642
Downloads
2,364
Categories
Other, AI, Developer Tools

- Movement commands: get-position, move-to, look-at, jump, move-in-direction.
- Flight: fly-to command for direct aerial movement.
- Inventory management: list, find, and equip items.
- Block interaction: place, dig, get info, and find nearby

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Minecraft MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Node.js 20.10.0 or later, run Minecraft and open a singleplayer world to LAN, then configure an MCP‑compatible client (e.g., Claude Desktop) with a claude_desktop_config.json that runs the npx command with host, port, and username arguments. Start the client; the bot will join the game automatically.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "minecraft mcp server": {
            "minecraft": {
                "command": "npx",
                "args": [
                    "-y",
                    "github:yuniko-software/minecraft-mcp-server",
                    "--host",
                    "localhost",
                    "--port",
                    "25565",
                    "--username",
                    "ClaudeBot"
                ]
            }
        }
    }
}

McpServers

{
    "minecraft": {
        "command": "npx",
        "args": [
            "-y",
            "github:yuniko-software/minecraft-mcp-server",
            "--host",
            "localhost",
            "--port",
            "25565",
            "--username",
            "ClaudeBot"
        ]
    }
}

Minecraft MCP Server

<a href="https://github.com/yuniko-software/minecraft-mcp-server/actions">
CI
</a>
<a href="https://github.com/yuniko-software">
Contribution Welcome
</a>
<a href="https://github.com/yuniko-software/minecraft-mcp-server/releases/latest">
Latest Release
</a>

image

___

> [!IMPORTANT]
> Currently supports Minecraft version 1.21.11. Newer versions may not work with this MCP server, but we will add support as soon as possible.

https://github.com/user-attachments/assets/6f17f329-3991-4bc7-badd-7cde9aacb92f

A Minecraft bot powered by large language models and Mineflayer API. This bot uses the Model Context Protocol (MCP) to enable Claude and other supported models to control a Minecraft character.

<a href="https://glama.ai/mcp/servers/@yuniko-software/minecraft-mcp-server">
mcp-minecraft MCP server
</a>

Prerequisites

- Git
- Node.js (>= 20.10.0)
- A running Minecraft game (the setup below was tested with Minecraft 1.21.8 Java Edition included in Microsoft Game Pass)
- An MCP-compatible client. Claude Desktop will be used as an example, but other MCP clients are also supported

Getting started

This bot is designed to be used with Claude Desktop through the Model Context Protocol (MCP).

Run Minecraft

Create a singleplayer world and open it to LAN (ESC -> Open to LAN). Bot will try to connect using port 25565 and hostname localhost. These parameters could be configured in claude_desktop_config.json on a next step.

MCP Configuration

Make sure that Claude Desktop is installed. Open File -> Settings -> Developer -> Edit Config. It should open installation directory. Find file with a name claude_desktop_config.json and insert the following code:

{
  "mcpServers": {
    "minecraft": {
      "command": "npx",
      "args": [
        "-y",
        "github:yuniko-software/minecraft-mcp-server",
        "--host",
        "localhost",
        "--port",
        "25565",
        "--username",
        "ClaudeBot"
      ]
    }
  }
}

Double-check that right --port and --host parameters were used. Make sure to completely reboot the Claude Desktop application (should be closed in OS tray).

Running

Make sure Minecraft game is running and the world is opened to LAN. Then start Claude Desktop application and the bot should join the game.

It could take some time for Claude Desktop to boot the MCP server. The marker that the server has booted successfully:

image

You can give bot any commands through any active Claude Desktop chat. You can also upload images of buildings and ask bot to build them 😁

Don't forget to mention that bot should do something in Minecraft in your prompt. Because saying this is a trigger to run MCP server. It will ask for your permissions.

Using Claude Sonnet could give you some interesting results. The bot-agent would be really smart 🫡

Example usage: shared Claude chat

Available Commands

Once connected to a Minecraft server, Claude can use these commands:

Movement

- get-position - Get the current position of the bot - move-to-position - Move to specific coordinates - look-at - Make the bot look at specific coordinates - jump - Make the bot jump - move-in-direction - Move in a specific direction for a duration

Flight

- fly-to - Make the bot fly directly to specific coordinates

Inventory

- list-inventory - List all items in the bot's inventory - find-item - Find a specific item in inventory - equip-item - Equip a specific item

Block Interaction

- place-block - Place a block at specified coordinates - dig-block - Dig a block at specified coordinates - get-block-info - Get information about a block - find-blocks - Find one or more nearby blocks of a specific type

Furnace

- smelt-item - Smelt items using a furnace-like block

Entity Interaction

- find-entity - Find the nearest entity of a specific type

Communication

- send-chat - Send a chat message in-game - read-chat - Get recent chat messages from players

Game State

- detect-gamemode - Detect the gamemode on game

Contributing

Feel free to submit pull requests or open issues for improvements. All refactoring commits, functional and test contributions, issues and discussion are greatly appreciated!

To get started with contributing, please see CONTRIBUTING.md.

---

⭐ If you find this project useful, please consider giving it a star on GitHub! ⭐

Your support helps make this project more visible to other people who might benefit from it.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.