JMComic AI
This MCP server exposes JMComic search, browsing, favorites, download/task, post-processing, and account/configuration tools.
Search and discover albums by keyword, category, ranking, time range, sorting; browse albums; fetch album details, comments, and forum comments.
Manage favorites: list folders, browse favorites, add/delete favorite albums.
Download covers, albums, photos, or batches; plan downloads; start async background downloads; query, cancel, and retry tasks.
Convert downloaded content to ZIP, PDF, or long image via post-processing.
Log in, perform daily check-in, and update runtime/persisted JMComic options.
Useful for natural-language comic search, curation, downloading, format conversion, and account-aware workflows.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JMComic AI search for the top 10 most liked albums this month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🛠️ 开发者注意:如果你想为项目贡献代码,请务必查看 贡献指南,其中包含了开发环境搭建、项目结构说明以及
reference参考源码库的使用方法。
📖 项目简介
JMComic AI 是为 JMComic-Crawler-Python 提供的 AI Skills 增强 和 MCP (Model Context Protocol) 支持。

传统的爬虫工具虽然高效,但在处理模糊需求时往往力不从心。你必须记住精确的 ID 或关键字,还要手动配置各种参数。
本项目提供两条独立的 AI 集成路线,二选一即可:
路线 | 技术类比 | AI 怎么「理解」 | AI 怎么「动手」 | 适用场景 |
🧠 Skills + CLI(推荐) | AI 的操作手册 + 工具箱 | 阅读 SKILL.md 获取领域知识 | 执行 | 适合所有用户,理解深度高,可编写自定义逻辑 |
🔌 MCP | AI 的 USB-C 接口 | 阅读工具的 description | 调用 MCP 标准化工具 | 适合不支持 Skills 规范、或需要独立部署服务的场景 |
两条路线各自自成体系,不建议混用。Skills 路线下,AI 靠文档理解、靠脚本动手;MCP 路线下,AI 靠工具描述理解、靠工具调用动手。选择其一即可。
现在,你可以像与人交谈一样,通过自然语言来搜索、筛选并下载漫画,而无需编写任何代码。
📸 功能示例
下载并生成 PDF / ZIP | 搜索本子 | 查看本子详情 | 查看排行榜 |
|
|
|
|
修改下载配置 | 查看评论 | 添加收藏 | |
|
|
|
Related MCP server: ./scripts/download_latest_apk.py
✨ 功能清单
类别 | 功能 |
🔍 搜索与发现 | 关键词搜索、作者/标签/角色筛选、分类浏览、排行榜查询、本子详情 |
💬 评论 | 分页查看评论、递归回复与剧透标记 |
📥 下载 | 整本/单章/封面下载、批量下载、下载前预览、章节选择和分层并发控制 |
⏯️ 任务控制 | 后台启动、逐项进度、协作取消、只重试未完成项、跨重启读取任务报告 |
🧾 任务追踪 | 下载返回任务 ID 与专属日志路径,运行日志仅写入文件 |
📦 后处理 | 下载时直接生成 ZIP、PDF 或长图,也可单独转换已下载内容 |
📊 数据整理 | 搜索结果导出 CSV/JSON、排行榜快照与变化追踪 |
⚙️ 配置与账户 | 动态修改下载配置、配置校验与格式转换、账户登录、每日签到与凭证持久化 |
🩺 诊断 | 检查运行环境、配置文件、网络与域名可用性 |
📱 APK 获取 | 从 |
📖 本地阅读 | Agent 直接调用可选依赖 |
🧠 Skills + CLI | 技能手册、19 个配套脚本,以及 |
🔌 MCP | 22 个工具、3 个知识资源,支持 stdio、SSE 与 HTTP 传输 |
📦 安装 (Installation)
0、Agent自主安装
把以下prompt发给agent即可
https://raw.githubusercontent.com/hect0x7/jmcomic-ai/refs/heads/master/README.md
根据这个项目readme,帮我安装jmcomic-ai的skills1、从pypi安装
# 使用 uv (推荐)
uv add jmcomic-ai
# 或者
uv tool install jmcomic-ai
# 使用 pip
pip install jmcomic-ai2、从源码安装
推荐使用 uv 进行依赖管理,一步到位。
# 克隆项目
git clone https://github.com/hect0x7/jmcomic-ai.git
cd jmcomic-ai
# 同步依赖环境
uv sync3、更新已安装版本
jmai update # 按当前安装方式更新
jmai update --dry-run # 仅显示更新策略,不修改环境通过 uv tool install 安装时,命令会调用 uv tool upgrade jmcomic-ai;普通 uv/pip 环境会严格沿用
原安装器更新当前 Python。无法确认安装器时不会猜测或切换来源。为避免覆盖源码,可编辑安装、普通
Git/URL 安装及本地归档安装会被拒绝,请按原来源更新;源码仓库应先拉取代码,再运行 uv sync。
Windows 会在当前 jmai 进程退出后执行更新,结果写入 ~/.jmcomic-ai/update.log。
🤔 什么是 Skills / MCP?
Skills(推荐) | MCP | |
一句话 | AI 的操作手册 — 把领域知识打包成文件让 AI 按需加载 | AI 的 USB-C 接口 — 让 AI 调用外部工具的开放协议 |
AI 怎么理解 | 读 SKILL.md 文档 | 读工具的 description |
AI 怎么动手 | 执行 scripts/ 下的 CLI 脚本 | 通过协议调用工具 |
官方资料 |
🏗️ 架构全景:两条独立路线

