Skip to main content
Glama

Minecraft MCP Server


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.

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

Related MCP server: ainpcengine

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:

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.

Available Tools

22 tools
can-craftA

Check if the bot can craft a specific item with current inventory

Inputs: itemName (required).

craft-itemC

Craft an item using a crafting recipe

Inputs: outputItem (required), amount.

detect-gamemodeB

Detect the gamemode on game

Inputs: no named parameters.

dig-blockB

Dig a block at the specified position

Inputs: x (required), y (required), z (required).

equip-itemC

Equip a specific item

Inputs: itemName (required), destination.

find-blocksA

Find one or more nearby blocks of a specific type

Inputs: blockType (required), maxDistance, count.

find-entityB

Find the nearest entity of a specific type

Inputs: type, maxDistance.

find-itemB

Find a specific item in the bot's inventory

Inputs: nameOrType (required).

fly-toC

Make the bot fly to a specific position

Inputs: x (required), y (required), z (required).

get-block-infoB

Get information about a block at the specified position

Inputs: x (required), y (required), z (required).

get-positionA

Get the current position of the bot

Inputs: no named parameters.

get-recipeB

Get detailed information about a specific recipe

Inputs: itemName (required).

jumpB

Make the bot jump

Inputs: no named parameters.

list-inventoryA

List all items in the bot's inventory

Inputs: no named parameters.

list-recipesA

List all available crafting recipes the bot can make with current inventory

Inputs: outputItem.

look-atB

Make the bot look at a specific position

Inputs: x (required), y (required), z (required).

move-in-directionB

Move the bot in a specific direction for a duration

Inputs: direction (required), duration.

move-to-positionC

Move the bot to a specific position

Inputs: x (required), y (required), z (required), range, +1 more.

place-blockB

Place a block at the specified position

Inputs: x (required), y (required), z (required), faceDirection.

read-chatB

Get recent chat messages from players

Inputs: count.

send-chatB

Send a chat message in-game

Inputs: message (required).

smelt-itemB

Smelt items using a furnace-like block

Inputs: x (required), y (required), z (required), inputItem (required), +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 22 tools

    Disambiguation5/5

    Each tool targets a distinct action or query, with clear boundaries between checking and performing (e.g., can-craft vs craft-item, list-recipes vs get-recipe). Movement tools are differentiated by mode (fly vs walk).

    Naming Consistency5/5

    All tools follow a consistent verb-noun pattern with hyphens, using imperative verbs like 'dig', 'place', 'find', 'list', 'craft'. No mixing of conventions or vague names.

    Tool Count5/5

    22 tools cover a broad range of Minecraft bot operations without being overwhelming. Each tool serves a distinct purpose, and the count aligns well with the domain's complexity.

    Completeness4/5

    Covers core workflows: movement, block manipulation, inventory management, crafting, smelting, chat, and entity detection. Missing actions like attacking or dropping items are minor gaps that don't severely hinder typical tasks.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that lets Claude control a Minecraft bot with 40+ actions including movement, combat, crafting, and inventory management. Built on Mineflayer, it supports Microsoft authentication, pathfinding, and auto-reconnect.
      3
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      MCP server for creating, managing, and interacting with AI-powered NPCs with persistent memory, supporting dialogue, game events, and persona generation for coding agents.
      52 npm
      1
      -
    • A
      license
      A
      quality
      C
      maintenance
      A local MCP server that lets AI assistants control a Minecraft player on a local Paper server, enabling movement, block breaking/placing, combat, inventory management, chat, and op-level commands like teleport, gamemode, and summoning.
      27
      MIT