Back to MCP directory
publicPublicdnsLocal runtime

minecraft-mcp-server

一个由Mineflayer API驱动的Minecraft MCP服务器。它能够实时控制一个Minecraft角色,允许AI助手通过自然语言指令构建结构、探索世界以及与游戏环境进行互动。

article

README

Minecraft MCP Server

⚠️ IMPORTANT COMPATIBILITY WARNING: As of March 25, 2025, Minecraft 1.21.5 was just released. This bot is currently NOT compatible with Minecraft 1.21.5. Please use Minecraft 1.21.4 until we release an update with 1.21.5 support.

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.

mcp-minecraft MCP server

Prerequisites

  • Git
  • Node.js
  • A running Minecraft game (the setup below was tested with Minecraft 1.21.4 Java Edition included in Microsoft Game Pass)
  • Claude Desktop

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 is a hammer icon that appears next to the chat.

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 3.7 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-block - Find the nearest block of a specific type

Entity Interaction

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

Communication

  • send-chat - Send a chat message in-game

Contributing

This application was made in just two days, and the code is really simple and straightforward. All refactoring commits, functional and test contributions, issues and discussion are greatly appreciated!

Feel free to submit pull requests or open issues for improvements. Some areas that could use enhancement:

  • Additional documentation
  • More robust error handling
  • Tests for different components
  • New functionality and commands
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client