Skip to main content

MCP Server for Minecraft datapack development with wiki, Spyglass, Misode, and Mojira integrations

Project description

๐ŸŽฎ MineCode

MCP Server for Minecraft Datapack Development

MineCode is a Model Context Protocol (MCP) server that supercharges AI assistants like GitHub Copilot, Claude, and ChatGPT with Minecraft-specific knowledge and tools. It provides real-time access to Minecraft data, wiki information, bug tracking, and datapack generators.

Python MCP License


โœจ Features

  • 19 MCP Tools for comprehensive Minecraft development
  • Real-time Data from multiple authoritative sources
  • Version-specific information (blocks, items, commands, registries)
  • Datapack Generators access to loot tables, recipes, biomes, dimensions
  • Bug Tracking integration with Mojira
  • Works with VS Code, Claude Desktop, and any MCP-compatible client

๐Ÿš€ Quick Start

Installation

# From PyPI (recommended)
pip install minecode-mcp

# Or from GitHub
pip install git+https://github.com/yourusername/minecode-mcp.git

# Or for development
git clone https://github.com/yourusername/minecode-mcp.git
cd minecode-mcp
pip install -e .

Configuration

VS Code with GitHub Copilot

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "minecode": {
      "type": "stdio",
      "command": "minecode"
    }
  }
}

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "minecode": {
      "command": "minecode"
    }
  }
}

Config file locations:

OS Path
Windows %APPDATA%\Claude\claude_desktop_config.json
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json

Alternative (using Python directly)

{
  "mcpServers": {
    "minecode": {
      "command": "python",
      "args": ["-m", "minecode.server"]
    }
  }
}

๐Ÿ› ๏ธ Available Tools

Basic Tools

Tool Description
hello_world Test connectivity with a hello message
get_minecraft_version Get info about a specific Minecraft version
validate_datapack Validate datapack syntax and structure
list_commands List all Minecraft commands for a version

๐Ÿ“š Minecraft Wiki Tools

Tool Description
search_wiki Search Minecraft Wiki for pages
get_wiki_page Get content and summary of a wiki page
get_wiki_commands Get list of all Minecraft commands from wiki
get_wiki_category Get all pages in a wiki category (Blocks, Items, Mobs, etc.)

๐Ÿ› Mojira Bug Tracker Tools

Tool Description
search_mojira Search for Minecraft bug reports with filters

๐Ÿ” Spyglass API Tools

Tool Description
spyglass_get_versions Get all Minecraft Java Edition versions with pack formats
spyglass_get_registries Get registry entries (items, blocks, entities, biomes, enchantments)
spyglass_get_block_states Get block state properties and default values
spyglass_get_commands Get command syntax tree for any command

๐ŸŽจ Misode Generator Tools

Tool Description
misode_get_generators List all available datapack generators
misode_get_presets Get vanilla presets for any generator type
misode_get_preset_data Get full JSON data for a specific preset
misode_get_loot_tables Get loot tables by category (blocks, chests, entities)
misode_get_recipes Get recipes with type filtering (crafting, smelting, etc.)

๐Ÿ’ก Usage Examples

Ask your AI assistant:

Creating datapacks:

"Create a custom dimension with floating islands and rare ores"

Looking up game data:

"What are all the block states for a redstone repeater in 1.21?"

Finding recipes:

"Show me the crafting recipe for a beacon"

Checking bugs:

"Search Mojira for bugs related to elytra"

Getting command syntax:

"What's the syntax for the /execute command?"


๐Ÿ“ Project Structure

MineCode/
โ”œโ”€โ”€ minecode/                # Main package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ server.py            # MCP server (19 tools)
โ”‚   โ””โ”€โ”€ scrappers/           # Data fetching modules
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ minecraftwiki.py # Minecraft Wiki API client
โ”‚       โ”œโ”€โ”€ mojira.py        # Mojira bug tracker scraper
โ”‚       โ”œโ”€โ”€ spyglass.py      # Spyglass MC API client
โ”‚       โ””โ”€โ”€ misode.py        # Misode mcmeta client
โ”œโ”€โ”€ example/                 # Example datapacks
โ”‚   โ””โ”€โ”€ crystal_dimension/   # Custom dimension example
โ”œโ”€โ”€ server.py                # Standalone server (development)
โ”œโ”€โ”€ client.py                # Test client
โ”œโ”€โ”€ pyproject.toml           # Package configuration
โ”œโ”€โ”€ requirements.txt         # Dependencies
โ”œโ”€โ”€ LICENSE                  # MIT License
โ””โ”€โ”€ .vscode/
    โ””โ”€โ”€ mcp.json             # VS Code MCP configuration

๐ŸŒ Data Sources

Source URL Data Provided
Minecraft Wiki minecraft.wiki Game mechanics, items, mobs, tutorials
Mojira bugs.mojang.com Bug reports, known issues
Spyglass MC api.spyglassmc.com Registries, commands, block states
Misode mcmeta github.com/misode/mcmeta Vanilla presets, generators

๐Ÿ”ง Development

Setup

# Clone the repository
git clone https://github.com/yourusername/minecode-mcp.git
cd minecode-mcp

# Create virtual environment
python -m venv venv
venv\Scripts\activate  # Windows
source venv/bin/activate  # Linux/Mac

# Install dependencies
pip install -r requirements.txt

# Install in editable mode
pip install -e .

Testing

# Test the MCP server with the test client
python client.py

# Test individual scrapers
python -c "from minecode.scrappers import spyglass; print(spyglass.get_versions())"

Building & Publishing

# Install build tools
pip install build twine

# Build the package
python -m build

# Upload to TestPyPI (for testing)
twine upload --repository testpypi dist/*

# Upload to PyPI (production)
twine upload dist/*

๐Ÿ“ฆ Example Datapack

The example/crystal_dimension/ folder contains a complete datapack demonstrating MineCode's capabilities:

  • Custom Dimension: "The Crystal Void" with unique terrain
  • Custom Biome: Purple/cyan themed with special effects
  • Custom Features: Crystal ores, amethyst spikes, decorations
  • 8 Functions: Teleport, boss spawning, item kits, building tools

Functions included:

Function Description
/function crystal:teleport Teleport to The Crystal Void
/function crystal:return Return to the Overworld
/function crystal:give_kit Get Crystal Explorer kit
/function crystal:spawn_boss Summon the Crystal Guardian (500 HP)
/function crystal:build_tower Build a decorative Crystal Tower
/function crystal:help Show all available commands

To use it, copy crystal_dimension/ to your Minecraft world's datapacks/ folder.


๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments


Made with ๐Ÿ’œ for the Minecraft community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minecode_mcp-0.1.1.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minecode_mcp-0.1.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file minecode_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: minecode_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for minecode_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 98cff42aeb8c79f642c00ba12b74f3f2812ae3ff26b376b0dfc3d6f6b08a006c
MD5 910e5d91235612ed5b9736437a14ed73
BLAKE2b-256 62213f2813dfdb5579ac55df8a7e0d4bab8238396a625cdb445dc4af9602ca5e

See more details on using hashes here.

File details

Details for the file minecode_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: minecode_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for minecode_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 55a00ba32e473a360c4bf5a50e94eb53ed6d765f5b5eb1bf98a9c2365ea1065c
MD5 aa3015059d65b06156e334505eae865f
BLAKE2b-256 a725b711203f46249c485374cd63f38e0b2f98da52cd372bad1896e425a6ecf1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page