Minecraft插件文档服务

一个帮助Minecraft Java插件开发者检查常见依赖项最新文档和版本的工具。

  • by ValentinTarnovsky
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ValentinTarnovsky/MCP-MCP

使用说明

Minecraft插件文档MCP服务器

MCP(模型上下文协议)服务器,帮助Minecraft Java插件开发人员检查最新文档和常见依赖项的版本。

特性

  • 依赖关系文档查找 -获取流行的Minecraft插件依赖项的wiki、javadocs和GitHub链接
  • 项目扫描 -扫描Gradle和Maven项目以提取所有依赖关系
  • 版本检查 -从Maven Central、JitPack、Paper repo等查看最新版本
  • 完整项目分析 -插件工作区综合分析及建议
  • API 参考 -复杂插件(EdTools、SkinsRestorer等)的详细子API文档

支持的依赖关系

依赖关系 存储库 描述
SnLib 本地(.m2) Sn多功能库:yml、菜单、项目、db、papi、lang、全息图、econ等(独立硬依赖)
纸张API 纸张 纸张Minecraft服务器API
Spiget API Spiget Spiget Minecraft服务器API
Bukkit Spigot Bukkit API
LuckPerms Maven Central 权限插件API
Vault JitPack 经济/权限/聊天API(SnLib通过 sn.economy())
HikariCP Maven Central JDBC连接池(SnLib通过 sn.db())
项目-NBT-API CodeMC NBT操作,无NMS(SnLib通过 sn.items())
PacketEvents Maven Central 数据包操作库
DecentHolograms JitPack Hologram插件API(SnLib通过 sn.holograms())
CoreProtect Maven Central 块日志记录API
占位符API 自定义 占位符系统(SnLib通过以下方式覆盖开发钩子 sn.papi())
WorldEdit 自定义 世界编辑API
WorldGuard 自定义 区域保护API
皮肤恢复程序 代码MC 皮肤管理API
EdTools API 手册(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 代码 (.claude/mcp.json):

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

克劳德桌面版 (%APPDATA%\Claude\claude_desktop_config.json):

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

选项2:直接路径

如果你不想使用npm链接:

{
  "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)

退货: Wiki URL、Javadocs、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”而不是“paper-api”)
  3. 使用Maven坐标(例如,“io.papemc.pape:pape-api”)

未找到npx命令

  1. 跑 npm link 在MCP-MCP目录中
  2. 证实 npm list -g minecraft-plugin-docs-mcp

许可证

麻省理工学院

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加您的更改
  4. 提交拉取请求

致谢