MCP Server for Minecraft datapack development with wiki, Spyglass, Misode, and Mojira integrations
Project description
๐ฎ MineCode MCP
MCP Server for Minecraft Datapack Development Written for Hackaton about CMP sponsored by dustt, alpic, etc. Please star if you would like to help out. Please write issues for me to fix.
MineCode is a Model Context Protocol (MCP) server that gives AI assistants like GitHub Copilot and Claude real-time access to Minecraft data, documentation, and datapack generators.
โจ Features
- ๐ง 27 MCP Tools for Minecraft development
- ๐ Minecraft Wiki integration (search, pages, categories)
- ๐ Mojira bug tracker search
- ๐ Spyglass API (registries, commands, block states)
- ๐จ Misode Generators (loot tables, recipes, worldgen presets)
๐ Installation
pip install minecode-mcp
โ๏ธ Configuration
VS Code (GitHub Copilot)
Add to User Settings (Ctrl+Shift+P โ "MCP: Open User Configuration"):
{
"servers": {
"minecode": {
"type": "stdio",
"command": "py",
"args": [
"-m",
"minecode.server"
]
}
},
"inputs": []
}
Or create .vscode/mcp.json in your workspace:
{
"servers": {
"minecode": {
"type": "stdio",
"command": "py",
"args": [
"-m",
"minecode.server"
]
}
},
"inputs": []
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"minecode": {
"command": "minecode"
}
}
}
| OS | Config Path |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
โ๏ธ Development
Follow these steps to set up a local development environment, run the MCP server, and publish releases.
-
Development environment:
PowerShell (Windows):
python -m venv venv .\venv\Scripts\Activate.ps1 python -m pip install --upgrade pip build twine python -m pip install -e .
Bash (macOS/Linux):
python -m venv venv source venv/bin/activate python -m pip install --upgrade pip build twine python -m pip install -e .
-
Run the MCP server locally:
- Using the venv Python:
.\venv\Scripts\python.exe -m minecode.server
- Or with
pyon Windows /pythonon other OSes:python -m minecode.server
- Using the venv Python:
-
Configure VS Code to use the running server (GitHub Copilot MCP): create
.vscode/mcp.jsonin the workspace (example above) so Copilot/other MCP clients can connect tominecode.server. -
Release workflow (single-script): use the provided
scripts/release.ps1to bump, build and publish. -
Release (recommended): a single PowerShell script handles bumping, building, tagging, pushing, and publishing.
Prerequisites:
- Create and activate a Python virtualenv and install
build+twine. - Put your PyPI API token in
pip_token.txt(single line) or setPYPI_API_TOKENas an environment/secret.
Usage examples (PowerShell):
- Build only:
.\scripts\release.ps1 - Bump patch, tag, push, and publish:
.\scripts\release.ps1 -Bump -Publish - Publish without bump:
.\scripts\release.ps1 -Publish
The script prefers
venv\Scripts\python.exewhen present and will fall back to the systempython.CI: a GitHub Actions workflow (
.github/workflows/publish.yml) publishes on tag push; addPYPI_API_TOKENto repository secrets. - Create and activate a Python virtualenv and install
-
Manual build & publish (alternative):
python -m build export TWINE_USERNAME=__token__ export TWINE_PASSWORD=<PYPI_API_TOKEN> python -m twine upload dist/*
-
CI: a GitHub Actions workflow (
.github/workflows/publish.yml) is included to publish on tag push; addPYPI_API_TOKENto repository secrets.
๐ ๏ธ Available Tools
Minecraft Wiki
| Tool | Description |
|---|---|
search_wiki |
Search for wiki pages |
get_wiki_page |
Get page content and summary |
get_wiki_commands |
List all Minecraft commands |
get_wiki_category |
Get pages in a category |
get_wiki_page_content |
Get full page content for a wiki page |
get_wiki_command_info |
Get detailed command documentation from the wiki |
get_wiki_random |
Get random wiki pages |
Mojira Bug Tracker
| Tool | Description |
|---|---|
search_mojira |
Search bug reports |
Spyglass API
| Tool | Description |
|---|---|
spyglass_get_versions |
Get all MC versions with pack formats |
spyglass_get_registries |
Get registry entries (items, blocks, entities) |
spyglass_get_block_states |
Get block state properties |
spyglass_get_commands |
Get command syntax trees |
spyglass_get_items |
Get list of items for a version |
spyglass_search_registry |
Search a Spyglass registry for a query |
spyglass_get_mcdoc_symbols |
Get vanilla mcdoc symbols from Spyglass |
Misode Generators
| Tool | Description |
|---|---|
misode_get_generators |
List all datapack generators |
misode_get_presets |
Get vanilla presets for a generator |
misode_get_preset_data |
Get full JSON for a preset |
misode_get_loot_tables |
Get loot tables by category |
misode_get_recipes |
Get recipes with filtering |
misode_list_versions |
List available Misode/Minecraft versions |
misode_get_data |
Get raw Misode data for a version and data type |
misode_search_data |
Search Misode data for a query |
Utility
| Tool | Description |
|---|---|
hello_world |
Test connectivity |
get_minecraft_version |
Get version info |
validate_datapack |
Validate datapack structure |
list_commands |
List commands for a version |
๐ก Example Prompts
"Create a custom dimension with floating islands"
"What are the block states for a redstone repeater?"
"Show me the loot table for a desert temple chest"
"Search Mojira for elytra bugs"
"What's the syntax for the /execute command?"
๐ Project Structure
minecode-mcp/
โโโ minecode/
โ โโโ __init__.py
โ โโโ server.py # MCP server with 27 tools
โ โโโ scrappers/
โ โโโ minecraftwiki.py
โ โโโ mojira.py
โ โโโ spyglass.py
โ โโโ misode.py
โโโ example/
โ โโโ crystal_dimension/ # Example datapack
โโโ pyproject.toml
โโโ LICENSE
โโโ readme.md
๐ Data Sources
| Source | Description |
|---|---|
| Minecraft Wiki | Game documentation |
| Mojira | Bug tracker |
| Spyglass MC | Registries & commands |
| Misode | Vanilla presets |
๐ Plans
-
Getting logs using prism's api for log sharing https://mclo.gs If impossible, perform a search for where minecraft assets are generally located at
-
Better spyglass tools
-
Better multiversion support
-
Pre-prompts to increase agent accuracy
๐ License
MIT License - see LICENSE
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.9.tar.gz.
File metadata
- Download URL: minecode_mcp-0.1.9.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fe68f635e6e55f699206da42b46233f179294d64f7440fc95b96c0e869de3ad
|
|
| MD5 |
663bf71e68ef8dcd4655ae4f36661c98
|
|
| BLAKE2b-256 |
1a217cefa669f0061392f92f775490241f261bd1b941f5593291135beb74c3d7
|
File details
Details for the file minecode_mcp-0.1.9-py3-none-any.whl.
File metadata
- Download URL: minecode_mcp-0.1.9-py3-none-any.whl
- Upload date:
- Size: 30.4 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 |
11290dd9e3b9c923a3b989f107673f3b16ea11bba39b0b882ff04d04e701fa88
|
|
| MD5 |
176267176340a3a5a456d9d3c17e57b1
|
|
| BLAKE2b-256 |
d7909bc709efbd4384cb3efbb8cd244f8d81411ece1a6c8af2f14108cefe0dc9
|