curseforge mcp服务器
通用MCP服务器,用于完整的CurseForge平台管理。搜索模组、上传文件、管理评论、编辑描述——适用于任何游戏(Minecraft、Hytale、WoW等)。
跨越4个API层的25个工具。零配置模式可用——只需在浏览器中打开CurseForge即可。
需求
- Node.js >= 18
- 铬或铬 -需要Web API工具(注释、设置、描述)。服务器使用您安装的Chrome绕过Cloudflare保护。核心API和CFWidget工具在没有Chrome的情况下工作。
- 带显示器的桌面操作系统 (Windows、macOS、带GUI的Linux)——Chrome以头部模式(最小化窗口)运行。无头服务器(VPS、Docker)需求 xvfb 安装。
注: 服务器启动 单独的Chrome实例 它有自己的配置文件,不会干扰您正在运行的浏览器。如果你只使用核心API工具(搜索、文件、分类),Chrome将永远不会启动。
快速安装
1.设置(交互式向导)
npx -y github:UberMorgott/curseforge-mcp-server --setup向导将:
- 从浏览器中自动提取会话Cookie
- 索取API密钥(打开 console.cursforge.com)--或跳过
- 请求作者令牌(打开 curseforge.com/account/api-tokes)--或跳过
- 显示配置中可用的工具数量
2.添加到您的AI客户端
克劳德代码
claude mcp add curseforge-mcp-server -- npx -y github:UberMorgott/curseforge-mcp-server克劳德桌面
增添 claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"curseforge": {
"command": "npx",
"args": ["-y", "github:UberMorgott/curseforge-mcp-server"],
"env": {
"CURSEFORGE_API_KEY": "your-key",
"CURSEFORGE_AUTHOR_TOKEN": "your-token"
}
}
}
}光标
增添 .cursor/mcp.json 在您的项目或 ~/.cursor/mcp.json 全球地:
{
"mcpServers": {
"curseforge": {
"command": "npx",
"args": ["-y", "github:UberMorgott/curseforge-mcp-server"],
"env": {
"CURSEFORGE_API_KEY": "your-key"
}
}
}
}帆板运动
增添 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"curseforge": {
"command": "npx",
"args": ["-y", "github:UberMorgott/curseforge-mcp-server"],
"env": {
"CURSEFORGE_API_KEY": "your-key"
}
}
}
}手动安装
git clone https://github.com/UberMorgott/curseforge-mcp-server.git
cd curseforge-mcp-server
npm install && npm run build然后将您的MCP客户端指向 node /path/to/curseforge-mcp-server/build/index.js.
访问级别
所有凭据都是可选的。服务器分为三层:
| 级别 | 您需要什么 | 可用工具 |
|---|---|---|
| 零配置 | 浏览器中的CurseForge会话 | 2个CFWidget工具+8个Web API工具(注释、描述、设置) |
| 推荐 | + CURSEFORGE_API_KEY | +12核心API工具(搜索、文件、类别) |
| 满的 | + CURSEFORGE_AUTHOR_TOKEN | +3上传工具(上传文件、管理版本) |
获取凭据
- API密钥:创建时间 console.cursforge.com (免费)
- 作者令牌:从 curseforge.com/account/api-tokes
- 会话Cookie:从浏览器中自动提取,或通过手动设置
cf_set_cookies工具
工具(25)
核心API(12)-需要API密钥
| 工具 | 说明 |
|---|---|
search_mods | 按名称、类别、游戏版本、模组加载器搜索模组 |
get_mod | 按ID获取完整的模组详细信息 |
get_mod_files | 列出带有过滤功能的mod文件 |
get_mod_file | 获取特定文件详细信息 |
get_mod_description | 获取mod描述(HTML或文本) |
get_mod_changelog | 获取文件发布的更新日志 |
get_download_url | 获取直接下载URL |
download_mod | 将mod文件下载到本地目录 |
get_featured_mods | 获得流行/特色/最近更新的模组 |
get_mods_batch | 在一个请求中按ID获取多个模组 |
get_categories | 获取可用的模组类别 |
get_game_versions | 列出游戏或获取游戏详细信息 |
CFWidget(2)——始终可用,无需密钥
| 工具 | 说明 |
|---|---|
get_project | 按ID或路径获取项目信息 |
search_author | 按用户名查找作者,列出他们的项目 |
上载API(3)-需要作者令牌
| 工具 | 说明 |
|---|---|
upload_file | 将mod文件上传到项目 |
get_upload_game_versions | 获取上传表单的版本ID |
get_upload_game_version_types | 获取版本类型类别 |
Web API(8)-需要Chrome+会话Cookie
这些工具使用真正的Chrome浏览器绕过curseforge.com上的Cloudflare保护。Chrome在首次使用时自动启动(最小化窗口),并在会话期间保持运行。
| 工具 | 说明 |
|---|---|
cf_set_cookies | 手动设置会话Cookie |
cf_auto_extract_cookies | 从浏览器自动提取Cookie |
get_comments | 阅读项目的线程评论 |
post_comment | 发表评论或回复 |
delete_comment | 删除评论 |
get_project_settings | 通过Authors API获取项目设置/元数据 |
update_project_description | 更新项目描述(HTML) |
cf_fetch_page | 对任何CurseForge API端点的原始请求 |
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
CURSEFORGE_API_KEY | 没有 | 来自的核心API密钥 console.cursforge.com |
CURSEFORGE_AUTHOR_TOKEN | 否 | 文件上传的作者令牌 |
CURSEFORGE_GAME_SLUG | 否 | 上传API的默认游戏段塞(例如。 hytale, minecraft) |
运作原理
服务器使用四个API层:
- 核心api --通过以下方式获取完整的mod数据
curseforge-apinpm包(直接HTTP) - CFWidget --项目/作者查找,零配置回退(直接HTTP)
- 上传API --通过CurseForge作者端点上传文件(直接HTTP)
- Web API --通过Chrome浏览器进行评论、描述编辑、项目设置
为什么选择Chrome?
CurseForge使用Cloudflare保护来阻止所有自动HTTP请求(包括curl、fetch,甚至TLS指纹匹配请求)。访问Web API的唯一可靠方法是通过真正的浏览器,该浏览器可以解决Cloudflare的JavaScript挑战。
服务器使用 puppeteer-real-browser 以通过Cloudflare检测的方式启动Chrome。Chrome只有在首次调用Web API工具时才启动,并且该会话将重复用于所有后续请求。Cloudflare挑战通常在约1秒内解决。
会话Cookie会通过以下方式从您的浏览器中自动提取 @rookie-rs/api (支持Windows、macOS和Linux上的12个以上浏览器),并注入Chrome实例以进行身份验证请求。
无头服务器(VPS、Docker)
在没有显示器的Linux服务器上,安装xvfb:
# Debian/Ubuntu
sudo apt-get install xvfb
# Arch/CachyOS
sudo pacman -S xorg-server-xvfbpuppeteer-real-browser 如果没有显示器可用,将自动使用xvfb。
发展
git clone https://github.com/UberMorgott/curseforge-mcp-server.git
cd curseforge-mcp-server
npm install
npm run build # compile TypeScript
npm start # run server (stdio)
npm run dev # dev mode with hot reload
npm run setup # interactive setup wizard测试
npx @modelcontextprotocol/inspector node build/index.js许可证
麻省理工学院
