Skip to main content
Glama
ValentinTarnovsky

Minecraft Plugin Documentation MCP Server

Minecraft 플러그인 문서 MCP 서버

Minecraft Java 플러그인 개발자가 일반적인 의존성의 최신 문서와 버전을 확인할 수 있도록 돕는 MCP(Model Context Protocol) 서버입니다.

주요 기능

  • 의존성 문서 조회 - 인기 있는 Minecraft 플러그인 의존성에 대한 위키, Javadoc 및 GitHub 링크 제공

  • 프로젝트 스캔 - Gradle 및 Maven 프로젝트를 스캔하여 모든 의존성 추출

  • 버전 확인 - Maven Central, JitPack, Paper 저장소 등에서 최신 버전 확인

  • 전체 프로젝트 분석 - 권장 사항을 포함한 플러그인 워크스페이스에 대한 종합적인 분석

  • API 참조 - 복잡한 플러그인(EdTools, SkinsRestorer 등)에 대한 상세 하위 API 문서

Related MCP server: MCP Discord

지원되는 의존성

의존성

저장소

설명

Paper API

Paper

Paper Minecraft 서버 API

Spigot API

Spigot

Spigot Minecraft 서버 API

Bukkit

Spigot

Bukkit API

LuckPerms

Maven Central

권한 플러그인 API

Vault

JitPack

경제/권한/채팅 API

HikariCP

Maven Central

JDBC 연결 풀

Item-NBT-API

CodeMC

NMS 없는 NBT 조작

PacketEvents

Maven Central

패킷 조작 라이브러리

DecentHolograms

JitPack

홀로그램 플러그인 API

CoreProtect

Maven Central

블록 로깅 API

mc-MenuAPI

JitPack

GUI/메뉴 API

PlaceholderAPI

Custom

플레이스홀더 시스템

WorldEdit

Custom

월드 편집 API

WorldGuard

Custom

지역 보호 API

SkinsRestorer

CodeMC

스킨 관리 API

EdTools API

Manual (JAR)

커스텀 인챈트, 구역, 통화 등

빠른 시작 - 프로젝트에서 사용하기

옵션 1: 전역 설치 (권장)

MCP를 한 번 전역으로 설치한 후 모든 프로젝트에서 사용하세요:

# Clone and setup (one time only)
git clone https://github.com/ValentinTarnovsky/MCP-MCP.git
cd MCP-MCP
npm install
npm run build
npm link

그런 다음 모든 프로젝트에서 MCP 설정에 다음을 추가하세요:

Claude Code (.claude/mcp.json):

{
  "mcpServers": {
    "minecraft-plugin-docs": {
      "command": "npx",
      "args": ["minecraft-plugin-docs-mcp"]
    }
  }
}

Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "minecraft-plugin-docs": {
      "command": "npx",
      "args": ["minecraft-plugin-docs-mcp"]
    }
  }
}

옵션 2: 직접 경로

npm link를 사용하지 않으려면:

{
  "mcpServers": {
    "minecraft-plugin-docs": {
      "command": "node",
      "args": ["C:\\path\\to\\MCP-MCP\\dist\\index.js"]
    }
  }
}

사용 예시

설정이 완료되면 Claude에게 다음과 같이 물어볼 수 있습니다:

의존성 문서 가져오기

"Get documentation for paper-api"
"Look up luckperms docs"
"What's the Maven coordinate for hikaricp?"
"Show me EdTools API reference"
"How do I use SkinsRestorer API?"

프로젝트 스캔

"Scan dependencies in my project"
"What dependencies does this plugin use?"

업데이트 확인

"Check for updates in this project"
"What's the latest version of paper-api?"
"Are my dependencies up to date?"

전체 분석

"Analyze my plugin workspace"
"Full dependency report"

도구 참조

get_dependency_docs

특정 의존성에 대한 문서를 가져옵니다.

매개변수

필수

설명

dependency

예

의존성 이름 (예: "paper-api", "edtools")

fetch_version

아니요