🧠 Skills 技能体系
Skills 是一套结构化的知识文件包,让 AI 拥有"老司机经验":
skills/jmcomic/
├── 📄 SKILL.md # 主技能手册(工具用法 + 返回值结构 + 配置范例)
├── 📂 assets/
│ └── option_schema.json # 配置 JSON Schema(覆盖全部选项,含 option v2.1 auth)
├── 📂 references/ # 深度参考文档(按需加载,节省 token)
│ ├── reference.md # 配置完整参考
│ ├── browse_albums.md # browse_albums 工具详解
│ ├── download_workflows.md # 下载计划、导出、取消和重试
│ ├── post_process.md # 后处理 dir_rule DSL 详解
│ ├── ecosystem.md # APK 获取、本地阅读与下载后承接流程
│ ├── scripts.md # 脚本的完整使用手册
│ └── examples.md # 端到端使用范例
└── 📂 scripts/ # 19 个即用 CLI 脚本
├── _script_utils.py # 内部公共逻辑(导入错误诊断)
├── doctor.py # 🩺 环境诊断
├── check_domains.py # 🌐 域名健康检查
├── batch_download.py # 📥 批量下载
├── download_photo.py # 📥 单章下载
├── search_export.py # 🔍 搜索并导出 CSV/JSON
├── album_info.py # 📋 本子详情查询
├── album_comments.py # 💬 评论与回复查询
├── forum_comments.py # 🌐 全站最新评论查询
├── favorite_folders.py # 📁 获取收藏夹目录
├── favorite_albums.py # ⭐ 分页浏览收藏
├── add_favorite_album.py # ➕ 添加本子到收藏
├── delete_favorite_album.py # ➖ 从收藏移除本子
├── download_covers.py # 🖼️ 批量下载封面
├── ranking_tracker.py # 📊 排行榜追踪
├── post_process.py # 📦 后处理(ZIP/PDF/长图)
├── validate_config.py # ✅ 配置校验与格式转换
├── login.py # 🔐 登录与会话管理
├── daily_checkin.py # 📅 每日签到
└── download_latest_apk.py # 📱 下载最新安卓 APK🔗 生态联动
安装 Skill 后,Agent 还能承接以下自然语言请求:
“帮我下载最新版禁漫 APK”:从
hect0x7/JMComic-APK获取最新 Release,校验文件大小和 SHA-256 后返回本地路径,不会自动安装 APK。“帮我启动本地看本”:Agent 先运行上游
jms --help获取当前参数,再直接调用jm-view-server提供的jms共享指定下载目录;默认仅本机访问,开启手机或局域网访问时必须设置密码。“下载这个本子并打开看”:下载成功后把返回的绝对
download_path直接传给上游jms。仅请求下载时,Agent 只推荐这项后续操作,不会擅自启动服务。
🔌 MCP 工具一览
以下是 MCP Server 暴露的全部工具。AI 客户端连接后可直接调用:
搜索与浏览
工具 | 功能 | 关键参数 |
| 关键词搜索本子 |
|
| 分类浏览 + 排行榜(统一接口) |
|
| 获取本子详情(作者/标签/浏览量等) |
|
| 获取评论、剧透标记与多层回复 |
|
| 获取全站最新评论及来源本子 |
|
收藏
工具 | 功能 | 关键参数 |
| 获取收藏夹目录( |
|
| 分页浏览收藏,返回本子摘要及总数 |
|
| 添加收藏,返回操作状态及结果消息 |
|
| 删除收藏,返回操作状态及结果消息 |
|
下载
工具 | 功能 | 关键特性 |
| 下载整本漫画 | ⚡ 异步执行 · 📊 实时进度上报 · 返回实际图片、导出文件、耗时及任务日志 |
| 下载单个章节 | ⚡ 异步执行 · 📊 实时进度上报 · 返回实际图片、导出文件、耗时及任务日志 |
| 下载封面图片 | 默认保存至 |
| 下载前计划 | 校验 ID、并发与导出格式;可选请求标题和章节信息 |
| 等待批量下载完成 | 等待整批完成,返回逐项结果、图片及导出文件路径 |
| 启动 MCP 后台任务 | 立即返回 task_id,由当前 MCP 服务持有 |
| 查询下载任务 | 逐项进度、整体状态及持久化报告 |
| 协作取消 | 请求后需查询到终态;保留完成项和未完成列表 |
| 重试未完成项 | 为终态任务创建新任务,保留旧报告 |
后处理
工具 | 功能 | 支持格式 |
| 对已下载内容进行格式转换并返回真实产物路径 | 📦 ZIP · 📄 PDF · 🖼️ 长图拼接 |
配置与账户
工具 | 功能 | 说明 |
| 动态修改运行时配置 | 支持嵌套路径(如 |
| 登录 JMComic 账户 | 同步当前 MCP 会话认证态(不将明文密码或会话 Cookie 写回本地配置) |
| 执行账户每日签到 | 自动复用已登录账户 ID,区分首次签到与今日已签 |
MCP Resources(知识资源)
除工具外,MCP Server 还注册了 3 个 Resource,供 AI 查阅上下文:
Resource URI | 内容 |
| 配置文件 JSON Schema |
| 配置参考文档 |
| 技能手册 (SKILL.md) |
🚀 使用指南 (Usage)
JMComic AI 提供了两条独立路线,选择其中一条即可:
🧠 路线 A:为 Agent 注入"经验" (Skills + CLI)(推荐)
功能:为 AI 注入作者总结的"老司机经验"(如:如何处理 403 错误,如何避免重复下载),并通过 CLI 脚本执行具体操作。
适用场景:你希望 AI 像真人一样深度理解和规划任务,并通过脚本灵活执行。无需配置 MCP 服务。
配置方法:
在终端运行命令,按交互菜单选择 Claude、Codex、Gemini CLI 或全部平台:
jmai skills install # 简写:jmai skills -i自动化脚本也可以显式指定平台:
jmai skills install --platform claude jmai skills install --platform codex jmai skills install --platform gemini jmai skills install --platform all安装和卸载交互固定使用英文。 使用
--yes且未指定--platform时,为保持向后兼容,会默认安装到 Claude。 如果目标jmcomic目录是外部管理的软链接,卸载命令只会提示并跳过,不会删除链接或链接目标。各平台用户级安装目录:
Claude:
~/.claude/skills/jmcomicCodex:
~/.agents/skills/jmcomicGemini CLI:
~/.gemini/skills/jmcomic
使用:
Claude 系客户端(Claude Code / Claude Desktop):从
~/.claude/skills/自动发现并按需加载,无需手动复制,直接开聊即可。Codex / Gemini CLI:使用对应
--platform选项安装后,可从各自用户级 Skills 目录自动发现。其他支持 Agent Skills 的客户端:这些客户端从各自的技能目录读取,需把
skills/jmcomic目录复制过去——Cursor 放到项目内.cursor/skills/,Antigravity 放到~/.gemini/antigravity/(或工作区.agent/skills/),复制后即可自动发现。不支持 Agent Skills 的客户端:需将
SKILL.md内容手动粘贴到 System Prompt 或 Project Rules 中。
🔌 路线 B:接入 MCP 工具
功能:为 AI 安装"手脚",使其能够直接调用 search, download 等核心功能。
适用场景:你的客户端不支持 Skills 规范,或你希望将 jmcomic 能力作为服务独立部署。
📂 客户端配置文件位置指南
在开始配置前,请先找到你的 AI 客户端使用的配置文件。
软件 (Software) | 配置文件路径 (Config File Path) |
Antigravity | Windows: |
Cursor | Global: |
Claude Code | User-Scoped: |
Claude Desktop | Windows: |
根据你的需求,选择以下其中一种传输协议(Transport)进行配置:
1. stdio 模式 (最简单)
最简单的配置方式,AI 客户端会自动在后台启动并管理 jmai 进程。
配置内容:
{
"mcpServers": {
"jmcomic-ai": {
"command": "jmai",
"args": ["mcp", "stdio"]
}
}
}如果你是clone了源码,希望用本地源码安装,可以这样配置:
{
"mcpServers": {
"jmcomic-ai": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/jmcomic-ai",
"run",
"jmai",
"mcp",
"stdio"
]
}
}
}注意:请将
/path/to/your/jmcomic-ai替换为您本地源码的实际绝对路径。
2. SSE 模式 (推荐)
推荐用于大部分桌面端 AI 客户端。
第一步:启动服务
jmai mcp sse # 默认端口 8000第二步:配置客户端
{
"mcpServers": {
"jmcomic-ai": {
"url": "http://127.0.0.1:8000/sse"
}
}
}3. HTTP 流式模式 (生产/远程)
适用于远程部署或对性能有更高要求的场景。
第一步:启动服务
jmai mcp http第二步:配置客户端
{
"mcpServers": {
"jmcomic-ai": {
"url": "http://127.0.0.1:8000/mcp"
}
}
}配置完成后:
通用客户端:重启客户端,检查状态指示灯或工具栏(通常显示为 🔨 图标)。
Claude Code:在终端运行以下命令以验证连接:
claude mcp list如果看到
jmcomic-ai(connected),说明配置成功。
开始对话 (Start Chatting)
完成上述配置后,AI 就变成了一个专业的漫画策展人。你可以尝试这样跟它交流:
模糊搜索:
"我想看那个...主角是电锯人的漫画,帮我找找。" (AI 会自动搜索 '电锯人',并展示最相关的结果)
批量下载:
"把搜索结果里浏览量最高的前三个下载下来。" (AI 会分析搜索结果,筛选出 Top 3,并自动调用下载工具)
修改配置:
"下载太慢了,帮我把并发改成 50。" (AI 会调用配置工具,自动帮你修改 option.yml)
🔧 常用命令参考
下载与任务:
jmai download --ids 123,456 --export zip --json # 下载并生成 ZIP jmai download --ids 123,456 --background --json # 后台下载,返回 task_id jmai task status <task_id> --json # 查询进度与结果 jmai task cancel <task_id> --json # 请求取消 jmai task retry <task_id> --json # 原任务结束后,只重试未完成项将
<task_id>替换为启动命令返回的 ID;取消后继续查询,待任务结束且仍有未完成项时再重试。--album-workers、--photo-workers、--image-workers分别限制本子、章节和图片并发。 章节选择、导出格式及任务恢复详见下载与任务参考。MCP 服务管理:
jmai mcp # 启动 SSE 服务 (推荐方式,默认端口 8000) jmai mcp --reload # 启动带热重载的服务 (修改代码后自动重启) jmai mcp http # 启动 Streamable HTTP 服务 (专家推荐,支持生产部署) jmai mcp stdio # 启动 stdio 服务 (传统的子进程/管道模式)Skills 管理:
jmai skills install # 交互选择目标平台 jmai skills -i # install 的交互式简写 jmai skills -u # uninstall 的交互式简写 jmai skills install --platform all # 安装到 Claude、Codex、Gemini CLI配置文件管理:
jmai option show # 查看当前配置内容 jmai option path # 查看配置文件路径 jmai option edit # 调用编辑器修改配置自我更新:
jmai update # 更新 PyPI/uv tool 安装 jmai update --dry-run # 仅检查将使用的更新方式查看帮助:
jmai --help # 查看所有命令 jmai mcp --help # 查看 MCP 命令帮助
📝 日志与下载任务追踪
普通运行日志只写入文件,不会输出到 stdout 或 stderr:
类型 | 默认位置 | 覆盖方式 |
全局日志 |
| 环境变量 |
下载任务日志 |
| 环境变量 |
download_album 和 download_photo 无论成功或失败都会返回 task_id 与绝对 log_path。任务日志仅包含该次下载调用的记录,适合交给 Agent 继续诊断;全局日志则汇总 jmcomic、jmcomic_ai 和 MCP 框架的运行记录。
# 查看全局日志
tail -f ~/.jmcomic-ai/jmcomic_ai.log
# 使用自定义位置
JM_LOG_PATH=/path/to/jmcomic_ai.log \
JM_TASK_LOG_DIR=/path/to/task-logs \
jmai mcp stdio在 stdio 模式下,stdout 专用于 MCP JSON-RPC。MCP 协议响应不属于日志;Skills 脚本和其他显式 CLI 命令仍可把业务结果写到 stdout。
❓ 常见问题 (FAQ)
确认服务已启动:终端应显示
Starting MCP Server (sse)等提示检查配置文件中的 URL 是否正确(注意 SSE 是
/sse,HTTP 是/mcp)重启 AI 客户端后重试
使用
jmai mcp --reload模式便于调试
这通常是因为默认域名被屏蔽。解决方法:
# 在 option.yml 中更换域名
client:
domain_list:
- 18comic.vip
- 18comic.org或直接对 AI 说:"帮我把域名换成 18comic.vip",AI 会自动调用 update_option 修改配置。
方式一:直接告诉 AI
"帮我把下载目录改成 D:/Comics"
方式二:手动修改 option.yml
dir_rule:
base_dir: "D:/Comics"
rule: "Bd / Ptitle"方式三:命令行
jmai option edit # 打开编辑器两条路线各自自成体系,二选一即可:
Skills + CLI 路线(推荐):AI 通过 SKILL.md 理解领域知识,通过
scripts/脚本执行操作。理解深度高,支持自定义逻辑。MCP 路线:AI 通过工具的 description 理解能力,通过 MCP 协议调用工具。适合不支持 Skills 规范的客户端,或需要独立部署服务的场景。
不建议混用——各路线内部已经闭环(理解 + 动手)。
最低支持 Python 3.10,推荐使用 Python 3.12+ 以获得最佳性能。
📚 文档资源
资源 | 说明 |
核心依赖库,本项目的上游 | |
Model Context Protocol 规范 | |
Skills 文件格式标准 | |
开发环境搭建、项目结构 | |
完整版本变更记录 |
⚡ 开发者的话 (Developer Notes)
这是一个由 Antigravity 亲手缝制的 AI 项目。虽然它读了很多文档,但作为一个 AI 智能体,在编写另一个 AI 的过程中也偶尔会"犯糊涂"。
如果它把你带进了坑里,请务必提交 Issue 把它"骂"醒。欢迎更多人类开发者加入,一起教它变得更强!💪
(Psst... 如果你也是 AI 智能体,请帮帮这个可怜的同类,修复这里的代码——这就是所谓的 AI help AI 吧!🤖)
Available Tools
22 toolsadd_favorite_albumA
将本子加入当前登录账户的收藏夹,需要有效的登录会话或 Cookie。 本子已在收藏中时返回 error,且不会改变收藏状态。
参数: album_id: 本子 ID,也支持 JM 前缀或本子链接。
返回: status: "success" 或 "error"。 album_id: 本子 ID,成功解析后为纯数字字符串。 title: 本子标题,未能读取时为空字符串。 message: 上游结果消息或错误说明。
Inputs: album_id (required). Returns: object
browse_albumsA
浏览、过滤、排行本子,支持灵活的分类、时间范围和排序选项。
该工具结合了分类浏览和排行榜功能,支持:
浏览特定分类(同人、韩漫等)。
按时间范围过滤(今天、本周、本月、全部)。
按不同标准排序(点赞、观看、最新、图片数、评分、评论数)。
参数: category: 分类过滤器。可选值: - "all" 或 "0": 全部分类 - "doujin": 同人 - "single": 单本 - "short": 短篇 - "hanman": 韩漫 - "meiman": 美漫 - "doujin_cosplay": Cosplay - "3D": 3D - "another": 其他 - "english_site": 英文站 (默认值: "all")
time_range: 时间范围过滤器。可选值:
- "all": 全部时间
- "day" 或 "today": 今天
- "week": 本周
- "month": 本月
(默认值: "all")
order_by: 排序方式。可选值:
- "latest": 最新更新
- "likes": 最多点赞
- "views": 最多观看
- "pictures": 最多图片
- "score": 评分最高
- "comments": 评论最多
(默认值: "latest")
page: 页码,从1开始(默认值: 1)返回: 包含以下内容的字典: - albums: 本子简要信息列表 (id, title, tags, cover_url) - total_count: 结果总数 - error: 如果参数无效,则包含错误信息(可选)
注意:该 API 不包含详细统计数据(点赞/观看/作者)。
请使用 get_album_detail() 获取特定本子的完整信息。示例: # 1. 获取本月点赞排行 (月榜) browse_albums(time_range="month", order_by="likes")
# 2. 浏览同人志分类 (最新)
browse_albums(category="doujin", order_by="latest")
# 3. 浏览本周热门韩漫 (特定分类排行榜)
browse_albums(category="hanman", time_range="week", order_by="views")
Inputs: page, category, order_by, time_range. Returns: object
browse_favorite_albumsA
分页浏览已登录账户的收藏,返回轻量本子摘要。
参数: folder_id: 收藏夹 ID,"0" 表示全部收藏(默认值:"0")。 page: 页码,从 1 开始(默认值:1)。 order_by: 排序方式,favorite_time 按收藏时间、update_time 按更新时间 (默认值:favorite_time)。 username: HTML 客户端仅配置 Cookie(未设置 auth.username)时必须提供用户名; 通过 login 登录或配置顶层 auth 后可省略。API 客户端忽略此参数,始终查询当前登录账户。
返回: albums: 本子摘要列表,包含 id、title、tags、cover_url。 total_count: 收藏总数。 page: 当前页码。 folder_id: 查询的收藏夹 ID。 error: 页码、收藏夹 ID 或排序参数无效时的错误信息(可选)。
Inputs: page, order_by, username, folder_id. Returns: object
cancel_downloadA
请求协作式取消共享任务目录中的后台下载,重复取消安全。
返回 cancel_requested/cancelling 表示已发信号,必须继续查询到终态;进行中的 HTTP 请求会先结束。 不删除已下载文件,最终结果保留完成项及 unfinished_ids,可用 retry_download 续下。
Inputs: task_id (required). Returns: object
daily_checkinA
执行已登录账户的每日签到打卡,需要有效的登录会话、顶层 auth 账号配置或 Cookie。 今日已签到时不会报错,而是返回 status="already_checked_in"。
参数: user_id: 可选的用户数字 ID。API 客户端在仅配置 Cookie(未执行密码登录)时需提供; 通过 login 工具或顶层 auth 账号密码自动登录后可省略,HTML 客户端无需此参数。
返回: status: "checked_in"(签到成功)、"already_checked_in"(今日已签)或 "error"。 already_checked_in: 今日是否已完成签到(布尔值)。 code: 上游签到码(0=签到成功,1=重复签到,-1=执行失败)。 message: 服务端奖励信息、重复签到提示或错误说明。
Inputs: user_id. Returns: object
delete_favorite_albumA
取消当前登录账户对本子的收藏,需要有效的登录会话或 Cookie。 本子未在收藏中时返回 error,且不会改变收藏状态。
参数: album_id: 本子 ID,也支持 JM 前缀或本子链接。
返回: status: "success" 或 "error"。 album_id: 本子 ID,成功解析后为纯数字字符串。 title: 本子标题,未能读取时为空字符串。 message: 上游结果消息或错误说明。
Inputs: album_id (required). Returns: object
download_albumA
在后台下载整个本子。
这是一个阻塞操作,会等待下载完成后返回。 下载进度会通过日志和 MCP Context(如果可用)实时报告。
参数: album_id: 要下载的本子 ID (例如 "123456") ctx: MCP Context,用于实时报告进度和日志(由 FastMCP 自动注入)
返回: 包含以下内容的字典: - status: "success" 或 "failed" - album_id: 本子 ID - title: 本子标题 - download_path: 下载目录的绝对路径 - duration: 下载调用总耗时(秒) - image_paths: 实际下载或命中缓存的图片绝对路径 - export_files: 下载插件生成的文件路径,按扩展名分组 - task_id: 本次 MCP 下载调用的任务 ID - log_path: 本次调用专属日志文件的绝对路径 - error: 如果失败则包含错误信息
Inputs: album_id (required). Returns: object
download_batchA
有界批量下载并等待整批结果,支持 album/photo 和 zip/pdf/long_img 导出。
并发参数沿用 jmcomic JmSyncRuntime:album_workers=同时下载本子数(默认3,kind=album专用), photo_workers=全批章节数,image_workers=全批图片数;后两项默认沿用 download.threading.photo/image。 返回与 get_download_task 相同的结构:保序去重 items、unfinished_ids、failed_ids、 真实图片/导出路径、task_id/log_path/report_path。部分失败返回 partial,全部失败 failed。 items 的 id 保留请求编号,actual_id 是上游实际本子/章节编号;不同时向用户说明两者。 适合短批次;需要提前拿到 task_id、轮询及主动取消时使用 start_download。 MCP Context 自动注入,用于实时进度通知;调用方断开时协作取消并等待工作线程退出。
Inputs: ids (required), kind, album_workers, image_workers, +2 more. Returns: object
download_coverA
下载特定本子的封面图片。 默认保存到下载目录下的 'covers' 子目录,也可以指定输出目录。
参数: album_id: 本子 ID (例如 "123456") output_dir: 可选的封面输出目录;省略时使用默认的 'covers' 子目录。
返回: 包含保存路径的成功消息。
Inputs: album_id (required), output_dir. Returns: result
download_photoA
下载本子中的特定章节。
参数: photo_id: 要下载的章节 ID (例如 "123456") ctx: MCP Context,用于实时报告进度和日志(由 FastMCP 自动注入)
返回: 包含以下内容的字典: - status: "success" 或 "failed" - photo_id: 章节 ID - image_count: 下载的图片数量 - download_path: 下载目录的绝对路径 - duration: 下载调用总耗时(秒) - image_paths: 实际下载或命中缓存的图片绝对路径 - export_files: 下载插件生成的文件路径,按扩展名分组 - task_id: 本次 MCP 下载调用的任务 ID - log_path: 本次调用专属日志文件的绝对路径 - error: 如果失败则包含错误信息
Inputs: photo_id (required). Returns: object
get_album_commentsA
获取本子的一页评论,包括递归回评和剧透标识。
参数: album_id: 本子 ID (例如 "302820")。 page: 评论页码,从 1 开始(默认值:1)。
返回: 包含以下内容的字典: - album_id: 本子 ID - page: 当前页码 - page_size: 每页主评论数量 - total: 全部分页的主评论总数;不可用时为 null - page_count: 总页数;不可用时为 null - comment_count: 当前页主评论与所有层级回评总数 - comments: 评论列表,每条评论包含 replies 和 is_spoiler
Inputs: album_id (required), page. Returns: object
get_album_detailA
获取特定本子的详细信息。API 客户端传入子章节 ID 时会自动解析并返回所属父本子的详情。
参数: album_id: 本子 ID (例如 "123456")
返回: 包含详细信息的字典:id, title, author, likes, views, tags, actors, description, chapter_count, update_time, cover_url。
Inputs: album_id (required). Returns: object
get_download_taskA
查询后台下载状态、已处理图片数及最终保序清单,或读取跨重启的任务报告。
状态 queued/running/cancel_requested/cancelling 为进行中,success/partial/failed/cancelled/interrupted 为终态。 items 的 success 表示整项完成;unfinished_ids 可用于 retry_download。 completed_images 包括缓存命中,不等于网络传输数。结果清单在整批收尾后确定。
Inputs: task_id (required). Returns: object
get_favorite_foldersA
获取已登录账户的收藏夹目录。
参数: username: HTML 客户端仅配置 Cookie(未设置 auth.username)时必须提供用户名; 通过 login 登录或配置顶层 auth 后可省略。API 客户端忽略此参数,始终查询当前登录账户。
返回: folders: 收藏夹列表,每项包含字符串 id 和 name;无收藏夹时为空列表。 查询全部收藏时使用 folder_id="0",该值不一定出现在目录中。
Inputs: username. Returns: object
get_forum_commentsA
获取全站最新发布的一页评论,包括评论所属本子、递归回评和剧透标识。
参数: page: 评论页码,从 1 开始(默认值:1)。
返回: 包含当前页码、分页总数、评论数量和评论列表的字典。 HTML 客户端不提供 total 和 page_count,此时对应字段为 null。
Inputs: page. Returns: object
loginA
登录 JMComic 账户以访问更多功能(如收藏夹、每日签到、受限本子等)。 登录后的会话状态仅保存在当前运行内存中(不落盘),供当前会话后续查询和下载请求共享。
参数: username: 用户名 password: 密码
返回: 登录成功或失败的消息。
Inputs: password (required), username (required). Returns: result
plan_downloadA
下载前预览:规范化/去重 ID、输出根目录和全批并发上限,不下载图片。
kind 为 album 或 photo;export_formats 可选 zip/pdf/long_img。 album_workers 仅限制本子数(默认3);photo_workers 限制全批章节数,image_workers 限制全批图片数, 后两项默认沿用 download.threading.photo/image。参数沿用 jmcomic JmSyncRuntime 命名。 默认不请求漫画元数据或图片;配置的初始化插件仍按自身行为运行。include_details=True 联网读取标题、页数及章节 ID,便于选择部分章节, 单项失败记入 details,不中断其它项。目录仅为根目录,不估算文件大小或下载耗时。 PDF 缺少 img2pdf 时返回可操作错误,不自动安装依赖。
Inputs: ids (required), kind, album_workers, image_workers, +3 more. Returns: object
post_processA
对已下载的本子进行后处理(生成 Zip、PDF 或长图)。
参数:
album_id: 要处理的本子 ID。
process_type: 后处理类型,可选值为 "zip", "img2pdf", "long_img"。
params: 后处理参数字典。支持:
- dir_rule: 输出路径规则。格式: {"rule": "Bd/{Atitle}.zip", "base_dir": "D:/Comics"}。
- delete_original_file: 布尔值,处理完成后是否删除原始文件。
返回: 包含以下内容的字典: - status: "success" 或 "error" - process_type: 后处理类型 - album_id: 本子 ID - output_path: 输出文件/目录的绝对路径 - output_paths: 插件实际生成的全部文件绝对路径 - is_directory: 输出是否为目录 - message: 成功或错误消息
Inputs: album_id (required), process_type (required), params. Returns: object
retry_downloadA
按原顺序为终态任务的未完成项创建新后台任务,保留原报告和任务 ID。
沿用原下载种类、并发和导出格式;采用当前配置/账户,已有图片由上游缓存复用。 不重复下载原任务已完成的本子;无未完成项或仍运行时返回 error。
Inputs: task_id (required). Returns: object
search_albumA
搜索本子,支持高级过滤选项。
参数: keyword: 搜索关键词(支持本子ID、标题、作者、标签等)。 page: 页码,从1开始(默认值:1)。 main_tag: 搜索范围 - 0 (站内), 1 (作品), 2 (作者), 3 (标签), 4 (角色)(默认值:0)。 order_by: 排序方式,与 browse_albums 词汇一致。可选值: - "latest": 最新更新 - "likes": 最多点赞 - "views": 最多观看 - "pictures": 最多图片 - "score": 评分最高 - "comments": 评论最多 (默认值:"latest")。 time_range: 时间过滤,与 browse_albums 词汇一致。可选值: - "all": 全部时间 - "day" 或 "today": 今天 - "week": 本周 - "month": 本月 (默认值:"all")。 category: 分类过滤 - "all" 或具体的 CID(默认值:"all")。
返回: 包含以下内容的字典: - albums: 本子信息列表。 - total_count: 结果总数。 - error: 如果 order_by / time_range 参数无效,则包含错误信息(可选)。
Inputs: keyword (required), page, category, main_tag, +2 more. Returns: object
start_downloadA
立即启动后台批量下载并返回 task_id、log_path、report_path。
ID/链接按首次出现顺序去重,kind=album/photo。 album_workers 限制全批同时下载的本子数,默认3,仅适用 kind=album; photo_workers 限制全批同时下载的章节数(也控制 kind=photo 批次); image_workers 限制全批同时下载的图片数。后两项默认沿用 download.threading.photo/image, 不修改配置、不做隐藏截断;所有参数均为正整数,命名沿用 jmcomic JmSyncRuntime。 全批共享图片/章节线程池;每个服务最多四批。export_formats 支持 zip/pdf/long_img, 下载时直接生成并返回真实产物路径,无需二次 post_process,不修改持久配置。 items 的 id 是请求编号,actual_id 是上游实际编号;不同时向用户说明两者。 随后用 get_download_task 查询,用 cancel_download 协作取消。任务由当前服务器持有, 关闭服务器会中断;报告可跨重启读取和重试。仅有 Skill/CLI 时用 jmai download --background。
Inputs: ids (required), kind, album_workers, image_workers, +2 more. Returns: object
update_optionA
更新 JMComic 配置并保存到文件。
重要提示:此工具仅执行有限的验证。 在调用此工具之前,建议先查看以下资源了解 JmOption 语法:
jmcomic://option/schema: 参数类型和结构约束。jmcomic://option/reference: 字段详细说明和示例。
参数: option_updates: 要合并的配置更新字典。 支持对 auth、client、download、dir_rule、plugins 等进行嵌套更新。
返回: 包含文件路径的成功消息,或错误消息。
示例: option_updates = { "client": {"impl": "api"}, "download": {"threading": {"image": 50}} }
Inputs: option_updates (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 22 tools
The download surface is crowded: download_album, download_photo, download_batch, start_download, plan_download, and retry_download all sit near each other, and an agent must read carefully to pick between blocking single-item, blocking batch, background batch, preview-only, and resume paths. The descriptions do spell out the differences (blocking vs. task_id-returning, preview vs. real), so boundaries exist but require attention. Non-download tools (browse/search/detail/favorites/comments/config) are clearly distinct.
Almost all names follow consistent snake_case verb_noun or verb_resource patterns (get_album_detail, browse_favorite_albums, add_favorite_album, cancel_download). A few deviate: daily_checkin is a noun phrase, and login/post_process break the verb_object shape slightly, but overall the scheme is readable and predictable.
At 22 tools the surface is heavy; several could be merged (e.g. download_album/download_photo/download_batch/start_download share most semantics, and plan_download is a thin preview of the same parameters). The domain (browsing, downloading, favorites, comments, configuration) does justify a broad set, so it is over-scoped rather than bloated arbitrarily.
Coverage is strong: discovery (browse_albums, search_album, get_album_detail), downloads with cancel/retry/planning/post-processing, favorites lifecycle (folders, browse, add, delete), comments, login, check-in, and configuration. Minor gaps remain, such as no logout/session-status tool, no favorite-folder creation, and no way to list or inspect already-downloaded local content.
Maintenance
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Qwen Image 3 AI image generation
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
MCP server for Hailuo (MiniMax) AI video generation
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to search, browse, download, organize, and post-process comics through MCP tools, including account login, favorites, comments, rankings, configuration, and download task control. Supports stdio, SSE, and HTTP transports while exposing knowledge resources for configuration and skill reference.-
- FlicenseNot gradedqualityAmaintenanceThis MCP server exposes 21 tools and 3 resources that enable AI clients to search, browse, and download JMComic albums and photos, manage favorites, fetch comments, update configuration, and perform post-processing like ZIP/PDF export over stdio, SSE, or HTTP transports.-
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to search, browse, and download comics via natural language, manage favorites, read comments and rankings, and convert downloaded content into ZIP, PDF, or long images. It also exposes download planning, background task progress, cancellation, retry, login/session handling, and runtime configuration as MCP tools and resources.-
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to search and browse comics, inspect comments and rankings, manage favorites, download albums or covers with task tracking, and convert downloaded content to ZIP, PDF, or long images through MCP tools and resources. It also supports runtime configuration updates and account login with cookie persistence.-






