使用说明
爸爸调侃MCP服务器
一个专业的模型上下文协议(MCP)服务器,为您的开发工作流程带来爸爸笑话的乐趣。非常适合在代码审查、团队会议或需要快速休息时放松心情。
🎯 特性
- 多种笑话风格:经典、小巧、有益健康、值得抱怨的变体
- 基于主题的生成:生成关于特定主题的笑话
- 随机笑话生成:当你需要灵感时,可以随意开玩笑
- 笑话评分系统:评价爸爸的笑话并获得反馈
- 类别浏览器:探索可用的笑话类别
- 有趣的统计数据:获取有趣的爸爸笑话统计数据
- 类型安全:使用TypeScript构建,实现稳健开发
- 专业建筑:干净、可维护的代码结构
🚀 快速开始
先决条件
- Node.js>=18.0.0
- npm或纱线
- TypeScript知识(可选但有用)
安装
# Clone the repository
git clone https://github.com/OrenGrinker/dad-jokes-mcp-server.git
cd dad-jokes-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
开发设置
# Run in development mode with auto-rebuild
npm run dev
# Run linting
npm run lint
# Run tests (when implemented)
npm test
# Clean build directory
npm run clean
📋 可用提示
generate-dad-joke
用可选的风格就特定主题生成一个爸爸笑话。
参数:
topic(字符串):笑话的主题style(可选字符串):“经典”、“微不足道”、“有益健康”或“值得抱怨”
例子:
{
"topic": "programming",
"style": "punny"
}
样本输出:
“为什么程序员更喜欢黑暗模式?因为光线会吸引虫子!”
random-dad-joke
随机生成爸爸笑话。
参数:
count(可选字符串):要生成的笑话数量(“1”到“5”)
例子:
{
"count": "3"
}
rate-dad-joke
为一个爸爸笑话获得专业评级和反馈。
参数:
joke(字符串):要评价的笑话
例子:
{
"joke": "Why don't scientists trust atoms? Because they make up everything!"
}
🛠️ 可用工具
get-joke-categories
检索所有可用的笑话类别。
参数: 无
退货: 列出15个笑话类别,包括动物、食品、科技、体育等。
joke-stats
获取有关爸爸笑话的有趣统计数据。
参数: 无
退货: 有趣的统计数据,如成功率、平均呻吟时间等等!
🔧 与MCP客户端集成
Claude桌面集成
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dad-jokes": {
"command": "node",
"args": ["/path/to/dad-jokes-mcp-server/dist/index.js"],
"env": {}
}
}
}
其他MCP客户端
对于其他MCP兼容客户端,请使用stdio传输:
node /path/to/dad-jokes-mcp-server/dist/index.js
🏗️ 建筑
服务器采用干净的面向对象架构构建:
src/
├── index.ts # Main server class and startup logic
├── types/ # TypeScript type definitions (future expansion)
├── prompts/ # Prompt configurations (future expansion)
└── tools/ # Tool implementations (future expansion)
关键组件
- DadJokes微信服务器:处理MCP协议的主服务器类
- 及时管理:有组织的快速定义,并经过适当的验证
- 工具集成:用于附加功能的可扩展工具系统
- 错误处理:全面的错误处理和记录
- 类型安全:完全覆盖TypeScript,配置严格
📖 使用示例
工作流示例
-
以幽默开始新的一天:
Prompt: random-dad-joke Count: 1 -
生成特定主题的笑话:
Prompt: generate-dad-joke Topic: "TypeScript" Style: "punny" -
评价团队笑话:
Prompt: rate-dad-joke Joke: "Why do developers wear glasses? Because they can't C#!" -
浏览类别寻找灵感:
Tool: get-joke-categories
整合思路
- 代码审查意见:添加爸爸笑话以减轻公关评论
- 团队站立:每天开一个爸爸笑话开始会议
- 错误消息:用幽默软化构建失败
- 文档:为技术文档添加个性
- Slack机器人:与团队沟通工具集成
🧪 测试
该项目包括一个基本的测试结构:
# Run tests (implement tests in tests/ directory)
npm test
# Run tests in watch mode
npm test -- --watch
# Run tests with coverage
npm test -- --coverage
手动测试
手动测试服务器:
# Build and start
npm run build && npm start
# In another terminal, test with sample MCP client
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
🔧 配置
环境变量
# Optional: Enable debug logging
DEBUG=true
# Optional: Set custom logging level
LOG_LEVEL=info
定制
通过编辑中的数组来修改笑话类别、样式或统计信息 src/index.ts:
// Add new categories
const categories = [
"Animals", "Food", "Technology", // ... existing
"Your Custom Category"
];
// Add new joke styles
const styles = ["classic", "punny", "wholesome", "groan-worthy", "your-style"];
📦 出版
要发布到npm:
# Ensure you're logged into npm
npm login
# Build and prepare for publishing
npm run prepublishOnly
# Publish (update version in package.json first)
npm version patch # or minor/major
npm publish
🤝 贡献
我们欢迎捐款!以下是如何开始:
贡献者快速入门
- 分叉存储库 在GitHub上
- 克隆你的叉子:
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 "Add amazing feature" - 推到您的分支:
git push origin feature/amazing-feature - 打开拉取请求 在GitHub上
开发指南
- 遵循TypeScript的最佳实践
- 为新功能添加测试
- 更新API变更文档
- 跑
npm run lint在承诺之前 - 保持笑话家庭友好和包容
贡献的想法
- 🎭 新笑话类别 (科学、游戏等)
- 🛠️ 附加工具 (笑话历史,最爱)
- 🎨 笑话格式 (ASCII艺术,表情符号)
- 🧪 测试覆盖率 改进
- 📚 文档 增强
- 🚀 演出 优化
🐛 故障排除
常见问题
-
构建错误:
# Clear cache and rebuild npm run clean && npm install && npm run build -
MCP连接问题:
- 验证Node.js版本>=18.0.0
- 检查MCP客户端配置中的文件路径
- 确保构建的文件存在于
dist/
-
TypeScript错误:
- 跑
npm run lint检查问题 - 验证是否已安装所有依赖项
- 跑
获取帮助
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🎭 爸爸为什么开玩笑?
爸爸的笑话不仅仅是幽默——它们是:
- 破冰船 用于团队会议
- 减压剂 在密集的编码会话期间
- 对话启动 在代码审查中
- 鼓舞士气的事物 对于开发团队
- 通用语言 超越技术壁垒
- 信心建设者 (如果你能挺过爸爸的笑话,你就可以处理任何代码审查)
🚀 路线图
我们正在考虑的未来增强功能:
- 🎯 笑话坚持 (保存收藏夹)
- 🌐 多语言支持
- 🤖 AI驱动的笑话生成 改进
- 📊 分析 (最受欢迎的笑话,使用统计数据)
- 🎨 丰富的格式 (标记、表情符号)
- 🔌 更多集成 (松弛、不协调等)
🙏 致谢
- 模型上下文协议 优秀框架团队
- 爸爸笑话社区,获得无尽的灵感
- 所有帮助改善这个项目的贡献者
- 每个欣赏好(坏)双关语的开发人员
📊 项目统计
- 语言:TypeScript
- 运行时:Node.js
- 协议:模型上下文协议(MCP)
- 许可证:MIT
- 维护者: OrenGrinker
记住:没有笑声的一天是浪费的一天,但有爸爸笑话的一天却是大家一起呻吟的一天。 😄
有趣的事实:此自述文件包含42个爸爸笑话参考。这不是巧合——这是生命、宇宙和一切的答案。..包括为什么开发人员喜欢可怕的双关语! 🤓