Dad Jokes Mcp について
Dad Jokes Mcp は、開発チームや MCP 対応クライアント向けに、ダジャレの生成と評価を行う MCP サーバーです。テーマ別・ランダム生成、複数のスタイル、評価、カテゴリ閲覧、統計に対応します。
主な機能
- 01テーマとスタイルを指定した生成
- 02ランダムなジョークの生成
- 03ジョークの評価とフィードバック
- 04ジョークカテゴリの閲覧
- 05ジョーク統計の表示
活用シーン
- 01コードレビューのコメントにユーモアを添える
- 02チーム会議をジョークで始める
- 03開発の話題に合うジョークを探す
MCP 対応
テーマ別・ランダム生成とジョーク評価の MCP プロンプトに加え、カテゴリ一覧と統計取得のツールを提供します。stdio で MCP クライアントに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
父親ギャグ MCP サーバー
開発ワークフローに父親ギャグの楽しさをもたらす、プロフェッショナルな Model Context Protocol(MCP)サーバーです。コードレビューやチームミーティングの雰囲気を和らげたいとき、またはちょっとした笑いが必要なときに最適です。
🎯 特長
- 複数のジョークスタイル:定番、ダジャレ、ほのぼの系、思わずうめいてしまうジョーク
- トピックに基づく生成:特定の題材についてジョークを生成します
- ランダムなジョークの生成:ひらめきが必要なときに、ランダムなジョークを取得できます
- ジョーク評価システム:父親ギャグを評価し、フィードバックを取得できます
- カテゴリーブラウザー:利用可能なジョークのカテゴリーを確認できます
- 楽しい統計情報:興味深い父親ギャグの統計情報を取得できます
- 型安全:堅牢な開発を実現するために TypeScript で構築されています
- プロフェッショナルなアーキテクチャ:すっきりとした、保守しやすいコード構成です
🚀 クイックスタート
前提条件
- Node.js >= 18.0.0
- npm または yarn
- 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(任意の文字列):"classic"、"punny"、"wholesome"、または "groan-worthy"
例:
{
"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 Desktop との統合
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 クライアント
その他の 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)
主なコンポーネント
- DadJokesMcpServer: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
統合のアイデア
- コードレビューのコメント:父親ギャグを加えて PR レビューの雰囲気を和らげます
- チームの朝会:毎日の父親ギャグでミーティングを始めます
- エラーメッセージ:ユーモアを添えてビルドの失敗を和らげます
- ドキュメント:技術ドキュメントに個性を加えます
- 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を実行して問題がないか確認してください- すべての依存関係がインストールされていることを確認してください
サポートを受ける
- 問題:GitHub Issues
- ディスカッション:GitHub Discussions
- ドキュメント:README とコード内のコメントを確認してください
📄 ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
🎭 なぜダジャレなのか?
ダジャレは単なるユーモアではありません。次のような場面で役立ちます。
- チームミーティングでのアイスブレイク
- 集中してコーディングするセッション中のストレス解消
- コードレビューでの会話のきっかけ
- 開発チームの士気向上
- 技術的な壁を越える共通言語
- 自信をつける手段(ダジャレに耐えられれば、どんなコードレビューにも対応できます)
🚀 ロードマップ
今後、次のような機能強化を検討しています。
- 🎯 ジョークの保存(お気に入りを保存)
- 🌐 多言語対応
- 🤖 AI によるジョーク生成の改善
- 📊 分析機能(人気のジョーク、使用状況の統計)
- 🎨 リッチな書式設定(Markdown、絵文字)
- 🔌 さらなる連携(Slack、Discord など)
🙏 謝辞
- 優れたフレームワークを提供してくださった Model Context Protocol チーム
- 果てしないインスピレーションをくれるダジャレコミュニティ
- このプロジェクトの改善に協力してくださるすべての貢献者
- 気の利いた(ひどい)ダジャレを楽しんでくれるすべての開発者
📊 プロジェクト統計
- 言語:TypeScript
- ランタイム:Node.js
- プロトコル:Model Context Protocol (MCP)
- ライセンス:MIT
- メンテナー:OrenGrinker
覚えておいてください。笑いのない日は無駄な一日ですが、ダジャレのある日はみんなで一緒にうめく一日です。 😄
豆知識:この README には、ダジャレに関する言及がちょうど 42 回あります。偶然ではありません。人生、宇宙、そしてすべての答えです……開発者がひどいダジャレを好きな理由も含めて!🤓
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。