최신 버전을 가져올지 여부 (기본값: true)

반환값: 위키 URL, Javadoc, GitHub, Maven 좌표, 빠른 시작 코드 조각 및 사용 가능한 경우 API 참조.

scan_project_dependencies

프로젝트 디렉터리에서 모든 의존성을 스캔합니다.

매개변수

필수

설명

project_path

예

프로젝트 디렉터리 경로

check_latest_versions

의존성의 최신 버전을 확인합니다.

매개변수

필수

설명

project_path

아니요

현재 버전을 스캔할 경로

dependencies

아니요

확인할 특정 의존성 목록

check_all

아니요

알려진 모든 의존성 확인

analyze_plugin_project

권장 사항을 포함한 종합적인 프로젝트 분석.

매개변수

필수

설명

project_path

아니요

분석할 경로

check_versions

아니요

업데이트 확인 여부 (기본값: true)

커스텀 의존성 추가

src/registry/dependencies.ts를 수정하세요:

표준 Maven 의존성

'my-plugin-api': {
  name: 'My Plugin API',
  description: 'Description here',
  documentation: {
    wiki: 'https://...',
    javadocs: 'https://...',
    github: 'https://github.com/...',
  },
  maven: {
    groupId: 'com.example',
    artifactId: 'my-plugin-api',
    repository: 'maven-central', // or 'jitpack', 'paper', 'codemc', 'custom'
    repositoryUrl: 'https://...', // required for 'custom' repos
  },
  aliases: ['myplugin', 'my-plugin'],
},

수동 JAR 의존성 (Maven 저장소 없음)

'local-plugin-api': {
  name: 'Local Plugin API',
  description: 'A plugin that distributes JAR manually',
  documentation: {
    wiki: 'https://...',
    github: 'https://...',
    downloadUrl: 'https://download-link...', // Where to get the JAR
  },
  maven: {
    groupId: 'com.example',
    artifactId: 'LocalPlugin-API',
    repository: 'manual', // Special type for local JARs
  },
  aliases: ['localplugin'],
  // Optional: Document sub-APIs
  apiReference: {
    mainClass: 'LocalPluginAPI',
    importPackage: 'com.example.api',
    subApis: [
      {
        name: 'FeatureAPI',
        getter: 'getFeatureAPI()',
        description: 'Manage features',
        methods: ['doSomething()', 'getSomething() -> String'],
      },
    ],
  },
},

추가 후 재빌드: npm run build

개발

프로젝트 구조

MCP-MCP/
├── src/
│   ├── index.ts              # Main server entry point
│   ├── registry/
│   │   └── dependencies.ts   # Dependency information registry
│   ├── parsers/
│   │   ├── gradle.ts         # Gradle build file parser
│   │   └── maven.ts          # Maven POM parser
│   ├── tools/
│   │   ├── getDependencyDocs.ts
│   │   ├── scanProjectDependencies.ts
│   │   ├── checkLatestVersions.ts
│   │   └── analyzePluginProject.ts
│   └── utils/
│       ├── cache.ts          # Caching utilities
│       └── versionFetcher.ts # Version fetching from repos
├── dist/                     # Compiled output
├── package.json
├── tsconfig.json
└── README.md

명령어

npm install      # Install dependencies
npm run build    # Compile TypeScript
npm run dev      # Watch mode for development
npm run clean    # Remove dist/
npm link         # Make available globally via npx

테스트

# Run the server manually
node dist/index.js

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

문제 해결

서버가 시작되지 않음

  1. Node.js 18+가 설치되어 있는지 확인: node --version

  2. 빌드가 완료되었는지 확인: npm run build

  3. dist/index.js가 존재하는지 확인

의존성을 찾을 수 없음

  1. 의존성 이름의 철자 확인

  2. 별칭 사용 시도 (예: "paper-api" 대신 "paper")

  3. Maven 좌표 사용 (예: "io.papermc.paper:paper-api")

npx 명령어를 찾을 수 없음

  1. MCP-MCP 디렉터리에서 npm link 실행

  2. npm list -g minecraft-plugin-docs-mcp로 확인

