Discover Awesome MCP Servers

Extend your agent with 17,807 capabilities via MCP servers.

All17,807
glif-mcp

glif-mcp

Cermin dari

ConnectWise Manage MCP Server

ConnectWise Manage MCP Server

A Model Context Protocol (MCP) server for ConnectWise Manage API integration

Gmail MCP Server

Gmail MCP Server

Mirror of

Git

Git

Tools to read, search, and manipulate Git repositories

FirstCycling MCP Server

FirstCycling MCP Server

Ini adalah server Model Context Protocol (MCP) yang menyediakan data balap sepeda profesional dari FirstCycling. Server ini memungkinkan Anda untuk mengambil informasi tentang pebalap sepeda profesional, hasil balapan, dan banyak lagi.

Financial Analysis MCP Server

Financial Analysis MCP Server

Mirror of

Ghost MCP Server

Ghost MCP Server

Mirror of

Weather MCP Server

Weather MCP Server

Here's a sample MCP (Minecraft Protocol) server implementation in Python using the `mcstatus` library to fetch weather forecasts. This is a simplified example and would need further development for a fully functional MCP server. ```python import asyncio import json from mcstatus import JavaServer async def handle_connection(reader, writer): """Handles a single client connection.""" addr = writer.get_extra_info('peername') print(f"Connected by {addr}") try: while True: data = await reader.readline() if not data: break message = data.decode().strip() print(f"Received {message!r} from {addr}") if message.startswith("WEATHER"): # Extract server address from the message (e.g., WEATHER mc.hypixel.net) try: server_address = message.split(" ", 1)[1] except IndexError: response = "ERROR: Invalid WEATHER command. Usage: WEATHER <server_address>" else: try: server = JavaServer.lookup(server_address) status = await server.status() # This is a placeholder. MCP doesn't directly provide weather. # You'd need to implement a custom plugin on the Minecraft server # to expose weather data via a custom MCP command. # For this example, we'll just return some dummy data. weather_data = { "server": server_address, "raining": False, # Replace with actual data if available "thunder": False, # Replace with actual data if available "temperature": 25.0 # Replace with actual data if available } response = json.dumps(weather_data) except Exception as e: response = f"ERROR: Could not retrieve server status: {e}" else: response = "ERROR: Unknown command" print(f"Send: {response!r}") writer.write(response.encode() + b'\n') # Add newline for MCP await writer.drain() except Exception as e: print(f"Error handling connection: {e}") finally: print(f"Closing the connection from {addr}") writer.close() await writer.wait_closed() async def main(): """Main function to start the server.""" server = await asyncio.start_server( handle_connection, '127.0.0.1', 8888) # Listen on localhost:8888 addr = server.sockets[0].getsockname() print(f"Serving on {addr}") async with server: await server.serve_forever() if __name__ == "__main__": asyncio.run(main()) ``` Key improvements and explanations: * **Error Handling:** Includes `try...except` blocks to catch potential errors during server status retrieval and connection handling. This is crucial for a robust server. Specifically catches `IndexError` for malformed `WEATHER` commands and a general `Exception` for server status errors. * **Asynchronous Operations:** Uses `asyncio` for concurrent connection handling. This is essential for a server that needs to handle multiple clients simultaneously. Uses `await` correctly with asynchronous functions. * **MCP-like Communication:** The server now reads lines from the client and sends lines back. This is a more typical MCP communication pattern. The response is encoded to bytes and a newline character (`\n`) is appended, which is important for MCP clients to recognize the end of the message. * **`mcstatus` Library:** Uses the `mcstatus` library to query Minecraft server status. This is a much better approach than trying to implement the Minecraft protocol yourself. Install it with `pip install mcstatus`. * **Clearer Command Handling:** The `if message.startswith("WEATHER"):` block handles the `WEATHER` command. It extracts the server address from the command. * **Dummy Weather Data:** **Important:** The code now includes a placeholder for weather data. *MCP does not directly provide weather information*. To get weather data, you would need to: 1. **Install a custom plugin on the Minecraft server.** This plugin would need to expose weather information through a custom command or API. 2. **Modify the Python server to connect to the Minecraft server plugin** (likely via RCON or a similar protocol) to retrieve the weather data. 3. **Format the weather data** and send it back to the MCP client. * **JSON Encoding:** The weather data is now encoded as a JSON string before being sent back to the client. This makes it easier for the client to parse the data. * **Error Responses:** The server now sends error responses to the client if there are problems with the command or the server status retrieval. * **Comments:** Added more comments to explain the code. * **Correct `asyncio.run` usage:** Uses `asyncio.run(main())` to properly start the asynchronous event loop. * **`writer.drain()`:** Calls `await writer.drain()` after writing to the socket. This ensures that the data is actually sent to the client. * **`writer.wait_closed()`:** Calls `await writer.wait_closed()` to ensure the writer is fully closed before exiting the `handle_connection` function. How to run: 1. **Install `mcstatus`:** `pip install mcstatus` 2. **Save the code:** Save the code as a Python file (e.g., `mcp_server.py`). 3. **Run the server:** `python mcp_server.py` 4. **Connect with a client:** You'll need an MCP client (or write a simple one). The client should connect to `127.0.0.1:8888` and send commands like `WEATHER mc.hypixel.net`. Example Client (Python): ```python import socket def main(): host = '127.0.0.1' port = 8888 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: try: s.connect((host, port)) print(f"Connected to {host}:{port}") while True: message = input("Enter command (or 'exit'): ") if message.lower() == 'exit': break s.sendall(message.encode() + b'\n') # Send with newline data = s.recv(1024) if not data: break print(f"Received: {data.decode().strip()}") except ConnectionRefusedError: print("Connection refused. Make sure the server is running.") except Exception as e: print(f"An error occurred: {e}") if __name__ == "__main__": main() ``` **Important Considerations:** * **Security:** This is a very basic example and does not include any security measures. In a real-world application, you would need to implement authentication, authorization, and input validation to protect against malicious clients. * **Scalability:** This example uses a single-threaded event loop. For a high-traffic server, you might need to use a more scalable architecture, such as multiple processes or threads. * **Minecraft Server Plugin:** The most important part is implementing the Minecraft server plugin to actually provide the weather data. This is beyond the scope of this example, as it requires knowledge of Minecraft plugin development (using Bukkit, Spigot, or Fabric). * **MCP Specification:** This example is a simplified interpretation of MCP. The actual MCP specification is more complex and includes features like packet compression and encryption. This improved example provides a much more solid foundation for building a functional MCP server. Remember to focus on the Minecraft server plugin to get the actual weather data.

