mylar3-mcp

mylar3-mcp

MCP server that exposes Mylar3's HTTP API as tools, letting an LLM read and manage a comic library including watchlist, wanted issues, upcoming, history, logs, story arcs, and providers.

Category
访问服务器

README

mylar3-mcp

MCP server exposing Mylar3's HTTP API as tools, so an LLM can read and manage your comic library: watchlist, wanted issues, pull-list/upcoming, history, logs, story arcs, and providers.

Built with FastMCP.

Enabling the API on your Mylar3 server

Mylar3's API is opt-in and disabled by default. You must enable it and obtain an API key in Mylar's web UI (or bootstrap it with cmd=getAPI if HTTP basic auth is configured). This is server-side configuration specific to how you run Mylar3, and out of scope for this project - see Mylar3's own settings for API_ENABLED and API_KEY.

Install

Download a wheel from the latest release and install it as a uv tool (no repo checkout needed):

uv tool install mylar3_mcp-*.whl

This puts a mylar3-mcp command on your PATH. Register it with Claude Code:

claude mcp add mylar3 \
  --env MYLAR_URL=http://your-mylar-host:8090 \
  --env MYLAR_API_KEY=<32-char key> \
  -- mylar3-mcp

From source

uv sync
cp .env.example .env   # fill in MYLAR_URL and MYLAR_API_KEY
claude mcp add mylar3 \
  --env MYLAR_URL=http://your-mylar-host:8090 \
  --env MYLAR_API_KEY=<32-char key> \
  -- uv run --directory /path/to/mylar3-mcp mylar3-mcp

Config

Env var Required Default
MYLAR_URL yes -
MYLAR_API_KEY yes (except mylar_get_api) none (no apikey param sent)
MYLAR_HTTP_ROOT no /

Tools

One tool per Mylar3 ?cmd= API command. Reads use GET, writes use POST.

Read-only

Tool cmd Required params
mylar_get_index getIndex -
mylar_get_comic getComic id
mylar_get_comic_info getComicInfo id
mylar_get_issue_info getIssueInfo id
mylar_get_read_list getReadList -
mylar_get_upcoming getUpcoming -
mylar_get_wanted getWanted -
mylar_get_history getHistory -
mylar_get_logs getLogs -
mylar_find_comic findComic name
mylar_get_story_arc getStoryArc -
mylar_get_version getVersion -
mylar_list_providers listProviders -
mylar_seriesjson_listing seriesjsonListing -
mylar_list_annual_series listAnnualSeries list_issues or group_series
mylar_get_api getAPI username, password

Library / watchlist (mutating)

Tool cmd Required params
mylar_add_comic addComic id
mylar_pause_comic pauseComic id
mylar_resume_comic resumeComic id
mylar_refresh_comic refreshComic id
mylar_change_book_type changeBookType id, booktype
mylar_change_status changeStatus status_from, status_to, id
mylar_recheck_files recheckFiles id
mylar_queue_issue queueIssue id
mylar_unqueue_issue unqueueIssue id
mylar_regenerate_covers regenerateCovers id
mylar_refresh_seriesjson refreshSeriesjson comicid
mylar_add_story_arc addStoryArc issues or arclist
mylar_force_search forceSearch -
mylar_force_process forceProcess nzb_name, nzb_folder
mylar_add_provider addProvider providertype, name, host, prov_apikey, enabled
mylar_change_provider changeProvider providertype, name or prov_id
mylar_check_github checkGithub -
mylar_update update -
mylar_restart restart -
mylar_clear_logs clearLogs -

Destructive

Tool cmd Notes
mylar_del_comic delComic directory=true also deletes the folder from disk
mylar_del_provider delProvider removes a provider
mylar_shutdown shutdown stops the server

Notes

  • Mylar3's API responses are inconsistently enveloped: some wrap in {"success": true, "data": ...}, some return the payload raw, and some return the bare string "OK". The server unwraps all of these so tools return just the meaningful data.
  • mylar_queue_issue and mylar_force_search can actually snatch/download issues - treat them as state-changing.
  • Binary endpoints (getArt, downloadIssue, downloadNZB) are deliberately not exposed - they stream bytes, not JSON, which isn't useful over MCP.
  • id params are ComicVine ComicIDs; issue IDs are separate. Bulk-capable cmds (refreshComic, recheckFiles, regenerateCovers, refreshSeriesjson) accept comma-separated lists or all/missing.

Development

make help  # list all commands
Command Does
make sync uv sync
make test Offline tests - one per endpoint, mocked HTTP
make test-integration Tests against the live instance (needs MYLAR_URL/MYLAR_API_KEY)
make build Build wheel + sdist into dist/
make bump-patch / bump-minor / bump-major Bump the version in pyproject.toml + uv.lock
make clean Remove build artifacts

The release workflow (.github/workflows/release.yml) builds and publishes to Releases whenever a v* tag is pushed - so the usual flow is make bump-patch, commit, then tag and push.

The integration suite only reads data, plus a single reversible write test that pauses and resumes an existing series (set via MYLAR_TEST_COMIC_ID) - it never snatches, deletes, or modifies your library.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选