Back to Browse

Jokebox MCP Server

Developer ToolsModerate6.3MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

6.3
Moderate6.3Moderate Risk

jokebox is a small, well-scoped dad-joke client for the public icanhazdadjoke.com API. It needs no credentials, validates all inputs before making requests, encodes URL parameters, and validates upstream responses. The only observations are low-severity: no fetch timeout and upstream text being passed to the model unfiltered. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-jokebox": {
      "args": [
        "-y",
        "@reneturcios/jokebox"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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

npx @reneturcios/jokebox random

Or run the container image:

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

jokebox random
jokebox search pizza
jokebox search pizza --limit 3
jokebox 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:

npx -y @reneturcios/jokebox mcp

MCP client configuration:

{
  "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

npm install
npm 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.

Reviews

No reviews yet

Be the first to review this server!