mcpField
J
jokebox

jokebox

本地服务
github.com/CloudCorpRecords游戏娱乐01 周前更新

关于 jokebox

jokebox 是用于从 icanhazdadjoke.com 获取冷笑话的命令行工具和 stdio MCP 服务,支持随机获取、关键词搜索及按 ID 查找。

主要功能

  1. 01随机获取冷笑话
  2. 02按关键词搜索笑话
  3. 03按 ID 获取笑话
  4. 04命令行与 stdio MCP 服务

适用场景

  1. 01随机获取一则笑话
  2. 02查找包含指定词语的笑话
  3. 03重新获取已知 ID 的笑话

MCP 相关

向 MCP 客户端提供随机笑话、关键词搜索和按 ID 获取笑话的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-jokebox": {
"command": "npx",
"args": [
"-y",
"@reneturcios/jokebox"
]
}
}
}
启动命令npx -y @reneturcios/jokebox

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/jokebox0.1.0
ocighcr.io/cloudcorprecords/jokebox:0.1.0

工具

3

收录的工具列表 · 更新于 1 周前

此工具无需参数。

详细介绍

jokebox

jokebox 从 icanhazdadjoke.com 提供爸爸笑话。 可以随机获取一个笑话,搜索包含某个单词或短语的笑话,或者在知道笑话 ID 时再次获取指定的笑话。 一个二进制文件同时提供简易命令行界面和 stdio MCP 服务,因此同一安装既可在终端中使用,也可在 MCP 客户端中使用。

无需进行任何配置:上游服务是公开的,无需 API 密钥,只要求客户端标明身份并接受 JSON 响应;jokebox 每次请求都会做到这一点。

安装

npx @reneturcios/jokebox random

也可以运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/jokebox

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

jokebox random
jokebox search pizza
jokebox search pizza --limit 3
jokebox joke R7UfaahVfFd

jokebox --version

每条命令都会打印 JSON。random 会打印一个笑话,格式为 { "id": ..., "joke": ... }。search 会打印 { "term": ..., "total_jokes": ..., "jokes": [...] },其中 total_jokes 统计上游保存的该词所有匹配结果,jokes 则包含所请求的结果页。joke 会打印指定 ID 对应的单个笑话。

搜索限制:--limit 是一个介于 1 到 30 之间的整数,默认值为 5。限制值超出范围、未提供搜索词或未提供笑话 ID 都属于用法错误,且不会发送请求。

退出码:成功时为 0;上游请求失败时为 1(错误信息会指出 HTTP 状态码或响应格式错误);用法错误时为 2。

MCP 服务

一个二进制文件同时支持两种用法。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/jokebox mcp

MCP 客户端配置:

{
  "mcpServers": {
    "jokebox": {
      "command": "npx",
      "args": ["-y", "@reneturcios/jokebox", "mcp"]
    }
  }
}
工具
工具输入返回内容
get_random_joke_tool(无)一个随机爸爸笑话:其 id 和 joke 文本。
search_jokes_toolterm(字符串,必填),limit(整数,可选,默认值为 5,最大值为 30)包含该词的笑话:该词、匹配总数和匹配的笑话。
get_joke_by_id_tooljoke_id(字符串,必填)该 ID 对应的单个笑话。

开发

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

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。