sandraschi/xkcd-mcp
MCP server plus mini webapp for showing xkcd comics. uses official api
Platform-specific configuration:
{
"mcpServers": {
"xkcd-mcp": {
"command": "npx",
"args": [
"-y",
"xkcd-mcp"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
MODEL CONTEXT PROTOCOL — *fine print sold separately*
---
xkcd-mcp — Comics for your LLM. Official JSON API (/info.0.json), unofficial amount of stick-figure drama.
You get a small Vite dashboard with a comic-panel hero: stick people, a speech bubble that says *“MCP, explain this”*, and a box labeled JSON that definitely understands your feelings. The README can’t draw SVG, so imagine it badly—same energy as the web app.
> Alt text (this repo): A README receives a pull request titled “make it whimsical.” The CI passes. The narrator questions whether that was ever in scope.
> Alt text (the app): A tiny server labeled “JSON” gets enthusiastic waves while someone negotiates with the universe. Hover tooltips not included; that’s what the comic alt is for.
No scraping. No Explainxkcd body fetch. We’re not here to parse HTML like it’s 2003.
Repo: github.com/sandraschi/xkcd-mcp
---
POST /api/comic with the same operations as the tool (current, random, by_number).xkcd_comic| Argument | Values / notes | |----------|----------------| | operation | current · by_number · random | | comic_number | Required when operation is by_number |
Returns (among other fields): num, title, safe_title, alt, img, xkcd_url, explainxkcd_url (wiki link only), json_source, etc.
You need the repo on disk first—uv can’t sync a project you haven’t cloned.
git clone https://github.com/sandraschi/xkcd-mcp.git
Set-Location xkcd-mcp
uv syncAll commands below assume your shell is at the repo root (xkcd-mcp).
uv run xkcd-mcp --serve| Item | Value | |------|-----
Loading reviews...