Jokebox

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026

Dad jokes on demand: fetch a random joke, search by keyword, or look one up by ID.

VerifiedSTDIODesktop onlyWeb Search & Scraping

Overview

Jokebox's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Jokebox in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

jokebox

jokebox serves dad jokes from icanhazdadjoke.com. Ask for a joke at random, hunt for jokes that mention a word or phrase, or pull up one specific joke again when you know its ID. One binary offers both a small command-line interface and a stdio MCP server, so the same install works in a terminal and inside an MCP client.

There is nothing to configure: the upstream service is public, needs no API key, and asks only that clients identify themselves and accept JSON answers — jokebox does both on every request.

Install

bash
npx @reneturcios/jokebox random

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/jokebox

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

bash
jokebox randomjokebox search pizzajokebox search pizza --limit 3jokebox joke R7UfaahVfFd
jokebox --version

Every command prints JSON. random prints one joke as { "id": ..., "joke": ... }. search prints { "term": ..., "total_jokes": ..., "jokes": [...] }, where total_jokes counts every match the upstream holds for the term and jokes holds the requested page of them. joke prints the single joke stored under the given ID.

Search limits: --limit is an integer from 1 to 30 and defaults to 5. An out-of-range limit, a missing search term, or a missing joke ID is a usage error and no request is sent.

Exit codes: 0 on success, 1 when the upstream request fails (the error names the HTTP status or the malformed answer), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/jokebox mcp

MCP client configuration:

json
{  "mcpServers": {    "jokebox": {      "command": "npx",      "args": ["-y", "@reneturcios/jokebox", "mcp"]    }  }}

Tools

ToolInputWhat it returns
get_random_joke_tool(none)One random dad joke: its id and joke text.
search_jokes_toolterm (string, required), limit (integer, optional, default 5, max 30)Jokes containing the term: the term, the total match count, and the matching jokes.
get_joke_by_id_tooljoke_id (string, required)The single joke stored under that ID.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no network (fake fetch only)npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Source: README.md at commit 8fd9633

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 3, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts