Discover Awesome MCP Servers

Extend your agent with 84,516 capabilities via MCP servers.

All84,516
mcp_server

mcp_server

Okay, I can help you outline the steps and provide some code snippets to guide you in implementing a sample MCP (Media Control Protocol) server using a Dolphin MCP client. Keep in mind that this is a simplified example, and a full implementation would require more robust error handling, state management, and feature support. **Conceptual Overview** 1. **Dolphin MCP Client:** This is the application (e.g., a media player, a control panel) that sends MCP commands to the server. We'll assume you have a Dolphin MCP client already available or are using a library that emulates one. 2. **MCP Server:** This is the application you'll build. It listens for incoming MCP connections, parses the commands, performs actions based on those commands, and sends responses back to the client. **Steps to Implement a Sample MCP Server** 1. **Choose a Programming Language and Libraries:** * **Python:** A good choice for rapid prototyping and ease of use. Use the `socket` library for network communication. * **Node.js:** Suitable for asynchronous, event-driven servers. Use the `net` module. * **Java:** A robust option for larger, more complex servers. Use the `java.net` package. * **C#:** Well-suited for Windows environments. Use the `System.Net.Sockets` namespace. For this example, I'll use Python because it's concise and widely accessible. 2. **Set up a Socket Server:** * Create a socket that listens on a specific port (e.g., 9000). * Accept incoming connections from clients. 3. **Receive and Parse MCP Commands:** * Read data from the socket. * Parse the incoming data as MCP commands. You'll need to understand the MCP command format (e.g., command codes, parameters). Refer to the Dolphin MCP documentation for details. * Common MCP commands include: * `PLAY` * `PAUSE` * `STOP` * `SEEK` * `VOLUME` * `STATUS` 4. **Implement Command Handlers:** * Create functions or methods to handle each MCP command. * These handlers will perform the appropriate actions (e.g., start playback, pause playback, set the volume). * For this sample, we'll simulate these actions (e.g., print a message to the console). 5. **Send Responses:** * After processing a command, send a response back to the client. * Responses typically include a status code (e.g., `OK`, `ERROR`) and any relevant data. **Python Example Code** ```python import socket HOST = '127.0.0.1' # Standard loopback interface address (localhost) PORT = 9000 # Port to listen on (non-privileged ports are > 1023) def handle_play(): print("Received PLAY command. Simulating playback...") return "OK: Playing" def handle_pause(): print("Received PAUSE command. Simulating pause...") return "OK: Paused" def handle_stop(): print("Received STOP command. Simulating stop...") return "OK: Stopped" def handle_seek(time): print(f"Received SEEK command. Seeking to {time}...") return f"OK: Seeked to {time}" def handle_volume(level): print(f"Received VOLUME command. Setting volume to {level}...") return f"OK: Volume set to {level}" def handle_status(): print("Received STATUS command. Returning status...") return "OK: Status - Playing" # Replace with actual status def process_command(command): """Parses and executes MCP commands.""" parts = command.split(" ") command_name = parts[0].upper() if command_name == "PLAY": return handle_play() elif command_name == "PAUSE": return handle_pause() elif command_name == "STOP": return handle_stop() elif command_name == "SEEK": if len(parts) > 1: try: time = int(parts[1]) return handle_seek(time) except ValueError: return "ERROR: Invalid time format" else: return "ERROR: Missing time parameter" elif command_name == "VOLUME": if len(parts) > 1: try: level = int(parts[1]) return handle_volume(level) except ValueError: return "ERROR: Invalid volume level" else: return "ERROR: Missing volume level parameter" elif command_name == "STATUS": return handle_status() else: return "ERROR: Unknown command" with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f"Listening on {HOST}:{PORT}") conn, addr = s.accept() with conn: print(f"Connected by {addr}") while True: data = conn.recv(1024) # Receive up to 1024 bytes if not data: break # Client disconnected command = data.decode().strip() # Decode bytes to string and remove leading/trailing whitespace print(f"Received command: {command}") response = process_command(command) conn.sendall(response.encode()) # Encode the response back to bytes print("Server stopped.") ``` **Explanation:** * **`socket.socket()`:** Creates a socket object. * **`s.bind()`:** Binds the socket to a specific address and port. * **`s.listen()`:** Enables the server to accept connections. * **`s.accept()`:** Accepts a connection from a client. Returns a new socket object (`conn`) representing the connection and the client's address (`addr`). * **`conn.recv()`:** Receives data from the client. * **`data.decode()`:** Decodes the received bytes into a string. * **`process_command()`:** Parses the command and calls the appropriate handler function. * **`conn.sendall()`:** Sends data back to the client. * **`data.encode()`:** Encodes the response string back into bytes. **How to Run:** 1. Save the code as a Python file (e.g., `mcp_server.py`). 2. Run the script from your terminal: `python mcp_server.py` **Testing with a Simple Client (netcat)** You can use `netcat` (often abbreviated as `nc`) to simulate a Dolphin MCP client for testing: 1. Open a new terminal window. 2. Connect to the server: `nc localhost 9000` 3. Type MCP commands (e.g., `PLAY`, `PAUSE`, `VOLUME 50`, `STATUS`) and press Enter. 4. You should see the server's responses in the `netcat` terminal and the server's output in the server's terminal. **Important Considerations:** * **Error Handling:** The example code has minimal error handling. You should add more robust error handling to catch exceptions and handle invalid input. * **MCP Specification:** Refer to the official Dolphin MCP documentation for the exact command formats, status codes, and data structures. The example code assumes a simplified command format. * **Threading/Asynchronous Operations:** For a production server, use threading or asynchronous operations (e.g., `asyncio` in Python, `Promises` in Node.js) to handle multiple client connections concurrently. The single-threaded example above will only handle one client at a time. * **Security:** If you're exposing the server to a network, consider security implications (e.g., authentication, authorization). * **State Management:** The server needs to maintain state (e.g., the current playback status, volume level) to respond correctly to commands. * **Real Media Control:** The example only *simulates* media control. To actually control media playback, you'll need to integrate with a media player library or API (e.g., VLC, GStreamer). **Next Steps:** 1. **Study the Dolphin MCP Specification:** This is crucial for understanding the exact command formats and protocols. 2. **Implement More Commands:** Add handlers for all the MCP commands you want to support. 3. **Add Error Handling:** Make the server more robust by handling potential errors. 4. **Implement Concurrency:** Use threading or asynchronous operations to handle multiple clients. 5. **Integrate with a Media Player:** Connect the server to a media player library to control actual media playback. This detailed explanation and code example should give you a solid foundation for building your MCP server. Remember to consult the Dolphin MCP documentation for the most accurate and up-to-date information. Good luck!

Wise MCP Server

Wise MCP Server

Enables access to Wise API functionality for managing recipients and sending money transfers. Supports listing recipients, creating new recipients, validating account details, and executing money transfers with authentication handling.

MCP server for kintone by Deno サンプル

MCP server for kintone by Deno サンプル

Slack MCP Server

Slack MCP Server

A FastMCP-based server that provides complete Slack integration for Cursor IDE, allowing users to interact with Slack API features using natural language.

jioaicloud-mcp-server

jioaicloud-mcp-server

Local MCP server for managing JioAICloud backups from Cursor, enabling browsing, duplicate detection, safe trashing, album management, and inventory exports using your own account.

godot-mcp-bridge

godot-mcp-bridge

Let Claude, Cursor, or any MCP-compatible AI work inside your Godot project: read and edit scenes, write and validate scripts, run the game, drive it, and read the errors — without copy-pasting anything.

Banking MCP Server

Banking MCP Server

A comprehensive banking system with MCP server capabilities and REST API, enabling account management, deposits, withdrawals, transfers, and transaction history through natural language or HTTP endpoints.

UNHCR Open Data Gateway MCP

UNHCR Open Data Gateway MCP

Provides a unified interface to access UNHCR's open data across statistics, RDF, and IATI MCP servers, enabling aggregated queries, cross-domain analytics, and dataset discovery.

Neuratel MCP Server

Neuratel MCP Server

Control your voice AI platform through natural language from any MCP-compatible assistant.

Basic MCP Server

Basic MCP Server

A minimal Model Context Protocol (MCP) server demonstrating the implementation of tools, resources, and prompts. It serves as a starter template built with the Smithery SDK for developing custom integrations.

CropProphEU

CropProphEU

