Minecraft Modding MCP
mcmodding-mcp is a Model Context Protocol (MCP) server that gives AI assistants like Claude direct access to Minecraft modding documentation. Instead of relying on potentially outdated training data, your AI assistant can search real documentation, find code examples, and explain concepts accurately.
mcmodding-mcp
MCP server providing AI assistants with comprehensive, up-to-date Minecraft modding documentation for Fabric and NeoForge.
What is this?
mcmodding-mcp is a Model Context Protocol (MCP) server that gives AI assistants like Claude direct access to Minecraft modding documentation. Instead of relying on potentially outdated training data, your AI assistant can search real documentation, find code examples, and explain concepts accurately.
Key Benefits
- Always Current - Documentation is indexed weekly from official sources
- Accurate Answers - AI responses backed by real documentation, not hallucinations
- Code Examples - Searchable code blocks with proper context
- Semantic Search - Understands what you mean, not just keywords
- Zero Config - Works immediately after installation
Quick Start
Installation
# Install globally
npm install -g mcmodding-mcp
Configure Your AI Client
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"mcmodding": {
"command": "mcmodding-mcp"
}
}
}
That's it! Your AI assistant now has access to Minecraft modding documentation.
Available Tools
The MCP server provides four powerful tools:
search_fabric_docs
Search documentation with smart filtering.
// Example: Find information about item registration
{
query: "how to register custom items",
category: "items", // Optional filter
loader: "fabric", // fabric | neoforge
minecraft_version: "1.21.4" // Optional version filter
}
get_example
Get working code examples for any topic.
// Example: Get block registration code
{
topic: "custom block with block entity",
language: "java",
loader: "fabric"
}
explain_fabric_concept
Get detailed explanations of modding concepts with related resources.
// Example: Understand mixins
{
concept: "mixins"
}
get_minecraft_version
Get current Minecraft version information.
// Get latest version
{ type: "latest" }
// Get all indexed versions
{ type: "all" }
Features
Hybrid Search Engine
Combines multiple search strategies for best results:
| Strategy | Purpose |
|---|---|
| FTS5 Full-Text | Fast keyword matching with ranking |
| Semantic Embeddings | Understanding meaning and context |
| Section Search | Finding relevant documentation sections |
| Code Search | Locating specific code patterns |
Auto-Updates
The database automatically checks for updates on startup:
- Compares local version with GitHub releases
- Downloads new versions with hash verification
- Creates backups before updating
- Non-blocking - server starts immediately
Documentation Sources
Currently indexes:
- wiki.fabricmc.net - Fabric Wiki (226+ pages)
- docs.fabricmc.net - Official Fabric Docs (266+ pages)
For Developers
Development Setup
# 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
Build Commands
# 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
Project Structure
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
│ └── manifest.json # Version manifest
└── dist/ # Compiled JavaScript
Database Schema
-- 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 Workflow
This project uses release-please for automated releases.
Branch Strategy
| Branch | Purpose |
|---|---|
dev | Active development |
prod | Production releases |
How It Works
- Push commits to
devusing conventional commits - Release-please maintains a Release PR (
dev→prod) - When merged, automatic release: npm publish + GitHub release + database upload
- Changes sync back to
dev
See RELEASE_WORKFLOW.md for complete details.
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
DB_PATH | Custom database path | ./data/mcmodding-docs.db |
GITHUB_REPO_URL | Custom repo for updates | Auto-detected |
MCP_DEBUG | Enable debug logging | false |
Disabling Auto-Updates
Set DB_PATH to a custom location to manage updates manually:
DB_PATH=/path/to/my/database.db mcmodding-mcp
Statistics
Typical index contains:
| Metric | Count |
|---|---|
| Documentation pages | 490+ |
| Searchable sections | 2,000+ |
| Code examples | 500+ |
| Semantic embeddings | 5,000+ |
| Database size | ~50 MB |
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Quick Contribution Guide
- Fork the repository
- Create a feature branch from
dev - Make changes with conventional commits
- Submit a PR to
dev
License
MIT License - see LICENSE for details.
Acknowledgments
- Fabric Documentation - Official Fabric documentation
- Fabric Wiki - Community wiki
- Model Context Protocol - MCP specification
- Transformers.js - Local ML embeddings
- better-sqlite3 - Fast SQLite bindings
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Bitcoin SV MCP Server
A collection of tools for interacting with the Bitcoin SV (BSV) blockchain, including wallet, ordinals, and utility functions.
ABP.IO MCP Server
An MCP server for ABP.IO that enables AI models to interact with your ABP applications and framework.
Supervisord MCP
A tool for managing Supervisord processes, integrated with AI agents via the Model Context Protocol (MCP). It offers standardized process control, real-time monitoring, and robust operations.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
Docker
Run and manage docker containers, docker compose, and logs
MCP Google Apps Script Server
A server for seamless integration with Google Apps Script, enabling automation and extension of Google Workspace applications.
Authless Remote MCP Server
An authentication-free remote MCP server designed for deployment on Cloudflare Workers.
My MCP Server
A remote MCP server example deployable on Cloudflare Workers without authentication.
PyMOL-MCP
Enables conversational structural biology, molecular visualization, and analysis in PyMOL through natural language.
Adaptive Graph of Thoughts
An intelligent scientific reasoning framework that uses graph structures and Neo4j to perform advanced reasoning via the Model Context Protocol (MCP).