Comedy MCP Server

Comedy MCP Server

MCP server using C# SDK to enhance comments with jokes from JokeAPI.

Tanner253

Developer Tools
Visit Server

README

Comedy MCP Server

A Model Context Protocol (MCP) server implementation that provides comedy-related tools and services for AI assistants. This server integrates with Cursor IDE and offers various comedy-related functionalities through MCP tools.

Overview

The Comedy MCP Server is built using ASP.NET Core and implements the Model Context Protocol (MCP) to provide AI assistants with tools for generating programming jokes and funny code comments. It serves as a bridge between AI models and comedy-related functionalities.

MCP Server Integration Proof

Features

  • Programming Jokes: Generates random programming-related jokes
  • Code Comments: Creates humorous comments based on code context and topics
  • Echo Service: Demonstration service showing logging capabilities
  • Swagger Integration: API documentation and testing interface
  • Health Check Endpoint: Basic server status monitoring

Architecture

The server is built with the following components:

  • MCP Server Integration: Uses ModelContextProtocol.Server for MCP implementation
  • Comedy Services: Implements IComedyService for joke and comment generation
  • HTTP Communication: Uses stdio for communication with Cursor IDE
  • Logging: Comprehensive logging with configurable levels
  • CORS Support: Configured for MCP inspector tool

Tools

The server provides the following MCP tools:

  1. GetProgrammingJoke

    • Description: Retrieves a random programming-related joke
    • Parameters: None
    • Returns: A string containing the joke
  2. GetCodeComment

    • Description: Generates a funny comment related to specific code context
    • Parameters:
      • codeContext: The code snippet or context
      • topic: The topic for the comment
    • Returns: A humorous comment related to the code
  3. EchoWithLog

    • Description: Demonstration tool that echoes messages with logging
    • Parameters:
      • message: The message to echo
    • Returns: The echoed message

Setup and Configuration

Prerequisites

  • .NET 8.0 SDK or later
  • Node.js 14+ (for MCP inspector tool)
  • A code editor (preferably Cursor IDE for best integration)
  • Git (for version control)

Installation Steps

  1. Clone the repository:
git clone [your-repository-url]
cd ComedyMcpServer
  1. Set up environment:

    • Copy the example environment file:
      copy .env.example .env    # On Windows
      # OR
      cp .env.example .env     # On Unix-based systems
      
    • Update the .env file with your settings if needed
  2. Install dependencies:

dotnet restore
  1. Build the project:
dotnet build

Running the Server

You have several options to run the server:

  1. Development Mode:
dotnet run --environment Development
  1. With MCP Inspector (recommended for debugging MCP tools):
npx @modelcontextprotocol/inspector dotnet run
  1. Production Mode:
dotnet run --environment Production

Verifying Installation

  1. Check the server is running:

    • Open your browser to http://localhost:5000 or the configured port
    • You should see the message "Comedy MCP Server is running!"
  2. Access Swagger Documentation:

    • Navigate to http://localhost:5000/swagger
    • You should see the API documentation
  3. Test MCP Tools:

    • Use the included test script:
      node test-mcp.js
      
    • Or use the MCP inspector interface if running with inspector

Troubleshooting

Common issues and solutions:

  1. Port already in use:

    • Change the port in appsettings.json
    • Or stop the process using the current port
  2. Dependencies missing:

    • Run dotnet restore again
    • Check your .NET SDK version matches the project requirements
  3. Environment variables not loading:

    • Ensure .env file exists and is properly formatted
    • Restart the application after modifying environment files

For more detailed issues, check the application logs in the console output.

Development

The project follows standard ASP.NET Core practices with additional MCP-specific components:

  • Services are registered in the DI container
  • Tools are automatically discovered from the assembly
  • Logging is configured for development and debugging
  • Swagger is available for API documentation

Deployment

The project includes:

  • Procfile: For platform deployment
  • nixpacks.toml: Build configuration
  • Standard ASP.NET Core deployment options

Testing

A test script (test-mcp.js) is included for verifying MCP functionality.

Health Check

Access the root endpoint (/) to verify server status:

GET / -> "Comedy MCP Server is running!"

API Documentation

When running, access Swagger UI at:

/swagger

Contributing

Feel free to contribute by:

  1. Implementing new comedy-related tools
  2. Enhancing existing joke generation
  3. Improving error handling and logging
  4. Adding new comedy services

License

[Your license information here]

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python