trackmcp
Back to directory
OGMatrix

mcmodding-mcp

View on GitHub

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.

63 stars TypeScriptOthers Updated Aug 31, 2026
mcmcpminecraftmodding

Documentation

โœจ What is this?

MCModding-MCP is a Model Context Protocol (MCP) server that supercharges AI assistants like Claude with real, up-to-date Minecraft modding knowledge. No more hallucinations or outdated API references!

๐ŸŽฏ Key Benefits

FeatureDescription
๐Ÿ“… Always CurrentWeekly-indexed from official sources
โœ… Accurate AnswersReal documentation, not hallucinations
๐Ÿ’ป Code ExamplesSearchable code blocks with context
๐Ÿง  Semantic SearchUnderstands meaning, not just keywords
โšก Zero ConfigWorks immediately after installation

๐Ÿ“Š Live Statistics

DatabaseContent
๐Ÿ“š Docs1,000+ pages, 185K+ chunks
๐Ÿ—บ๏ธ Mappings831K+ methods, 166K+ fields
๐Ÿงฉ Examples1,000+ battle-tested patterns
๐Ÿ” Embeddings185K+ semantic vectors
๐Ÿ“– Javadocs2.3M+ documented parameters

Quick Start

Installation

bash
# Install globally
npm install -g mcmodding-mcp

Configure Your AI Client

Add to your MCP client configuration (e.g., Claude Desktop):

json
{
  "mcpServers": {
    "mcmodding": {
      "command": "mcmodding-mcp"
    }
  }
}

๐Ÿง  Optimized System Prompt

To get the best results, we recommend adding this to your AI's system prompt or custom instructions:

> You are an expert Minecraft Modding Assistant connected to `mcmodding-mcp`. DO NOT rely on your internal knowledge for modding APIs (Fabric/NeoForge) as they change frequently. ALWAYS use the available tools:

>

> - `search_fabric_docs` and `get_example` for documentation and code patterns

> - `search_mappings` and `get_class_details` for Minecraft internals and method signatures

> - `search_mod_examples` for battle-tested implementations from popular mods

>

> Prioritize working code examples over theoretical explanations. When dealing with Minecraft internals, use the mappings tools to get accurate parameter names and Javadocs. If the user specifies a Minecraft version, ensure all retrieved information matches that version.

That's it! Your AI assistant now has access to comprehensive Minecraft modding resources.


Database Management

Manage your documentation databases with the built-in CLI:

bash
# Run the database manager
npx mcmodding-mcp manage

The interactive manager allows you to:

  • Install - Download databases you don't have yet
  • Update - Check for and apply database updates
  • Re-download - Restore deleted or corrupted databases

Available Databases

DatabaseDescriptionSize
Documentation DatabaseCore Fabric & NeoForge documentation (installed by default)~520 MB
Parchment Mappings โœจ NEWMinecraft class/method/field mappings with Javadocs~180 MB
Mod Examples Database1000+ high-quality modding examples~30 MB

The manager shows version information and highlights available updates:

code
โ—‰ ๐Ÿ“š 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

Available Tools

The MCP server provides powerful tools across three categories:

๐Ÿ“– Documentation Tools

`search_fabric_docs`

Search documentation with smart filtering.

typescript
// 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`

Get working code examples for any topic.

typescript
// 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.

typescript
// Example: Understand mixins
{
  concept: 'mixins';
}

`get_minecraft_version`

Get current Minecraft version information.

typescript
// Get latest version
{
  type: 'latest';
}

// Get all indexed versions
{
  type: 'all';
}

๐Ÿ—บ๏ธ Parchment Mappings Tools โœจ NEW

_Requires Parchment Mappings database - install via `npx mcmodding-mcp manage`_

`search_mappings`

Search Minecraft class, method, and field mappings with parameter names and Javadocs.

typescript
// 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`

Get comprehensive information about a Minecraft class including all methods and fields.

typescript
// Example: Explore the Block class
{
  class_name: "net.minecraft.world.level.block.Block",
  include_methods: true,
  include_fields: true
}

`lookup_obfuscated`

Look up deobfuscated names from obfuscated identifiers (useful for crash logs).

typescript
// Example: Decode an obfuscated method name
{
  obfuscated_name: 'm_46859_';
}

`get_method_signature`

Get the full signature of a method including all parameter names and types.

typescript
// Example: Get method details
{
  class_name: "Block",
  method_name: "onPlace"
}

`browse_package`

Discover classes in a Minecraft package.

typescript
// Example: Browse block package
{
  package_name: 'net.minecraft.world.level.block';
}

๐Ÿงฉ Mod Examples Tools

_Requires Mod Examples database - install via `npx mcmodding-mcp manage`_

`search_mod_examples`

Search battle-tested code from popular mods like Create, Botania, and Applied Energistics 2.

typescript
// Example: Find block entity implementations
{
  query: "block entity tick",
  mod: "Create",              // Optional: filter by mod
  category: "tile-entities",
  complexity: "intermediate"
}

`get_mod_example`

Get detailed information about a specific example with full code and explanations.

typescript
// Example: Get full details for an example
{
  id: 42,
  include_related: true
}

`list_canonical_mods`

Discover all indexed mods and their available examples.

`list_mod_categories`

Browse available example categories (blocks, entities, rendering, etc.).


Features

Hybrid Search Engine

Combines multiple search strategies for best results:

StrategyPurpose
FTS5 Full-TextFast keyword matching with ranking
Semantic EmbeddingsUnderstanding meaning and context
Section SearchFinding relevant documentation sections
Code SearchLocating 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:


For Developers

Development Setup

bash
# 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

bash
# 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

Project Structure

code
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

Database Schema

sql
-- 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

BranchPurpose
`dev`Active development
`prod`Production releases

How It Works

1. Push commits to `dev` using conventional commits

2. Release-please maintains a Release PR (`dev` โ†’ `prod`)

3. When merged, automatic release: npm publish + GitHub release + database upload

4. Changes sync back to `dev`

See RELEASE_WORKFLOW.md for complete details.


Configuration

Environment Variables

VariableDescriptionDefault
`DB_PATH`Custom database path`./data/mcmodding-docs.db`
`GITHUB_REPO_URL`Custom repo for updatesAuto-detected
`MCP_DEBUG`Enable debug logging`false`

Disabling Auto-Updates

Set `DB_PATH` to a custom location to manage updates manually:

bash
DB_PATH=/path/to/my/database.db mcmodding-mcp

๐Ÿ’ก Share Your Ideas!

We're actively developing mcmodding-mcp and want to hear from you!

Have an Idea?

  • Feature requests - What tools would make your modding easier?
  • New documentation sources - Know a great modding resource we should index?
  • Workflow improvements - How could the tools work better for your use case?

๐Ÿ‘‰ Open a Feature Request

Found a Bug?

  • Incorrect search results?
  • Missing or outdated documentation?
  • Tool not working as expected?

๐Ÿ‘‰ Report a Bug

Share Your Experience

Using mcmodding-mcp for a cool project? We'd love to hear about it! Share your story in Discussions.


Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Quick Contribution Guide

1. Fork the repository

2. Create a feature branch from `dev`

3. Make changes with conventional commits

4. Submit a PR to `dev`


License

MIT License - see LICENSE for details.

Changelog

See CHANGELOG.md for a detailed history of changes and releases.


Acknowledgments


Frequently asked questions

What is mcmodding-mcp?

mcmodding-mcp is 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.

How do I install mcmodding-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcmodding-mcp open source?

Yes โ€” it is hosted on GitHub at https://github.com/OGMatrix/mcmodding-mcp and has 63 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP