Discover Awesome MCP Servers

Extend your agent with 82,064 capabilities via MCP servers.

All82,064
Icypeas MCP Server

Icypeas MCP Server

A Model Context Protocol server that integrates with the Icypeas API to help users find work emails based on name and company information.

Comedy MCP Server

Comedy MCP Server

Okay, I understand. You want to create an MCP (presumably Minecraft Protocol) server using the C# SDK (likely a library like Minecraft.Net or similar) that automatically enhances code comments with jokes retrieved from the JokeAPI. Here's a breakdown of the concept, potential code structure, considerations, and a basic example. Keep in mind this is a complex project and this is a high-level outline. You'll need to adapt it to your specific Minecraft server implementation and C# SDK. **Conceptual Outline** 1. **Minecraft Server Setup (MCP & C# SDK):** * You'll need a working Minecraft server implementation using a C# SDK. This is the foundation. I'm assuming you already have this or are in the process of setting it up. The specific SDK you use will dictate how you handle player connections, chat, and server events. * Understand how your chosen SDK handles chat messages and server commands. You'll need to intercept or modify chat messages to inject the jokes. 2. **JokeAPI Integration:** * Use the `HttpClient` class in C# to make requests to the JokeAPI. * Parse the JSON response from the JokeAPI to extract the joke. * Handle different joke types (single, two-part). * Implement error handling for API requests (e.g., network issues, API downtime). 3. **Comment Detection and Augmentation:** * **This is the tricky part.** You need a way to detect when a player is *likely* entering a comment. Minecraft doesn't have a formal "comment" system in chat. You'll have to use heuristics. Here are some ideas: * **Prefix Detection:** Look for common comment prefixes like `//`, `#`, `/*`, `*/`, or similar. Players would have to use these prefixes. * **Command-Based Comments:** Create a custom server command (e.g., `/comment <text>`) that signals a comment. This is the most reliable approach. * **Keyword Detection:** Look for keywords like "note:", "comment:", "todo:", etc. * **Contextual Analysis (Advanced):** Attempt to analyze the chat message for code-like syntax (e.g., variable names, operators) and assume it's a comment if it looks like code. This is very complex and prone to errors. * Once a comment is detected, fetch a joke from the JokeAPI. * Format the joke and append it to the comment. * Send the modified message back to the player (or broadcast it to the server, depending on your goal). 4. **Configuration:** * Allow configuration of the comment prefix, joke categories (e.g., programming, dark, pun), and other settings. Use a configuration file (e.g., JSON, XML) or a simple text file. **Example Code Snippet (Illustrative - Adapt to Your SDK)** ```csharp using System; using System.Net.Http; using System.Text.Json; using System.Threading.Tasks; public class JokeHandler { private static readonly HttpClient client = new HttpClient(); private const string JokeApiUrl = "https://v2.jokeapi.dev/joke/Programming,Christmas?blacklistFlags=nsfw,racist,sexist,explicit&safe-mode"; // Example URL public static async Task<string> GetJokeAsync() { try { HttpResponseMessage response = await client.GetAsync(JokeApiUrl); response.EnsureSuccessStatusCode(); // Throw exception if not successful string responseBody = await response.Content.ReadAsStringAsync(); JsonDocument jsonDocument = JsonDocument.Parse(responseBody); JsonElement root = jsonDocument.RootElement; if (root.TryGetProperty("error", out JsonElement errorElement) && errorElement.GetBoolean()) { return "Error fetching joke."; } if (root.TryGetProperty("type", out JsonElement typeElement)) { string type = typeElement.GetString(); if (type == "single") { if (root.TryGetProperty("joke", out JsonElement jokeElement)) { return jokeElement.GetString(); } } else if (type == "twopart") { if (root.TryGetProperty("setup", out JsonElement setupElement) && root.TryGetProperty("delivery", out JsonElement deliveryElement)) { return $"{setupElement.GetString()}\n{deliveryElement.GetString()}"; } } } return "Could not parse joke."; } catch (HttpRequestException e) { Console.WriteLine($"Exception: {e.Message}"); return "Error fetching joke."; } catch (JsonException e) { Console.WriteLine($"JSON Exception: {e.Message}"); return "Error parsing joke."; } } } public class MinecraftServerHandler { // Assuming you have a way to intercept chat messages in your SDK public async Task HandleChatMessage(string playerName, string message) { string commentPrefix = "//"; // Example comment prefix if (message.StartsWith(commentPrefix)) { string joke = await JokeHandler.GetJokeAsync(); string augmentedMessage = $"{message} // {joke}"; // Send the augmented message back to the player or broadcast it SendMessageToPlayer(playerName, augmentedMessage); // Replace with your SDK's method } else { // Handle normal messages SendMessageToAll(message); } } // Placeholder methods - replace with your SDK's functions private void SendMessageToPlayer(string playerName, string message) { Console.WriteLine($"Sending to {playerName}: {message}"); // Your SDK's code to send a message to a specific player } private void SendMessageToAll(string message) { Console.WriteLine($"Sending to all: {message}"); // Your SDK's code to broadcast a message to all players } } public class Program { public static async Task Main(string[] args) { // Example usage MinecraftServerHandler serverHandler = new MinecraftServerHandler(); // Simulate a chat message await serverHandler.HandleChatMessage("Player123", "// This is a comment"); await serverHandler.HandleChatMessage("Player456", "Hello, world!"); Console.ReadKey(); } } ``` **Important Considerations:** * **Rate Limiting:** The JokeAPI might have rate limits. Implement proper error handling and potentially caching to avoid exceeding the limits. Consider using a library like Polly for retry policies. * **Asynchronous Operations:** Use `async` and `await` for network requests to avoid blocking the main server thread. * **Error Handling:** Robust error handling is crucial. Catch exceptions when making API requests and gracefully handle errors. Log errors for debugging. * **Security:** Be mindful of security. Don't expose sensitive information in chat messages. Sanitize input to prevent injection attacks. * **Performance:** Fetching jokes from an external API adds latency. Consider caching jokes or using a local joke database to improve performance. * **User Experience:** The augmented comments should be readable and not disruptive. Consider formatting the joke appropriately. * **Configuration:** Make the comment prefix, joke categories, and other settings configurable. * **SDK Specifics:** The code will heavily depend on the specific Minecraft C# SDK you are using. Refer to the SDK's documentation for how to handle chat messages, server commands, and player connections. * **Blacklisting:** The JokeAPI allows you to blacklist certain types of jokes. Use this feature to filter out jokes that are inappropriate for your server. * **Safe Mode:** Enable safe mode in the JokeAPI to further filter jokes. **Steps to Implement:** 1. **Choose a C# Minecraft SDK:** Research and select a suitable SDK for your needs. Popular options include Minecraft.Net (if you're building a custom server from scratch) or libraries that work with existing server platforms. 2. **Set up your Minecraft server:** Get your basic server running with the chosen SDK. 3. **Implement JokeAPI integration:** Create a class (like `JokeHandler` in the example) to handle fetching jokes from the JokeAPI. 4. **Implement comment detection:** Choose a method for detecting comments (prefix, command, etc.). 5. **Integrate comment augmentation:** Modify the chat message handling logic to detect comments, fetch jokes, and augment the messages. 6. **Add configuration:** Allow users to configure the comment prefix, joke categories, and other settings. 7. **Test thoroughly:** Test the implementation thoroughly to ensure it works correctly and doesn't cause any issues with the server. This is a complex project, but by breaking it down into smaller steps, you can gradually build the functionality you need. Remember to consult the documentation for your chosen Minecraft C# SDK and the JokeAPI. Good luck!

