mcpField
D
Dad Jokes Mcp

Dad Jokes Mcp

ローカル
github.com/OrenGrinkerゲーム・エンタメ371 週間前に更新

Dad Jokes Mcp について

Dad Jokes Mcp は、開発チームや MCP 対応クライアント向けに、ダジャレの生成と評価を行う MCP サーバーです。テーマ別・ランダム生成、複数のスタイル、評価、カテゴリ閲覧、統計に対応します。

主な機能

  1. 01テーマとスタイルを指定した生成
  2. 02ランダムなジョークの生成
  3. 03ジョークの評価とフィードバック
  4. 04ジョークカテゴリの閲覧
  5. 05ジョーク統計の表示

活用シーン

  1. 01コードレビューのコメントにユーモアを添える
  2. 02チーム会議をジョークで始める
  3. 03開発の話題に合うジョークを探す

MCP 対応

テーマ別・ランダム生成とジョーク評価の MCP プロンプトに加え、カテゴリ一覧と統計取得のツールを提供します。stdio で MCP クライアントに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dad-jokes": {
"command": "npx",
"args": [
"-y",
"dad-jokes-mcp-server"
]
}
}
}
起動コマンドnpx -y dad-jokes-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmdad-jokes-mcp-server

ツール

3

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

父親ギャグ MCP サーバー

License: MIT Node.js Version TypeScript

開発ワークフローに父親ギャグの楽しさをもたらす、プロフェッショナルな 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 の完全なカバー範囲

📖 使用例

ワークフローの例
  1. ユーモアで一日を始める:

    Prompt: random-dad-joke
    Count: 1
    
  2. トピックに合ったジョークを生成する:

    Prompt: generate-dad-joke
    Topic: "TypeScript"
    Style: "punny"
    
  3. チームのジョークを評価する:

    Prompt: rate-dad-joke
    Joke: "Why do developers wear glasses? Because they can't C#!"
    
  4. カテゴリーを見て、アイデアを得る:

    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

🤝 貢献

貢献を歓迎します!始めるには、次の手順をご覧ください。

貢献者向けクイックスタート
  1. GitHub でリポジトリをフォークします
  2. フォークしたリポジトリをクローンします:
    git clone https://github.com/YOUR-USERNAME/dad-jokes-mcp-server.git
    cd dad-jokes-mcp-server
    
  3. 機能ブランチを作成します:
    git checkout -b feature/amazing-feature
    
  4. 変更を加えてテストします
  5. 変更をコミットします:
    git commit -m "Add amazing feature"
    
  6. ブランチにプッシュします:
    git push origin feature/amazing-feature
    
  7. GitHub でプルリクエストを作成します
開発ガイドライン
  • TypeScript のベストプラクティスに従ってください
  • 新機能にはテストを追加してください
  • API の変更に合わせてドキュメントを更新してください
  • コミットする前に npm run lint を実行してください
  • ジョークは家族向けで、誰もが楽しめる内容にしてください
貢献のアイデア
  • 🎭 新しいジョークカテゴリ(科学、ゲームなど)
  • 🛠️ 追加のツール(ジョーク履歴、お気に入り)
  • 🎨 ジョークの書式設定(ASCII アート、絵文字)
  • 🧪 テストカバレッジの改善
  • 📚 ドキュメントの拡充
  • 🚀 パフォーマンスの最適化

🐛 トラブルシューティング

よくある問題
  1. ビルドエラー:

    # Clear cache and rebuild
    npm run clean && npm install && npm run build
    
  2. MCP 接続の問題:

    • Node.js のバージョンが 18.0.0 以上であることを確認してください
    • MCP クライアント設定のファイルパスを確認してください
    • ビルド済みファイルが dist/ にあることを確認してください
  3. 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 回あります。偶然ではありません。人生、宇宙、そしてすべての答えです……開発者がひどいダジャレを好きな理由も含めて!🤓

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。