라이선스

MIT

기여

  1. 저장소 포크

  2. 기능 브랜치 생성

  3. 변경 사항 추가

  4. 풀 리퀘스트 제출

감사의 말

Available Tools

4 tools
analyze_plugin_projectB

Perform a comprehensive analysis of a Minecraft plugin project or workspace. Scans all subprojects, extracts dependencies, checks for updates, and provides recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project or workspace directory. Defaults to "C:\Users\tarno\Desktop\OkiMC-Plugins" if not provided.
check_versionsNoWhether to check for latest versions of dependencies (default: true)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions scanning, extracting, checking, and recommending, but lacks details on permissions required, whether it modifies files, rate limits, output format, or error handling. For a tool with potential file system access and analysis operations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the main purpose and lists key actions without redundancy. It could be slightly more structured by separating core functions, but it avoids waste and is appropriately sized for the tool's scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description provides a basic overview but lacks completeness for a tool with file system interaction and analysis outputs. It covers the 'what' but not the 'how' or 'what next', such as result format or error cases, leaving gaps in contextual understanding despite the clear schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond implying 'project_path' is for analysis and 'check_versions' relates to dependency updates, which the schema already covers. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a 'comprehensive analysis' of a Minecraft plugin project, specifying actions like scanning subprojects, extracting dependencies, checking for updates, and providing recommendations. It distinguishes from siblings by covering multiple analysis aspects rather than focusing on specific tasks like version checking or documentation retrieval, though it doesn't explicitly contrast with each sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for analyzing plugin projects with dependency and update concerns, but provides no explicit guidance on when to use this tool versus alternatives like 'check_latest_versions' or 'scan_project_dependencies'. It suggests a broad analysis context without detailing prerequisites, exclusions, or comparative scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_latest_versionsA

Check for the latest versions of Minecraft plugin dependencies. Can check all known dependencies or compare against project's current versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoOptional path to a project directory. If provided, will scan the project and check versions against current dependencies.
dependenciesNoOptional list of specific dependencies to check with their current versions.
check_allNoIf true, checks latest versions for all known Minecraft plugin dependencies (default: false)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool does but lacks details on behavioral traits such as whether it requires network access, how it handles errors, if there are rate limits, or what the output format looks like. This is a significant gap for a tool that likely interacts with external resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and concise, consisting of two sentences that efficiently convey the tool's purpose and usage modes without any wasted words. Every sentence earns its place by providing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of checking dependencies (which may involve external APIs or repositories) and the lack of annotations and output schema, the description is incomplete. It does not cover behavioral aspects like network requirements, error handling, or output structure, leaving gaps that could hinder an AI agent's ability to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions the two modes (checking all or comparing against a project) which aligns with the parameters 'check_all' and 'project_path', but it does not add meaning beyond what the input schema provides. Since schema description coverage is 100%, the baseline score is 3, as the schema already documents all parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('check for the latest versions') and resource ('Minecraft plugin dependencies'), and distinguishes between two modes: checking all known dependencies or comparing against a project's current versions. This specificity helps differentiate it from sibling tools like 'analyze_plugin_project' or 'scan_project_dependencies'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: either to check all known dependencies or to compare against a project's current versions. However, it does not explicitly state when not to use it or name alternatives among sibling tools, which would be needed for a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dependency_docsA

Get documentation URLs, Maven coordinates, and latest version for a Minecraft plugin dependency. Returns wiki, javadocs, GitHub links, and quick-start code snippets.