EU Crop Intelligence MCP Server — Yield forecasts, weather analysis, and phenology models for 15 countries. AI agent-native, multi-source intelligence (NASA POWER, Eurostat, Open-Meteo).

twitch-mcp

twitch-mcp

This project is a fork and expansion of TomCools' Twitch MCP Server, which implements a Model Context Protocol (MCP) server that integrates with Twitch chat, allowing AI assistants like Claude to interact with your Twitch channel.

nxopen-mcp

nxopen-mcp

Provides AI coding agents with accurate knowledge of the Siemens NXOpen .NET API by performing hybrid retrieval over local documentation, eliminating hallucinated API calls.

Whalesync MCP server

Whalesync MCP server

Enables AI agents to create, manage, and monitor two-way data syncs between platforms like Airtable, Webflow, HubSpot, Salesforce, Notion, and Postgres, including mapping fields, running syncs, and troubleshooting record-level issues.

imap-2-mcp

imap-2-mcp

Enables AI clients to search IMAP mailboxes with live access and a full-text index covering email bodies and attachments (PDF, DOCX, XLSX, text).

MCP Redirect Server

MCP Redirect Server

A Model Context Protocol server built with NestJS that provides OAuth 2.1 authentication with GitHub and exposes MCP tools through Server-Sent Events transport. Enables secure, real-time communication with JWT-based protection and dependency injection.

Lifetechia Mcp Server

Lifetechia Mcp Server

Servidor MCP de Lifetechia

SAS-Test MCP Server

SAS-Test MCP Server

NotebookLM MCP Server

NotebookLM MCP Server

Enables interaction with Google NotebookLM through a real Chrome browser, allowing natural language queries, source ingestion, and audio overview generation.

Gonka Network Pricing

Gonka Network Pricing

Compare LLM inference costs and find cheap alternatives to OpenAI/Anthropic/DeepSeek. Gonka Network offers an OpenAI-compatible API at up to 6800x lower cost than GPT-4o.

AI Search Operations MCP for Bing Webmaster

AI Search Operations MCP for Bing Webmaster

Combines Bing Webmaster data, GA4 AI-traffic opportunity matching, technical SEO scanning, AI-search content audits, approval-gated WordPress fix preparation, live verification, Bing URL submission, and IndexNow integration to help marketers improve pages for human readers and AI search.

github-mcp-server

github-mcp-server

A local MCP server that lets Claude Desktop access GitHub via a personal access token, with tools for repos, issues, PRs, code search, and more.

VibeGuard MCP Server

VibeGuard MCP Server

Enables AI coding tools to scan projects for security vulnerabilities, hardcoded secrets, injection flaws, and privacy violations with 699 rules and 76 MCP tools, all running locally with zero telemetry.

MCP Data Analyst

MCP Data Analyst

Enables AI clients to perform data analysis on CSV datasets through tools for dataset info, summaries, missing value detection, regional sales filtering, and column statistics.

firewalla-mcp

firewalla-mcp

Exposes the Firewalla MSP API as tools for Claude Code and other MCP clients, enabling natural-language management of Firewalla boxes, alarms, rules, devices, flows, target lists, and trends with full read/write capabilities.

MCP Docs Server

MCP Docs Server

Aggregates documentation from multiple sources (llms.txt format or web scraping) and provides semantic search capabilities using vector embeddings and hybrid search for each documentation source.

Qdrant Docs MCP Server

Qdrant Docs MCP Server

A read-only MCP server providing curated Qdrant documentation for LLMs, enabling retrieval of the latest and most accurate documentation.

Windows CLI MCP Server

Windows CLI MCP Server

A Model Context Protocol server that provides secure command-line access to Windows systems, allowing MCP clients like Claude Desktop to safely execute commands in PowerShell, CMD, and Git Bash shells with configurable security controls.

Octopus Energy MCP Server

Octopus Energy MCP Server

Enables retrieval of electricity and gas consumption data from Octopus Energy accounts through their API, with support for date range filtering, pagination, and grouping by time periods.

Reqable Capture Reader MCP Server

Reqable Capture Reader MCP Server

Enables AI assistants to query, filter, and analyze local HTTP capture records and REST API test data from the Reqable tool. It provides read-only access to inspect request/response details, headers, and statistics through natural language.