一个专业的模型上下文协议(MCP)服务器,将爸爸笑话的乐趣带入您的开发工作流程。非常适合在代码审查、团队会议或需要快速笑一笑时调节气氛。
# 克隆仓库
git clone https://github.com/OrenGrinker/dad-jokes-mcp-server.git
cd dad-jokes-mcp-server
# 安装依赖
npm install
# 构建项目
npm run build
# 启动服务器
npm start
# 在开发模式下运行并自动重建
npm run dev
# 运行代码检查
npm run lint
# 运行测试(当实现时)
npm test
# 清理构建目录
npm run clean
generate-dad-joke根据特定主题生成爸爸笑话,可选风格。
参数:
topic (字符串):笑话的主题style (可选字符串):"classic"、"punny"、"wholesome" 或 "groan-worthy"示例:
{
"topic": "编程",
"style": "punny"
}
样本输出:
"为什么程序员喜欢暗模式?因为光会吸引虫子!"
random-dad-joke生成随机爸爸笑话。
参数:
count (可选字符串):要生成的笑话数量("1" 到 "5")示例:
{
"count": "3"
}
rate-dad-joke获取爸爸笑话的专业评分和反馈。
参数:
joke (字符串):要评估的笑话示例:
{
"joke": "为什么科学家不相信原子?因为它们构成了一切!"
}
get-joke-categories检索所有可用的笑话类别。
参数: 无
返回值: 包括动物、食物、科技、体育等在内的15个笑话类别列表。
joke-stats获取关于爸爸笑话的趣味统计数据。
参数: 无
返回值: 如成功概率、平均尴尬时间等有趣的统计数据!
添加到您的 Claude Desktop 配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dad-jokes": {
"command": "node",
"args": ["/path/to/dad-jokes-mcp-server/dist/index.js"],
"env": {}
}
}
}
对于其他兼容 MCP 的客户端,使用 stdio 传输:
node /path/to/dad-jokes-mcp-server/dist/index.js
服务器采用干净的对象导向架构构建:
src/
├── index.ts # 主服务器类和启动逻辑
├── types/ # TypeScript 类型定义(未来扩展)
├── prompts/ # 提示配置(未来扩展)
└── tools/ # 工具实现(未来扩展)
以幽默开始一天:
提示:random-dad-joke
数量:1
生成特定主题的笑话:
提示:generate-dad-joke
主题:"TypeScript"
风格:"punny"
评价团队笑话:
提示:rate-dad-joke
笑话:"为什么开发者戴眼镜?因为他们不能 C#!"
浏览类别寻找灵感:
工具:get-joke-categories
项目包括基本的测试结构:
# 运行测试(在 tests/ 目录中实现测试)
npm test
# 在监视模式下运行测试
npm test -- --watch
# 带覆盖率运行测试
npm test -- --coverage
手动测试服务器:
# 构建并启动
npm run build && npm start
# 在另一个终端中,使用示例 MCP 客户端测试
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}' | node dist/index.js
# 可选:启用调试日志
DEBUG=true
# 可选:设置自定义日志级别
LOG_LEVEL=info
修改笑话类别、风格或统计数据,编辑 src/index.ts 中的数组:
// 添加新类别
const categories = [
"动物", "食物", "科技", // ... 现有的
"您自定义的类别"
];
// 添加新的笑话风格
const styles = ["经典", "双关", "温馨", "令人尴尬", "您的风格"];
发布到 npm:
# 确保已登录 npm
npm login
# 构建并准备发布
npm run prepublishOnly
# 发布(先更新 package.json 中的版本)
npm version patch # 或 minor/major
npm publish
我们欢迎贡献!这是如何开始的:
git clone https://github.com/YOUR-USERNAME/dad-jokes-mcp-server.git
cd dad-jokes-mcp-server
git checkout -b feature/amazing-feature
git commit -m "添加精彩功能"
git push origin feature/amazing-feature
npm run lint构建错误:
# 清除缓存并重新构建
npm run clean && npm install && npm run build
MCP 连接问题:
dist/TypeScript 错误:
npm run lint 检查问题此项目采用 MIT 许可证——详情参见 LICENSE 文件。
爸爸笑话不仅仅是幽默——它们是:
我们正在考虑的未来增强功能:
记住:没有笑声的一天是浪费的一天,但充满爸爸笑话的一天则是大家一起尴尬的日子。 😄
趣闻:这份 README 包含了恰好 42 个爸爸笑话引用。这不是巧合——这是对生命、宇宙以及一切的答案……包括为什么开发者喜欢糟糕的双关语!🤓