papermc-docs-mcp
PaperMC Docs MCP Server
A Model Context Protocol (MCP) server that provides access to PaperMC documentation and Javadocs.
How It Works
This server has two modes:
1. Cached Documentation — Downloads all pages from docs.papermc.io/llms.txt and caches them as markdown files in ~/papermc-docs-mcp/. Each page stores its HTTP ETag for efficient update detection. Tools and resources in this mode operate entirely on the local cache — no network calls at query time.
2. Live Javadocs — Fetches JavaDoc pages on-the-fly from jd.papermc.io. No caching — always up-to-date. Supports version resolution (auto-redirect to latest, partial version matching).
Resources
Cached Documentation
URI Pattern | Description |
| Direct access to any cached doc page (e.g. |
| Beginner-friendly introduction to PaperMC |
Live Javadocs (no resource — use tools below)
Tools
Cached Documentation Tools
Tool | Description |
| List all documentation projects (paper, adventure, velocity, folia, etc.) |
| List pages, optionally filtered by category |
| Full-text search across all cached pages with ranking and snippets |
| Download all pages to local cache (needed once on first setup) |
| ETag-based per-page update detection across all projects |
Live Javadoc Tools
Tool | Description |
| List all javadoc projects with their latest resolved versions |
| Fetch a class, interface, or package javadoc page (e.g. |
| Search for classes by name across a project's javadocs |
Installation
# Clone and install
git clone https://github.com/SatuSattr/papermc-docs-mcp.git
cd papermc-docs-mcp
npm install
# Optional: download all docs on first run
npm run start:cache
# Start MCP server
npm startMCP Configuration (opencode.json / claude_desktop_config.json)
{
"mcpServers": {
"papermc-docs": {
"command": "npx",
"args": ["tsx", "path/to/papermc-docs-mcp/src/index.ts"]
}
}
}Cache Directory
All cached documentation is stored in ~/papermc-docs-mcp/. The --cache flag or refresh_cache tool fills this directory. Once populated, all cached tools and resources work offline.