real-estate-analyzer

real-estate-analyzer

Analyzes real estate locations using Kakao Local API, providing insights on education, transportation, convenience, nature, and future value.

Naver Search Ad MCP

Naver Search Ad MCP

An MCP server for the Naver Search Ad API that enables querying campaigns, ad groups, keywords, stats, keyword research, and bid estimates through any MCP client.

rapid7-mcp-server

rapid7-mcp-server

Enables querying Rapid7 InsightIDR logs using natural language through AI assistants, with support for time filtering, logset selection, and LEQL queries.

Mergen

Mergen

AI-Powered Red Team MCP Server enabling autonomous penetration testing via Model Context Protocol with 44+ security tools for AI agents.

Anchor MCP

Anchor MCP

A lightweight MCP sidecar exposing safe, read-only Anchor note tools to ChatGPT via a tunnel client in the same Docker stack. It currently supports listing, searching, reading notes, tags, and attachment metadata without exposing Anchor's private API or database.

SITUROOM MCP Server

SITUROOM MCP Server

Enables agents to fetch real-time earthquake, natural events, conflict headlines, market data, and tension index from free public sources via tools like get_quakes, get_events, get_headlines, get_tension, get_markets.

cl-bamboohr-mcp

cl-bamboohr-mcp

A comprehensive BambooHR MCP server providing read/write access to employee data, time-off, files, analytics, and reports.

