Minecraft Modding Mcp について
MCModding-MCP は、Claude などのAIアシスタントに Fabric と NeoForge の Minecraft モッディング文書を提供する MCP サーバーです。モッド開発者を対象とし、インデックス化された文書、コード例、マッピングを検索することで、古い可能性がある LLM の学習知識への依存を減らします。
主な機能
- 01Fabric と NeoForge の文書を検索
- 02モッディングのコード例を取得
- 03Minecraft のクラス、メソッド、フィールドのマッピングを照会
- 04人気モッドの実装例を検索
- 05Minecraft バージョンで結果を絞り込み
- 06コマンドラインからデータベースを管理
活用シーン
- 01カスタムブロックやアイテムの登録方法を調べる
- 02クラッシュログの難読化名を解決する
- 03既存モッドのブロックエンティティ実装を参照する
MCP 対応
本プロジェクトは MCP サーバーであり、文書検索、コード例、マッピング照会、モッドの実装例に関するツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCModding-MCP
🤖 AI を活用した Minecraft Modding ドキュメントサーバー
AI アシスタントが Fabric と NeoForge のドキュメントにリアルタイムでアクセスできるようにします
📖 ドキュメント • 🚀 クイックスタート • 💡 特長 • 🤝 コントリビューション
✨ これは何ですか?
MCModding-MCP は、Claude などの AI アシスタントに、Minecraft の Mod 開発に関する正確で最新の知識を提供する Model Context Protocol(MCP) サーバーです。もう、幻覚や古い API リファレンスに悩まされることはありません!
🎯 主なメリット
|
📊 リアルタイム統計
|
クイックスタート
インストール
# Install globally
npm install -g mcmodding-mcp
AI クライアントの設定
MCP クライアントの設定に追加します(例:Claude Desktop)。
{
"mcpServers": {
"mcmodding": {
"command": "mcmodding-mcp"
}
}
}
🧠 最適化されたシステムプロンプト
最良の結果を得るため、AI のシステムプロンプトまたはカスタム指示に次の内容を追加することをおすすめします。
あなたは
mcmodding-mcpに接続された、Minecraft Modding のエキスパートアシスタントです。Modding API(Fabric/NeoForge)は頻繁に変更されるため、内部知識に頼らないでください。利用可能なツールを必ず使用してください。
- ドキュメントとコードパターンには
search_fabric_docsとget_exampleを使用します- Minecraft の内部情報とメソッドシグネチャには
search_mappingsとget_class_detailsを使用します- 人気の MOD で実績のある実装例には
search_mod_examplesを使用します理論的な説明よりも、動作するコード例を優先してください。Minecraft の内部情報を扱う場合は、正確なパラメーター名と Javadoc を取得するため、マッピングツールを使用してください。ユーザーが Minecraft のバージョンを指定した場合は、取得するすべての情報がそのバージョンと一致することを確認してください。
以上です。AI アシスタントが、Minecraft の Modding に関する包括的なリソースを利用できるようになりました。
データベース管理
組み込みの CLI でドキュメントデータベースを管理できます。
# Run the database manager
npx mcmodding-mcp manage
対話型マネージャーでは、次の操作ができます。
- インストール - まだお持ちでないデータベースをダウンロードします
- 更新 - データベースの更新を確認して適用します
- 再ダウンロード - 削除または破損したデータベースを復元します
利用可能なデータベース
| データベース | 説明 | サイズ |
|---|---|---|
| ドキュメントデータベース | Fabric と NeoForge のコアドキュメント(デフォルトでインストール済み) | ~520 MB |
| Parchment Mappings ✨ NEW | Javadoc を含む Minecraft のクラス/メソッド/フィールドのマッピング | ~180 MB |
| MOD サンプルデータベース | 高品質な Modding のサンプル 1000 件以上 | ~30 MB |
マネージャーにはバージョン情報が表示され、利用可能な更新が強調表示されます。
◉ 📚 Documentation Database [core]
✔ Installed: v0.2.1 → ↻ Update: v0.2.2 [520.3 MB]
Core Fabric & NeoForge documentation - installed by default
○ 🗺️ Parchment Mappings Database ✨ NEW
⚠ Not installed → Available: v0.1.0 [178.5 MB]
Minecraft class/method/field names with parameter names and Javadocs
○ 🧩 Mod Examples Database
⚠ Not installed → Available: v0.1.0 [28.1 MB]
1000+ high-quality modding examples for Fabric & NeoForge
利用可能なツール
MCP サーバーは、次の 3 つのカテゴリーにわたる強力なツールを提供します。
📖 ドキュメントツール
search_fabric_docs
スマートなフィルタリング機能でドキュメントを検索します。
// Example: Find information about item registration
{
query: "how to register custom items",
category: "items", // Optional filter
loader: "fabric", // fabric | neoforge
minecraft_version: "1.21.10" // Optional version filter
}
get_example
あらゆるトピックの動作するコード例を取得します。
// Example: Get block registration code
{
topic: "custom block with block entity",
language: "java",
loader: "fabric"
}
explain_fabric_concept
関連リソースとともに、Modding の概念について詳しい説明を取得します。
// Example: Understand mixins
{
concept: 'mixins';
}
get_minecraft_version
現在の Minecraft のバージョン情報を取得します。
// Get latest version
{
type: 'latest';
}
// Get all indexed versions
{
type: 'all';
}
🗺️ Parchment Mappings ツール ✨ NEW
Parchment Mappings データベースが必要です。npx mcmodding-mcp manage からインストールしてください。
search_mappings
パラメーター名と Javadoc を含む、Minecraft のクラス、メソッド、フィールドのマッピングを検索します。
// Example: Find block-related classes and methods
{
query: "BlockEntity",
type: "class", // class | method | field | all
minecraft_version: "1.21.10",
include_javadoc: true
}
get_class_details
すべてのメソッドとフィールドを含む、Minecraft クラスの包括的な情報を取得します。
// Example: Explore the Block class
{
class_name: "net.minecraft.world.level.block.Block",
include_methods: true,
include_fields: true
}
lookup_obfuscated
難読化された識別子から、難読化解除後の名前を検索します(クラッシュログに便利です)。
// Example: Decode an obfuscated method name
{
obfuscated_name: 'm_46859_';
}
get_method_signature
すべてのパラメーター名と型を含む、メソッドの完全なシグネチャを取得します。
// Example: Get method details
{
class_name: "Block",
method_name: "onPlace"
}
browse_package
Minecraft パッケージ内のクラスを見つけます。
// Example: Browse block package
{
package_name: 'net.minecraft.world.level.block';
}
🧩 MOD サンプルツール
MOD Examples データベースが必要です。npx mcmodding-mcp manage からインストールしてください。
search_mod_examples
Create、Botania、Applied Energistics 2 などの人気 MOD で実績のあるコードを検索します。
// Example: Find block entity implementations
{
query: "block entity tick",
mod: "Create", // Optional: filter by mod
category: "tile-entities",
complexity: "intermediate"
}
get_mod_example
コード全体と解説を含む、特定のサンプルの詳細情報を取得します。
// Example: Get full details for an example
{
id: 42,
include_related: true
}
list_canonical_mods
インデックス化されているすべての MOD と、利用可能なサンプルを確認します。
list_mod_categories
利用可能なサンプルカテゴリー(ブロック、エンティティ、レンダリングなど)を閲覧します。
機能
ハイブリッド検索エンジン
複数の検索戦略を組み合わせ、最適な結果を提供します:
| Strategy | Purpose |
|---|---|
| FTS5 Full-Text | ランキング付きの高速なキーワード照合 |
| Semantic Embeddings | 意味と文脈の理解 |
| Section Search | 関連するドキュメントセクションの検索 |
| Code Search | 特定のコードパターンの検索 |
自動更新
データベースは起動時に更新を自動的に確認します:
- ローカルのバージョンと GitHub のリリースを比較します
- ハッシュ検証を行って新しいバージョンをダウンロードします
- 更新前にバックアップを作成します
- ノンブロッキング方式のため、サーバーはすぐに起動します
ドキュメントソース
現在、以下のインデックスを作成しています:
- wiki.fabricmc.net - Fabric Wiki(226 ページ以上)
- docs.fabricmc.net - Fabric 公式ドキュメント(266 ページ以上)
- docs.neoforged.net - NeoForge ドキュメント(512 ページ以上)
開発者向け
開発環境のセットアップ
# Clone repository
git clone https://github.com/OGMatrix/mcmodding-mcp.git
cd mcmodding-mcp
# Install dependencies
npm install
# Run in development mode
npm run dev
ビルドコマンド
# Development
npm run dev # Watch mode with hot reload
npm run typecheck # TypeScript type checking
npm run lint # ESLint
npm run test # Run tests
npm run format # Prettier formatting
# Production
npm run build # Build TypeScript
npm run build:prod # Build with fresh documentation index
npm run index-docs # Index documentation with embeddings
# Database Management
npx mcmodding-mcp manage # Interactive database installer/updater
プロジェクト構成
mcmodding-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── db-versioning.ts # Auto-update system
│ ├── indexer/
│ │ ├── crawler.ts # Documentation crawler
│ │ ├── chunker.ts # Text chunking
│ │ ├── embeddings.ts # Semantic embeddings
│ │ ├── store.ts # SQLite database
│ │ └── sitemap.ts # Sitemap parsing
│ ├── services/
│ │ ├── search-service.ts # Search logic
│ │ └── concept-service.ts # Concept explanations
│ └── tools/
│ ├── searchDocs.ts # search_fabric_docs handler
│ ├── getExample.ts # get_example handler
│ └── explainConcept.ts # explain_fabric_concept handler
├── scripts/
│ └── index-docs.ts # Documentation indexing script
├── data/
│ ├── mcmodding-docs.db # SQLite database
│ └── db-manifest.json # Version manifest
└── dist/ # Compiled JavaScript
データベーススキーマ
-- Documents: Full documentation pages
CREATE TABLE documents (
id INTEGER PRIMARY KEY,
url TEXT UNIQUE NOT NULL,
title TEXT NOT NULL,
content TEXT NOT NULL,
category TEXT NOT NULL,
loader TEXT NOT NULL, -- fabric | neoforge | shared
minecraft_version TEXT,
hash TEXT NOT NULL -- For change detection
);
-- Chunks: Searchable content units
CREATE TABLE chunks (
id TEXT PRIMARY KEY,
document_id INTEGER NOT NULL,
chunk_type TEXT NOT NULL, -- title | section | code | full
content TEXT NOT NULL,
section_heading TEXT,
code_language TEXT,
word_count INTEGER,
has_code BOOLEAN
);
-- Embeddings: Semantic search vectors
CREATE TABLE embeddings (
chunk_id TEXT PRIMARY KEY,
embedding BLOB NOT NULL, -- 384-dim Float32Array
dimension INTEGER NOT NULL,
model TEXT NOT NULL -- Xenova/all-MiniLM-L6-v2
);
-- FTS5 indexes for fast text search
CREATE VIRTUAL TABLE documents_fts USING fts5(...);
CREATE VIRTUAL TABLE chunks_fts USING fts5(...);
リリースワークフロー
このプロジェクトでは、自動リリースに release-please を使用しています。
ブランチ戦略
| Branch | Purpose |
|---|---|
dev | 開発中 |
prod | 本番リリース |
仕組み
- Conventional Commits を使用して、
devにコミットをプッシュします - Release-please がリリース PR(
dev→prod)を管理します - マージすると、自動リリースが実行されます:npm publish + GitHub リリース + データベースのアップロード
- 変更内容が
devに同期されます
詳細については、RELEASE_WORKFLOW.md をご覧ください。
設定
環境変数
| Variable | Description | Default |
|---|---|---|
DB_PATH | カスタムデータベースパス | ./data/mcmodding-docs.db |
GITHUB_REPO_URL | 更新用のカスタムリポジトリ | 自動検出 |
MCP_DEBUG | デバッグログを有効にする | false |
自動更新を無効にする
更新を手動で管理するには、DB_PATH をカスタムの場所に設定します:
DB_PATH=/path/to/my/database.db mcmodding-mcp
💡 アイデアをお聞かせください!
mcmodding-mcp を積極的に開発しています。ぜひご意見をお寄せください!
アイデアはありますか?
- 機能のリクエスト - どのようなツールがあれば、MOD 制作がもっと簡単になりますか?
- 新しいドキュメントソース - インデックスに追加してほしい、優れた MOD 制作リソースをご存じですか?
- ワークフローの改善 - ご利用の用途に合わせて、ツールをどのように改善できるでしょうか?
バグを見つけましたか?
- 検索結果が正しくない
- ドキュメントが不足している、または古くなっている
- ツールが期待どおりに動作しない
👉 バグを報告する
使用感をお聞かせください
mcmodding-mcp を使って面白いプロジェクトに取り組んでいますか?ぜひお聞かせください!ディスカッションで体験を共有してください。
貢献
コントリビューションを歓迎します!ガイドラインについては、CONTRIBUTING.md をご覧ください。
コントリビューションの簡単な手順
- リポジトリをフォークします
devから機能ブランチを作成します- Conventional Commits に従って変更を加えます
devに PR を送信します
ライセンス
MIT ライセンス - 詳細については LICENSE をご覧ください。
変更履歴
変更とリリースの詳細な履歴については、CHANGELOG.md をご覧ください。
謝辞
- Fabric Documentation - Fabric の公式ドキュメント
- Fabric Wiki - コミュニティ Wiki
- NeoForge Documentation - NeoForge の公式ドキュメント
- ParchmentMC - パラメーター名と Javadoc のマッピング
- Model Context Protocol - MCP 仕様
- Transformers.js - ローカル ML 埋め込み
- better-sqlite3 - 高速な SQLite バインディング
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。