🎮 MineCode MCP
用于Minecraft数据包开发的MCP服务器 为Hackaton撰写的关于CMP的文章,由dustt、alpic等赞助。如果你想帮忙,请打星。 请写问题给我解决。
  
MineCode是一个 本地 模型上下文协议(MCP) 为AI助手提供以下功能的服务器 GitHub Copilot 和 克劳德 实时访问Minecraft数据、文档、数据包生成器和您的Minecraft日志。
✨ 特性
- 🔧 19个MCP工具 用于Minecraft开发
- 📚 我的世界Wiki 集成(搜索、页面、类别、命令文档)
- 🐛 莫吉拉 bug跟踪器搜索
- 🔍 Spyglass API (注册表、命令、块状态、mcdoc符号)
- 🎨 错误代码生成器 (战利品表、食谱、worldgen预设)
- 📄 日志读取 --自动检测并读取默认、Prism和TLauncher实例的日志
- 🧠 助理预提示 --可配置的系统提示,以提高人工智能的准确性
______________________________________________________________________
🚀 安装
pip install minecode-mcp______________________________________________________________________
⚙️ 配置
VS代码(GitHub副本)
增添 用户设置 (Ctrl+Shift+P → “MCP:打开用户配置”):
{
"servers": {
"minecode": {
"type": "stdio",
"command": "py",
"args": [
"-m",
"minecode.server"
]
}
},
"inputs": []
}或创建 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"minecode": {
"type": "stdio",
"command": "py",
"args": [
"-m",
"minecode.server"
]
}
},
"inputs": []
}克劳德桌面版
增添 claude_desktop_config.json:
{
"mcpServers": {
"minecode": {
"command": "minecode"
}
}
}| 操作系统 | 配置路径 |
|---|---|
| 窗户 | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
______________________________________________________________________
⚙️ 发展
按照以下步骤设置本地开发环境,运行MCP服务器,并发布版本。
- 开发环境:
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 .- 在本地运行MCP服务器:
- 使用venv Python:
.\venv\Scripts\python.exe -m minecode.server- 或与 py 在Windows上/ python 在其他操作系统上:
python -m minecode.server- 配置VS代码以使用正在运行的服务器(GitHub Copilot MCP):创建
.vscode/mcp.json在工作区中(上面的示例),以便Copilot/其他MCP客户端可以连接到minecode.server.
- 发布工作流程(单脚本):使用提供的
scripts/release.ps1碰撞、构建和发布。
- 发布(推荐):单个PowerShell脚本可以处理碰撞、构建、标记、推送和发布。
先决条件:
- 创建并激活Python虚拟环境并安装 build + twine. - 将您的PyPI API令牌放入 pip_token.txt (单线)或成套 PYPI_API_TOKEN 作为一个环境/秘密。
使用示例(PowerShell):
- 仅构建: .\scripts\release.ps1 - 凹凸补丁、标记、推送和发布: .\scripts\release.ps1 -Bump -Publish - 无凹凸发布: .\scripts\release.ps1 -Publish
剧本更喜欢 venv\Scripts\python.exe 当存在时,将回退到系统 python.
CI:GitHub操作工作流(.github/workflows/publish.yml)发布标签推送;添加 PYPI_API_TOKEN 存储库机密。
- 手动构建和发布(替代):
python -m build
export TWINE_USERNAME=__token__
export TWINE_PASSWORD=
python -m twine upload dist/*- CI:GitHub操作工作流(
.github/workflows/publish.yml)包含在标签推送中发布;添加PYPI_API_TOKEN存储库机密。
🛠️ 可用工具
我的世界Wiki
| 工具 | 说明 |
|---|---|
search_wiki | 搜索wiki页面(支持带片段的全文搜索) |
get_wiki_page | 获取页面摘要和部分列表 |
get_wiki_commands | 列出所有Minecraft命令 |
get_wiki_category | 获取某个类别中的页面 |
get_wiki_page_content | 获取完整的结构化页面内容 |
get_wiki_command_info | 获取详细的命令语法文档 |
Mojira漏洞跟踪器
| 工具 | 说明 |
|---|---|
search_mojira | 搜索bug报告(按项目、状态、解决方案筛选) |
Spyglass API
| 工具 | 说明 |
|---|---|
spyglass_get_versions | 获取所有MC版本的包格式 |
spyglass_get_registries | 获取注册表项(项目、块、实体、生物群落等) |
spyglass_get_block_states | 获取块状态属性和默认值 |
spyglass_get_commands | 获取命令语法树 |
spyglass_get_mcdoc_symbols | 获取NBT/数据结构的vanilla mcdoc类型符号 |
错误代码生成器
| 工具 | 说明 |
|---|---|
misode_get_generators | 列出所有数据包生成器 |
misode_get_presets | 获取发电机的香草预设 |
misode_get_preset_data | 获取预设的完整JSON |
misode_get_loot_tables | 按类别获取战利品表 |
misode_get_recipes | 通过过滤获取食谱 |
misode_list_versions | 列出可用的Misode/Minecraft版本 |
日志
| 工具 | 说明 |
|---|---|
get_logs | 读取Minecraft日志(自动检测默认值、Prism或TLauncher) |
______________________________________________________________________
💡 示例提示
“使用浮动岛屿创建自定义维度”
“红石中继器的阻塞状态是什么?”
“给我看看沙漠神庙箱子的战利品桌”
“在Mojira搜索鞘翅目昆虫”
“execute命令的语法是什么?”
“检查我的Minecraft日志是否有错误”
______________________________________________________________________
📁 项目结构
minecode-mcp/
├── minecode/
│ ├── __init__.py
│ ├── server.py # MCP server with 19 tools
│ ├── config/
│ │ ├── config.json # Central configuration
│ │ └── prompt_config.json
│ ├── preprompts/
│ │ └── assistant_preprompt.txt # AI assistant pre-prompt
│ └── scrappers/
│ ├── minecraftwiki.py
│ ├── mojira.py
│ ├── spyglass.py
│ ├── misode.py
│ └── minecraft_logs.py # Multi-launcher log reader
├── example/
│ └── crystal_dimension/ # Example datapack
├── scripts/
│ └── release.ps1 # Build, bump & publish script
├── pyproject.toml
├── LICENSE
└── readme.md______________________________________________________________________
🌐 数据源
| 来源 | 描述 |
|---|---|
| 我的世界Wiki | 游戏文档 |
| 莫吉拉 | Bug跟踪器 |
| Spyglass MC | 注册表和命令 |
| Misode | 香草预设 |
______________________________________________________________________
🐍 变更日志亮点
- 十、 日志读取 --多发射器支持(默认、Prism、TLauncher),具有自动检测功能
- 十、 更好的Spyglass工具 --mcdoc符号,改进注册表搜索
- 十、 多版本支持 --基于包格式的版本处理
- 十、 助理预提示 --可配置的系统提示,以获得更准确的AI响应
______________________________________________________________________
📄 许可证
MIT许可证-请参阅 许可证
______________________________________________________________________
Made with 💜 for the Minecraft community