Polymarket MCP Server

Polymarket MCP Server

Enable Claude to autonomously trade, analyze, and manage positions on Polymarket with 45 comprehensive tools, real-time WebSocket monitoring, and enterprise-grade safety features.

mark-coach-mcp

mark-coach-mcp

Local MCP server that turns Mark Builds Brands' YouTube knowledge into an AI coaching assistant for ecommerce and Facebook Ads.

mcp-coinbase

mcp-coinbase

Browser-automated MCP server for Coinbase crypto exchange, enabling live prices, portfolio management, transaction history, and trading.

stacksfinder-mcp

stacksfinder-mcp

Tech stack recommendations for developers. Deterministic 6-dimension scoring across 30+ technologies. 4 free tools, Pro features with API key.

PinePaper MCP Server

PinePaper MCP Server

Enables AI assistants to create and animate graphics in PinePaper Studio using natural language, supporting text, shapes, behavior-driven animations, procedural backgrounds, and SVG export.

cn-llm-bridge

cn-llm-bridge

Enables Claude Code to leverage Chinese LLMs for multimodal tasks including image analysis, audio transcription, and deep synthesis via MCP protocol.

nuzo-memory

nuzo-memory

Local-first, auditable memory for AI agents. Provides durable context for MCP hosts with SQLite storage, CLI, and MCP tools for memory management.

Meraki Magic MCP

Meraki Magic MCP

A Python-based MCP server that enables querying Cisco's Meraki Dashboard API to discover, monitor, and manage Meraki environments.

Generate Tech Stack

Generate Tech Stack

Visual tech-stack inventory of any codebase: languages, frameworks, databases, AI SDKs, infra.

mcp-technitium-dns

mcp-technitium-dns

Safety-focused MCP server for querying and managing Technitium DNS Server through its HTTP API, with strict input validation and audit logging.

database

database

Database MCP server for MySQL, MariaDB, PostgreSQL & SQLite

turath

turath

MCP server to search and retrieve passages from a corpus of 7,872 classical Islamic books via the Sahifah API, with full citations and mu'tabar filtering.

MegaMem

MegaMem

Syncs Obsidian notes into a temporal knowledge graph and exposes 23 MCP tools for AI assistants to read, search, and write to your vault, enabling persistent memory across conversations.

Html2url

Html2url

SecureCode MCP

SecureCode MCP

Standalone MCP server that provides security scanning, project mapping, and vulnerability fix generation to AI coding assistants.

GoHighLevel MCP Server

GoHighLevel MCP Server

A Model Context Protocol (MCP) server that provides tools for managing GoHighLevel (GHL) conversations, tasks, and calendar appointments through AI assistants like Claude.

Genesis MCP Server

Genesis MCP Server

A template for deploying remote MCP servers on Cloudflare Workers without authentication. Provides a foundation for building custom MCP tools that can be accessed from Claude Desktop or the Cloudflare AI Playground.

mcp-taginfo

mcp-taginfo

Provides statistics on OpenStreetMap tags (keys and key=value pairs) via MCP tools, enabling querying of tag usage and metadata.

mcp-comfy-ui-builder

mcp-comfy-ui-builder

Enables discovery of ComfyUI nodes and building/managing workflows with real-time execution via WebSocket. Provides 50+ tools for node discovery, workflow building, template usage, model management, and batch/chain execution.

mcplex

mcplex

Semantic tool-routing gateway for MCP servers that cuts 70-90% of context tokens, with RBAC, API-key auth, response caching, hot-reload config, and a real-time observability dashboard.

TypeScript MCP Server Boilerplate

TypeScript MCP Server Boilerplate

A boilerplate project for quickly developing Model Context Protocol (MCP) servers using TypeScript SDK, with examples of tools (calculator, greeting) and resources (server info).