Search / io.github.papjuli/xkcdai
xkcd Comic Suggester
R0· no sign-inSuggests a relevant xkcd comic during a conversation, via semantic search over every comic.
v0.2.0 · active · repository · descriptor JSON · versions
Search / io.github.papjuli/xkcdai
R0· no sign-inSuggests a relevant xkcd comic during a conversation, via semantic search over every comic.
v0.2.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"xkcdai": {
"type": "http",
"url": "https://xkcdai.onrender.com/mcp"
}
}
}claude mcp add --transport http xkcdai https://xkcdai.onrender.com/mcp[mcp_servers.xkcdai]
url = "https://xkcdai.onrender.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"xkcdai": {
"type": "remote",
"url": "https://xkcdai.onrender.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"xkcdai": {
"type": "http",
"url": "https://xkcdai.onrender.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=xkcdai&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8veGtjZGFpLm9ucmVuZGVyLmNvbS9tY3AifQ%3D%3D"
}{
"servers": {
"xkcdai": {
"type": "http",
"url": "https://xkcdai.onrender.com/mcp"
}
}
}{
"mcpServers": {
"xkcdai": {
"httpUrl": "https://xkcdai.onrender.com/mcp"
}
}
}extensions:
"xkcdai":
enabled: true
name: "xkcdai"
type: streamable_http
uri: "https://xkcdai.onrender.com/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_length1 tools have descriptions over 1,024 characters, which crowds the contexttools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: find_xkcd (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)tools.token_costabout 431 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +reachable +uptime-100% ~updated-74d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://xkcdai.onrender.com/mcp streamable-http | none | yes | 100% | 349 ms | 2025-11-25 | 2026-10-20 |
find_xkcd | Find 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. |
Schemas: list_tools.
{
"name": "io.github.papjuli/xkcdai",
"title": "xkcd Comic Suggester",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://xkcdai.onrender.com/mcp",
"type": "streamable-http"
}
],
"version": "0.2.0",
"repository": {
"url": "https://github.com/papjuli/xkcdai",
"source": "github"
},
"description": "Suggests a relevant xkcd comic during a conversation, via semantic search over every comic."
}