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.
โจ 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.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Model Context Protocol - The protocol that makes this possible
- Spyglass MC - For the comprehensive Minecraft data API
- Misode - For the datapack generators and vanilla presets
- Minecraft Wiki - For the game documentation
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c4658efd2945a6677ed71706890924143b4ea2816507a8f4122fc46039344c2
|
|
| MD5 |
101967b1a7c54009e873174fcf869c9a
|
|
| BLAKE2b-256 |
442fc98a66cb34eaa6c5cd693fe1a1bc71ebe4c3eaa79aaf60ff22ae391a06b8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85f5061fb7bdef1e945132908df6683b956945f0122e48aa008e4bc18901fd32
|
|
| MD5 |
deab1f6f2635792d0925db767b97e821
|
|
| BLAKE2b-256 |
158bf7caf9113f99a1511bb6201c7f0b94431dca24d1bf0c203565cabbe49a36
|