Dad Jokes Mcp

by OrenGrinker

216 downloads
Not rated
GitHub

About

A professional Model Context Protocol (MCP) server that brings the joy of dad jokes to your development workflow. Perfect for lightening the mood during code reviews, team meetings, or when you need a quick laugh break.

Details

Author
OrenGrinker
Downloads
216
Categories
Communication, Other

- Multiple joke styles: classic, punny, wholesome, groan-worthy
- Topic-based joke generation on specific subjects
- Random joke generation for quick inspiration
- Joke rating system with feedback capability
- Category browser to explore available joke categories
- Fun statistics on dad joke usage

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Dad Jokes Mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The README does not provide explicit installation or configuration instructions. Standard MCP server setup is assumed; refer to the MCP documentation for integration details.

get-joke-categories

joke-stats

joke-of-the-day

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dad jokes mcp": {
            "dad-jokes": {
                "command": "npx",
                "args": [
                    "-y",
                    "dad-jokes-mcp-server"
                ]
            }
        }
    }
}

McpServers

{
    "dad-jokes": {
        "command": "npx",
        "args": [
            "-y",
            "dad-jokes-mcp-server"
        ]
    }
}

Generates dad jokes with multiple styles and topics, complete with ratings and fun statistics.

A professional Model Context Protocol (MCP) server that brings the joy of dad jokes to your development workflow. Perfect for lightening the mood during code reviews, team meetings, or when you need a quick laugh break.

- Multiple Joke Styles: Classic, punny, wholesome, and groan-worthy variants
- Topic-Based Generation: Generate jokes about specific subjects
- Random Joke Generation: Get random jokes when you need inspiration
- Joke Rating System: Rate and get feedback on dad jokes
- Category Browser: Explore available joke categories
- Fun Statistics: Get interesting dad joke statistics
- Type-Safe: Built with TypeScript for robust development
- Professional Architecture: Clean, maintainable code structure

- Node.js >= 18.0.0
- npm or yarn
- TypeScript knowledge (optional but helpful)

# 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 a dad joke on a specific topic with optional style.

- topic(string): The subject for the joke
- style(optional string): "classic", "punny", "wholesome", or "groan-worthy"

{ "topic": "programming", "style": "punny" }

"Why do programmers prefer dark mode? Because light attracts bugs!"

- count(optional string): Number of jokes to generate ("1" to "5")

Get a professional rating and feedback for a dad joke.

{ "joke": "Why don't scientists trust atoms? Because they make up everything!" }

Returns:List of 15 joke categories including Animals, Food, Technology, Sports, etc.

Returns:Entertaining statistics like success rates, average groan time, and more!

Add to your Claude Desktop configuration file:

macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "dad-jokes": { "command": "node", "args": ["/path/to/dad-jokes-mcp-server/dist/index.js"], "env": {} } } }

For other MCP-compatible clients, use the stdio transport:

node /path/to/dad-jokes-mcp-server/dist/index.js

The server is built with a clean, object-oriented architecture:

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: Main server class handling MCP protocol
- Prompt Management: Organized prompt definitions with proper validation
- Tool Integration: Extensible tool system for additional functionality
- Error Handling: Comprehensive error handling and logging
- Type Safety: Full TypeScript coverage with strict configuration

Prompt: generate-dad-joke Topic: "TypeScript" Style: "punny"
Prompt: rate-dad-joke Joke: "Why do developers wear glasses? Because they can't C#!"

- Code Review Comments: Add dad jokes to lighten PR reviews
- Team Standup: Start meetings with a daily dad joke
- Error Messages: Soften build failures with humor
- Documentation: Add personality to technical docs
- Slack Bots: Integrate with team communication tools

The project includes a basic test structure:

# 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

Modify the joke categories, styles, or statistics by editing the arrays insrc/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"];
# 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

We welcome contributions! Here's how to get started:
- Fork the repositoryon GitHub
- Clone your fork:

git clone https://github.com/YOUR-USERNAME/dad-jokes-mcp-server.git cd dad-jokes-mcp-server
git commit -m "Add amazing feature"

- Follow TypeScript best practices
- Add tests for new features
- Update documentation for API changes
- Runnpm run lintbefore committing
- Keep jokes family-friendly and inclusive

- 🎭New joke categories(Science, Gaming, etc.)
- 🛠️Additional tools(joke history, favorites)
- 🎨Joke formatting(ASCII art, emojis)
- 🧪Test coverageimprovements
- 📚Documentationenhancements
- 🚀Performanceoptimizations

# Clear cache and rebuild npm run clean && npm install && npm run build

- Verify Node.js version >= 18.0.0
- Check file paths in MCP client configuration
- Ensure the built files exist indist/

- Runnpm run lintto check for issues
- Verify all dependencies are installed

- Issues:GitHub Issues
- Discussions:
GitHub Discussions
- Documentation: Check the README and code comments

This project is licensed under the MIT License - see theLICENSEfile for details.

Dad jokes are more than just humor—they're:

- Ice breakersfor team meetings
- Stress relieversduring intense coding sessions
- Conversation startersin code reviews
- Morale boostersfor development teams
- Universal languagethat transcends technical barriers
- Confidence builders(if you can survive a dad joke, you can handle any code review)

Future enhancements we're considering:

- 🎯Joke persistence(save favorites)
- 🌐Multi-language support
- 🤖AI-powered joke generationimprovements
- 📊Analytics(most popular jokes, usage stats)
- 🎨Rich formatting(markdown, emojis)
- 🔌More integrations(Slack, Discord, etc.)

- Model Context Protocolteam for the excellent framework
- The dad joke community for endless inspiration
- All contributors who help make this project better
- Every developer who appreciates a good (bad) pun

- Language: TypeScript
- Runtime: Node.js
- Protocol: Model Context Protocol (MCP)
- License: MIT
- Maintainer:
OrenGrinker

Remember: A day without laughter is a day wasted, but a day with dad jokes is a day where everyone groans together.😄

Fun Fact: This README contains exactly 42 dad joke references. That's not a coincidence – it's the answer to life, the universe, and everything... including why developers love terrible puns! 🤓

A professional Bazi (Chinese astrology) calculation server providing full analysis including four pillars, five elements, zodiac, and lunar dates with timezone support.

Enable fast, free real-time web search and access premium data from trusted media brands for news, financial markets, sports, entertainment, weather, and more.

Connect Claude, GPT, and any MCP-compatible AI agent directly to FunGenerators.com. Generate names, insults, job titles, lorem ipsum, lottery numbers, and much more — all from a single tool call.

Give your AI agent access to 150+ translators covering fictional languages, pop culture dialects, historical languages, technical encodings, and internet slang.

A server that translates Chinese text into cute cat language expressions.

An AI-powered, synthwave, maze-crawling, and world-building adventure game server.

Tracks movies, books, and TV shows to provide intelligent recommendations based on your preferences.

A server for the scenario-word MCP, built with the mcp-framework.

Trending content from Hacker News, Dev.to, IMDb, podcasts, and Eventbrite

Provides tarot card readings, including single card draws, multi-card spreads, and full deck access.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.