xkcd Comic Suggester MCP server
online · 100% uptimeio.github.papjuli/xkcdai·v0.2.0Suggests a relevant xkcd comic during a conversation, via semantic search over every comic.
0 stars
Reviews
Write oneNobody has reviewed xkcd Comic Suggester yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
xkcd Comic Suggester tools (1)
write = sends, deletes, buys or postsfind_xkcdFreeFind xkcd comics semantically relevant to the current conversation. Call this whenever an xkcd comic might enrich the conversation — when the discussion lands on a topic xkcd is famous for skewering (programming, science, statistics, relationships, the absurdity of standards, etc.). Pass a concise description of the current topic or theme as `context` (a phrase or sentence works better than a whole transcript), e.g. "spending hours automating a task that was faster to do by hand" or "code finally compiling". IMPORTANT — deciding whether to mention one. xkcd has a comic for almost every topic, so this tool will nearly always return something. A result being returned does NOT mean you should bring it up. Use the `score` as a signal and apply your own judgment about conversational fit: score >= 0.75 strong match — usually worth mentioning if it fits the moment 0.66 - 0.75 plausible — mention only if it genuinely lands < 0.66 weak/tangential — almost always better to stay silent Only one comic, at most, per topic — and only when it actually adds something. When you do share one, cite it by number and title with its `url`, and quote the `alt` (mouseover) text — it's half the joke. Returns a dict with a `results` list (num, title, score, url, image, alt, explain_url) and a `count`. An empty list means nothing cleared the floor.
Public scan report
scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 1092ms20/20
- Tool poisoning1 tool descriptions checked15/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 48 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How xkcd Comic Suggester compares
Against every graded Web search MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 87/100
- higher than 78% of 3,470 Web search servers
- Tools
- 1
- the typical Web search server has 5
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote Web search server answers 100%
- Response time
- 99 ms
- faster than 88% of 2,238 Web search servers
What its tools let an agent do: 1 read
Install xkcd Comic Suggester in Claude Code, Cursor or VS Code
claude mcp add --transport http xkcdai https://xkcdai.onrender.com/mcp
What the publisher says
From the xkcd Comic Suggester repository's README, as published. We do not edit it. Read it on GitHub
xkcdai
An MCP server that surfaces the right xkcd comic during a conversation, if one is relevant.
Live connector: https://xkcdai.onrender.com/mcp — add it in claude.ai →
Settings → Connectors. See Use the deployed MCP server.
It builds a semantic index over every xkcd comic (title + mouseover text + transcript) using on-device embeddings, then exposes a single find_xkcd tool. A Claude conversation can call it whenever the topic feels xkcd-shaped; a relevance threshold means weak matches return nothing, so it stays quiet instead of forcing a tenuous reference.
The fetched transcripts, explanations, and the embeddings are currently committed in this repo, under data/.
How it works
xkcd JSON API ─┐
├─► comics.json + explain.json ─► embeddings.npy ─► find_xkcd ─► Claude
explainxkcd ──┘ (cache) (bge-small) (cosine) (mentions it
(transcripts + if it fits)
explanations)transcript and explanation from explainxkcd.com. The explainxkcd context is essential: the official API dropped transcripts around comic ~1675, so without it the most-shared modern comics (e.g. #2347 Dependency) are unmatchable — their joke text lives only inside the image.
- Data: title + mouseover alt from the official API, plus the community
offline after first download, no PyTorch. Swap the model in src/xkcdai/embed.py (e.g. BAAI/bge-base-en-v1.5 for marginally better ranking at ~3× the size).
- Embeddings: fastembed (ONNX) with BAAI/bge-small-en-v1.5 — local, free,
few thousand comics.
- Search: a normalized numpy matrix + dot product. No vector DB needed for a
cutoff alone can't judge relevance. minscore (default 0.62) is just a coarse floor; the real "should I bring this up?" decision is made by the calling model, guided by the score bands documented on the findxkcd tool.
- Restraint: because xkcd has a comic for almost everything, a similarity
Use the deployed MCP server (as custom connector)
The server is deployed at https://xkcdai.onrender.com on Render. Add it as a Claude custom connector to use it in the Claude web and mobile apps (note: the Free plan only allows one custom connector). Anyone can add the same URL in their own account.
In claude.ai (web — do this once; it then syncs to the mobile app):
For Claude to suggest comics on its own, also add the instruction from Make Claude suggest comics proactively to your Profile preferences.
- Settings → Connectors → Add custom connector.
- Paste the connector URL, including the /mcp path: https://xkcdai.onrender.com/mcp
- Leave OAuth blank (this server needs no auth) and click Add.
- The connector's find_xkcd tool is now available in chats, on desktop and phone.
Notes
no secrets). Don't reuse this pattern for anything sensitive without OAuth.
- The server is public and unauthenticated — fine here (read-only comic search,
pushes to main auto-redeploy.
- Hosted from this repo via the Dockerfile and render.yaml;
handy on a 512 MB instance:
- GET /healthz reports liveness, whether the index is loaded, and current RSS —
curl https://xkcdai.onrender.com/healthzLocal setup
python -m venv .venv
# Windows (PowerShell): .venv\Scripts\Activate.ps1
# macOS/Linux: source .venv/bin/activate
pip install -e .
# Fetch comics + their explainxkcd context, then embed (downloads the model once).
# First run ~10 min; re-running later only fetches what's new.
xkcdai buildAdd --no-enrich to skip the explainxkcd fetch (faster/offline, weaker matches).
Test it from the command line:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
xkcd Comic Suggester: common questions
- Is xkcd Comic Suggester MCP server safe?
- Yes, by our scan: it is graded A (87/100). Read the xkcd Comic Suggester safety report
- How do I install xkcd Comic Suggester?
- It runs remotely at xkcdai.onrender.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does xkcd Comic Suggester need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is xkcd Comic Suggester maintained?
- The last commit was 90 days ago (2026-08-06). The latest release is v0.2.0.
- Is xkcd Comic Suggester up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- What can I use instead of xkcd Comic Suggester?
- Servers from other publishers that do the same job: Arxiv MCP server, Socraticode MCP server and Octocode MCP server.
- How does xkcd Comic Suggester compare with other Web search MCP servers?
- safety score 87/100 (higher than 78% of 3,470 Web search servers); tools 1 (the typical Web search server has 5); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to xkcd Comic Suggester
Same job from other publishers: the closest match first, then the best rated.
- ArxivSearch arXiv papers, download full text, semantic search, citation graphs, and alerts via MCP.not reviewedWidely usedA
- SocraticodeMCP server for enterprise local codebase indexing, semantic search, and code dependency graphs.not reviewedEstablishedB
- not reviewedEstablishedA
- Sui Knowledge Base (kapa.ai)Semantic search across Sui documentation and knowledge sources, powered by kapa.ainot reviewedEstablishedA
- ThoughtDAGSearch local AI conversations by file or phrase and recall source turns. Four read-only tools.not reviewedEstablishedA