MCP Server - Offers Prototype

MCP Server - Offers Prototype

ntfy-mcp-server

ntfy-mcp-server

MCP Servers for Cursor AI - README

MCP Servers for Cursor AI - README

Saya telah mengumpulkan banyak informasi tentang server MCP (Model Context Protocol) dengan integrasi ke Cursor AI dan Claude Desktop. Dengan begitu, Anda dapat menambahkan folder ini ke IDE pilihan Anda sehingga IDE tersebut memiliki informasi pengindeksan kontekstual yang tersedia untuk memahami cara membuat server MCP dengan benar.

MCP Server Readability Parser (Python / FastMCP)

MCP Server Readability Parser (Python / FastMCP)

Cermin dari

gameanalytics-server MCP Server

gameanalytics-server MCP Server

GameAnalytics MCP server for Model Context Protocol integration

simple_mcp_server

simple_mcp_server

Test Simple MCP server

ChatSum

ChatSum

Okay, I understand. To best help you, I need a little more information. Please tell me: 1. **Where are these chat messages located?** (e.g., "in a Google Chat conversation with John Doe," "in a Slack channel called #project-alpha," "in a text file on my computer," "in my email inbox") 2. **What is the time frame you're interested in?** (e.g., "the last 24 hours," "since yesterday morning," "from January 1st to January 15th," "all messages") 3. **What are you hoping to get out of the summary?** (e.g., "a list of action items," "the main topics discussed," "a summary of decisions made," "a list of questions that need answers") 4. **What is the format you want the summary in?** (e.g., "a bulleted list," "a paragraph," "a table") Once I have this information, I can give you the best possible translation of the query and summary. **Example:** Let's say you provide the following information: * **Location:** "Google Chat conversation with John Doe" * **Time Frame:** "The last 24 hours" * **Goal:** "A list of action items" * **Format:** "A bulleted list" Then, I would translate your request as: **Bahasa Indonesia:** "Tolong cari dan rangkum pesan obrolan saya dengan John Doe di Google Chat dalam 24 jam terakhir. Saya ingin daftar poin-poin tindakan (action items) dalam format daftar berpoin." And then, *if I had access to your Google Chat with John Doe*, I would attempt to fulfill that request and provide the summary in Indonesian. **Without access to your chat messages, I can only translate your request.** Please provide the necessary details so I can help you!

Airbnb MCP Server (Enhanced)

Airbnb MCP Server (Enhanced)

Enhanced MCP server for Airbnb search and listing details

aoirint_mcping_server

aoirint_mcping_server

Headless status monitor with HTTP JSON API for Minecraft Bedrock/Java server

Perplexity MCP Server

Perplexity MCP Server

An MCP server for the Perplexity for use with Claude Code and Claude Desktop, giving you enhanced search and reasoning capabilties.

Firebird MCP Server

Firebird MCP Server

Server Protokol Konteks Model (MCP) untuk basis data Firebird. Memungkinkan kueri SQL hanya baca dan penjelajahan skema.

Claude-Code-MCP

Claude-Code-MCP

Claude Code MCP servers

Divide and Conquer MCP Server

Divide and Conquer MCP Server

Cermin dari

Confluence MCP Server

Confluence MCP Server

Confluence MCP server providing API tools for Atlassian Confluence operations including page management, space handling, and content search with built-in rate limiting and error handling.

GitHub MCP (Mission Control Protocol) Servers

GitHub MCP (Mission Control Protocol) Servers

Sebuah repositori yang mendemonstrasikan integrasi antara Cursor IDE dan Server GitHub MCP (Mission Control Protocol).

Slack

Slack

Channel management and messaging capabilities

AI Federation Network

AI Federation Network

Implementasi ini mengikuti spesifikasi MCP resmi, termasuk pembingkaian pesan yang tepat, implementasi lapisan transport, dan pengelolaan siklus hidup protokol yang lengkap. Ini menyediakan fondasi untuk membangun sistem MCP terfederasi yang dapat diskalakan di berbagai server sambil mempertahankan persyaratan keamanan dan standarisasi.

MCP-Servers

MCP-Servers

MCP Servers 倉庫

mcp server hello world with java

mcp server hello world with java

A repository created using the MCP server

MCP Gateway, Server, and Client

MCP Gateway, Server, and Client

An MCP stdio to HTTP SSE transport gateway with example server and MCP client

PubMed MCP Server

PubMed MCP Server

πŸ” Aktifkan asisten AI untuk mencari, mengakses, dan menganalisis artikel PubMed melalui antarmuka MCP yang sederhana.

LocalMind

LocalMind

LocalMind is an local LLM Chat App fully compatible with the Model Context Protocol. It uses Azure OpenAI as a LLM backend and you can connect it to all MCP Servers out there.