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.0.tar.gz (26.4 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.0-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: minecode_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 26.4 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.0.tar.gz
Algorithm Hash digest
SHA256 6c4658efd2945a6677ed71706890924143b4ea2816507a8f4122fc46039344c2
MD5 101967b1a7c54009e873174fcf869c9a
BLAKE2b-256 442fc98a66cb34eaa6c5cd693fe1a1bc71ebe4c3eaa79aaf60ff22ae391a06b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: minecode_mcp-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85f5061fb7bdef1e945132908df6683b956945f0122e48aa008e4bc18901fd32
MD5 deab1f6f2635792d0925db767b97e821
BLAKE2b-256 158bf7caf9113f99a1511bb6201c7f0b94431dca24d1bf0c203565cabbe49a36

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