ParametersJSON Schema
NameRequiredDescriptionDefault
dependencyYesName of the dependency (e.g., "paper-api", "luckperms", "vault", "hikaricp")
fetch_versionNoWhether to fetch the latest version (default: true)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return content (URLs, coordinates, version, links, snippets), which is helpful, but doesn't mention potential limitations like rate limits, authentication needs, error handling, or whether it's a read-only operation. It adds some context but lacks comprehensive behavioral details for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and return values without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is reasonably complete. It explains what the tool does and what it returns, which is sufficient for a read operation. However, without annotations or output schema, it could benefit from more behavioral details like response format or error cases, but it's largely adequate for its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents both parameters ('dependency' and 'fetch_version'). The description doesn't add any parameter-specific details beyond what's in the schema, such as examples of dependency formats or implications of the fetch_version setting. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the specific resources ('documentation URLs, Maven coordinates, and latest version for a Minecraft plugin dependency'), including what information is returned ('wiki, javadocs, GitHub links, and quick-start code snippets'). It distinguishes itself from sibling tools like 'analyze_plugin_project' or 'scan_project_dependencies' by focusing on dependency documentation rather than project analysis or version checking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when documentation for a Minecraft plugin dependency is needed, but it doesn't explicitly state when to use this tool versus alternatives like 'check_latest_versions' (which might focus only on versions) or 'scan_project_dependencies' (which might list dependencies without documentation). There's no guidance on prerequisites or exclusions, leaving usage context somewhat vague.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_project_dependenciesA

Scan a Minecraft plugin project directory and extract all dependencies from build.gradle, build.gradle.kts, and pom.xml files. Returns a structured list of dependencies with version info.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYesPath to the project directory to scan

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It describes the core operation but lacks important behavioral details: whether the scan is recursive, what happens if files are missing or malformed, whether it modifies files, error handling, or performance characteristics. The description doesn't contradict annotations (none exist), but provides minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that efficiently convey purpose and outcome with zero wasted words. The first sentence states what the tool does, the second describes the return value. Perfectly front-loaded and appropriately sized for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no annotations and no output schema, the description adequately covers the basic operation but lacks completeness. It doesn't explain the structure of the returned dependency list, error conditions, or important behavioral constraints. The description compensates somewhat but leaves significant gaps for a tool that performs file system operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the single parameter 'project_path' is fully documented in the schema). The description doesn't add any parameter-specific information beyond what the schema provides, such as path format expectations or validation rules. With high schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('scan', 'extract'), the target resource ('Minecraft plugin project directory'), and the specific files processed ('build.gradle, build.gradle.kts, and pom.xml files'). It distinguishes from siblings by focusing on dependency extraction rather than analysis, version checking, or documentation retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (when you need to extract dependencies from specific build files), but doesn't explicitly state when to use this tool versus alternatives like 'analyze_plugin_project' or 'check_latest_versions'. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.1
    • First observedanalyze_plugin_project
    • First observedcheck_latest_versions
    • First observedget_dependency_docs
    • First observedscan_project_dependencies

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation4/5

The tools have mostly distinct purposes with clear boundaries: analyze_plugin_project focuses on comprehensive project analysis, check_latest_versions handles version checking, get_dependency_docs retrieves documentation, and scan_project_dependencies extracts dependency lists. However, analyze_plugin_project and scan_project_dependencies have some overlap in scanning dependencies, which could cause minor confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case throughout: analyze_plugin_project, check_latest_versions, get_dependency_docs, and scan_project_dependencies. The naming is predictable and readable without any deviations or mixed conventions.

Tool Count4/5

With 4 tools, the count is reasonable for a server focused on Minecraft plugin documentation and dependency management. It covers key areas like analysis, version checking, documentation retrieval, and dependency scanning, though it might feel slightly thin for broader plugin development workflows.

Completeness3/5

The tool set covers core aspects of dependency management and documentation for Minecraft plugins, but there are notable gaps. It lacks tools for creating or updating dependencies, managing plugin configurations, or integrating with development environments, which could limit agent workflows in more complex scenarios.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server designed for developers to build and manage Minestom-based Minecraft servers by inspecting project environments, build configurations, and API documentation. It enables users to plan features, review design patterns, and discover libraries within the Minestom ecosystem.
    9
    6 npm
    6
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for EndstoneMC development, enabling module information queries, code search, plugin template generation, event handling guidance, and development tutorials through natural language.
    2
    MIT