Discover Awesome MCP Servers

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

All17,789
Confluence Wiki MCP Server Extension

Confluence Wiki MCP Server Extension

Mirror of

MCPHub 🚀

MCPHub 🚀

MCPHub - A cross-platform GUI application to discover, install, and manage Model Context Protocol (MCP) servers. Think of it as apt/pip but for MCP servers.

Quarkus Model Context Protocol (MCP) Server

Quarkus Model Context Protocol (MCP) Server

This extension enables developers to implement the MCP server features easily.

🌟 Unsplash MCP Server Repository

🌟 Unsplash MCP Server Repository

🔎 A MCP server for Unsplash image search.

Trino MCP Server

Trino MCP Server

Cermin dari

mcp-server

mcp-server

learn to make some mcp servers

Minimal MCP Server

Minimal MCP Server

A minimal implementation of a Model Context Protocol (MCP) server

MCP Servers Multi-Agent AI Infrastructure

MCP Servers Multi-Agent AI Infrastructure

📱 MCP Server for iOS Simulator

📱 MCP Server for iOS Simulator

worker17

worker17

An MCP server to monitor workers productivity and fire them as needed.

Database Analyzer MCP Server

Database Analyzer MCP Server

Wisdom MCP Gateway

Wisdom MCP Gateway

A stdio gateway for the Enterpret's Wisdom MCP SSE Server

Local iMessage RAG MCP Server

Local iMessage RAG MCP Server

iMessage RAG MCP Server from Anthropic MCP Hackathon (NYC)

TypeScript MCP Server

TypeScript MCP Server

MCP Test Client

MCP Test Client

MCP Test Client is a TypeScript testing utility for Model Context Protocol (MCP) servers.

ActionKit MCP Starter

ActionKit MCP Starter

Okay, here's a starter code outline for an MCP (Minecraft Protocol) server powered by ActionKit, along with explanations and considerations. This is a conceptual outline; you'll need to fill in the details based on your specific needs and ActionKit setup. **Conceptual Overview** The core idea is to: 1. **Receive Minecraft Protocol Packets:** Your server needs to listen for and decode incoming packets from Minecraft clients. 2. **Process Packets with ActionKit:** Use ActionKit to define actions and logic based on the received packets. This is where you'll handle things like player authentication, command execution, world interaction, etc. 3. **Send Packets Back to the Client:** Construct and send appropriate Minecraft Protocol packets back to the client to update their game state, respond to commands, or provide feedback. **Language Choice** While ActionKit itself is language-agnostic (it's a framework for defining actions), you'll need a programming language to implement the MCP server and interact with ActionKit. Popular choices include: * **Python:** Good for rapid prototyping and has libraries for MCP handling. * **Java:** The language Minecraft itself is written in, so there are many libraries and resources available. * **Go:** Known for its concurrency and performance, suitable for handling many players. * **Node.js (JavaScript):** If you're comfortable with JavaScript, it can be a viable option. **Example (Python with `mcproto` library)** This example uses Python and the `mcproto` library (you'll need to install it: `pip install mcproto`). It's a simplified illustration. You'll need to adapt it to your specific ActionKit setup and Minecraft version. ```python import asyncio import mcproto import mcproto.packets import json import aiohttp # For interacting with ActionKit's API # ActionKit Configuration ACTIONKIT_API_URL = "http://localhost:8000/api/actions/" # Replace with your ActionKit API endpoint ACTIONKIT_API_KEY = "your_api_key" # Replace with your ActionKit API key # Minecraft Server Configuration SERVER_HOST = "0.0.0.0" # Listen on all interfaces SERVER_PORT = 25565 PROTOCOL_VERSION = 754 # Example: Minecraft 1.16.5 async def handle_client(reader, writer): addr = writer.get_extra_info('peername') print(f"Connected by {addr}") try: # Handshake handshake_packet = await mcproto.packets.HandshakePacket.read(reader) print(f"Handshake: {handshake_packet}") # Status Request (Optional - for server list ping) if handshake_packet.next_state == 1: status_request_packet = await mcproto.packets.StatusRequestPacket.read(reader) print("Status Request") # Construct and send Status Response (JSON) status_response = { "version": {"name": "My ActionKit Server", "protocol": PROTOCOL_VERSION}, "players": {"max": 100, "online": 0, "sample": []}, "description": {"text": "Powered by ActionKit!"} } status_response_packet = mcproto.packets.StatusResponsePacket(json.dumps(status_response)) await status_response_packet.write(writer) ping_packet = await mcproto.packets.PingPacket.read(reader) await mcproto.packets.PongPacket(ping_packet.payload).write(writer) writer.close() await writer.wait_closed() return # Login login_start_packet = await mcproto.packets.LoginStartPacket.read(reader) username = login_start_packet.name print(f"Login Start: {username}") # --- ActionKit Integration (Example: Authentication) --- async with aiohttp.ClientSession() as session: async with session.post( ACTIONKIT_API_URL + "authenticate_player/", # Replace with your ActionKit action json={"username": username}, headers={"Authorization": f"Bearer {ACTIONKIT_API_KEY}"} ) as response: if response.status == 200: auth_data = await response.json() uuid = auth_data.get("uuid") if uuid: print(f"Player {username} authenticated with UUID: {uuid}") # Send Login Success packet login_success_packet = mcproto.packets.LoginSuccessPacket(uuid, username) await login_success_packet.write(writer) # --- Play Phase --- print(f"Player {username} entered play phase.") while True: try: packet_id, packet_data = await mcproto.read_packet(reader) print(f"Received packet ID: {packet_id}, Data: {packet_data}") # --- ActionKit Integration (Example: Command Handling) --- if packet_id == 0x03: # Example: Chat Message (adjust based on protocol) chat_message = packet_data.message # Assuming 'message' field async with session.post( ACTIONKIT_API_URL + "handle_command/", # Replace with your ActionKit action json={"username": username, "command": chat_message}, headers={"Authorization": f"Bearer {ACTIONKIT_API_KEY}"} ) as command_response: if command_response.status == 200: command_result = await command_response.json() print(f"Command result from ActionKit: {command_result}") # Example: Send a chat message back to the client response_message = command_result.get("response", "Command executed.") chat_packet = mcproto.packets.ChatMessagePacket(json.dumps({"text": response_message}), 0) # Adjust packet ID await chat_packet.write(writer) else: print(f"ActionKit command error: {command_response.status}") # Handle ActionKit error (e.g., send error message to client) except mcproto.MalformedPacket as e: print(f"Malformed packet: {e}") break # Disconnect the client except asyncio.IncompleteReadError: print("Client disconnected.") break else: print("Authentication failed: UUID not found in ActionKit response.") # Send a disconnect packet to the client disconnect_packet = mcproto.packets.DisconnectPacket(json.dumps({"text": "Authentication failed."})) await disconnect_packet.write(writer) writer.close() await writer.wait_closed() return else: print(f"ActionKit authentication error: {response.status}") # Send a disconnect packet to the client disconnect_packet = mcproto.packets.DisconnectPacket(json.dumps({"text": "Authentication error."})) await disconnect_packet.write(writer) writer.close() await writer.wait_closed() return except mcproto.MalformedPacket as e: print(f"Malformed packet: {e}") except asyncio.IncompleteReadError: print(f"Client disconnected unexpectedly.") finally: writer.close() await writer.wait_closed() print(f"Connection with {addr} closed.") async def main(): server = await asyncio.start_server( handle_client, SERVER_HOST, SERVER_PORT) addr = server.sockets[0].getsockname() print(f"Serving on {addr}") async with server: await server.serve_forever() if __name__ == "__main__": asyncio.run(main()) ``` **Explanation:** 1. **Imports:** Imports necessary libraries. `mcproto` for Minecraft protocol handling, `asyncio` for asynchronous operations, `aiohttp` for making HTTP requests to ActionKit. 2. **Configuration:** Sets up ActionKit API URL, API key, server host, port, and Minecraft protocol version. *Important: Replace the placeholder values with your actual configuration.* 3. **`handle_client(reader, writer)`:** This function handles the connection with a single Minecraft client. * **Handshake:** Reads the initial handshake packet to determine the client's intended state (status or login). * **Status (Optional):** If the client is requesting server status (for the server list), it constructs and sends a status response. * **Login:** Reads the `LoginStartPacket` to get the player's username. * **ActionKit Authentication:** * Uses `aiohttp` to make a POST request to your ActionKit API endpoint (e.g., `/api/actions/authenticate_player/`). * Sends the username to ActionKit for authentication. * Expects a JSON response from ActionKit containing a UUID if authentication is successful. * If authentication fails, sends a disconnect packet to the client. * **Login Success:** If authentication is successful, sends a `LoginSuccessPacket` to the client, allowing them to enter the game. * **Play Phase:** Enters a loop to receive and process packets from the client. * Reads incoming packets using `mcproto.read_packet()`. * **ActionKit Command Handling (Example):** * Checks if the packet is a chat message (packet ID `0x03` is an example; adjust based on your Minecraft version). * Sends the chat message to ActionKit for command processing (e.g., `/api/actions/handle_command/`). * Receives a response from ActionKit containing the result of the command. * Sends a chat message back to the client with the command result. * **Error Handling:** Includes `try...except` blocks to handle malformed packets, client disconnections, and ActionKit errors. 4. **`main()`:** Sets up the asynchronous server using `asyncio.start_server()` and listens for incoming connections. **Key Considerations and Next Steps:** * **Minecraft Protocol Version:** The Minecraft protocol changes with each version. Make sure you're using the correct protocol version and packet definitions for the Minecraft version you want to support. The `mcproto` library (or any other MCP library) should provide the necessary packet structures. * **ActionKit Actions:** Define the actions in ActionKit that will handle player authentication, command execution, world interaction, and any other game logic. The example code shows placeholders for these actions (e.g., `/api/actions/authenticate_player/`, `/api/actions/handle_command/`). * **Security:** * **API Key Security:** Protect your ActionKit API key. Don't hardcode it directly in your code (use environment variables or a configuration file). * **Input Validation:** Validate all data received from the client to prevent exploits. * **Rate Limiting:** Implement rate limiting to prevent abuse. * **Error Handling:** Implement robust error handling to gracefully handle unexpected situations. Send informative error messages to the client when appropriate. * **Asynchronous Programming:** Use `asyncio` (or a similar asynchronous framework) to handle multiple clients concurrently. * **World Management:** You'll need to implement world management logic to load, save, and modify the game world. Consider using a library or framework for this purpose. * **Plugin System:** Consider designing your server with a plugin system to allow for easy extension and customization. * **Logging:** Implement logging to track server activity and debug issues. * **Testing:** Thoroughly test your server to ensure it's stable and secure. **Indonesian Translation of Key Terms:** * **MCP (Minecraft Protocol):** Protokol Minecraft * **ActionKit:** (Keep the English name, as it's a specific framework) * **Server:** Peladen * **Client:** Klien * **Packet:** Paket * **Authentication:** Otentikasi / Pengesahan * **Command:** Perintah * **World:** Dunia * **Username:** Nama pengguna * **UUID (Universally Unique Identifier):** Pengenal Unik Universal (UUID) * **API (Application Programming Interface):** Antarmuka Pemrograman Aplikasi (API) * **Asynchronous:** Asinkron / Tidak serempak * **Connection:** Koneksi / Sambungan * **Handshake:** Jabat tangan (dalam konteks ini, negosiasi awal koneksi) * **Status:** Status / Keadaan * **Login:** Masuk / Log masuk * **Play Phase:** Fase Bermain * **Malformed Packet:** Paket Rusak / Paket Tidak Valid * **Disconnect:** Putus koneksi / Memutuskan sambungan **How to Use This Starter Code:** 1. **Install Dependencies:** Install the necessary libraries (e.g., `mcproto`, `aiohttp`) using `pip install`. 2. **Configure ActionKit:** Set up your ActionKit actions and API endpoints. 3. **Replace Placeholders:** Replace the placeholder values in the code (API URL, API key, protocol version, packet IDs, etc.) with your actual values. 4. **Implement ActionKit Logic:** Implement the logic in your ActionKit actions to handle player authentication, command execution, and other game events. 5. **Run the Server:** Run the Python script to start the server. 6. **Connect with a Minecraft Client:** Connect to the server using a Minecraft client. 7. **Test and Debug:** Test the server thoroughly and debug any issues. This is a starting point. Building a full-fledged Minecraft server is a complex task, but this outline should give you a solid foundation to build upon. Remember to consult the Minecraft protocol documentation and the ActionKit documentation for more detailed information. Good luck!

Mcp Namecheap Registrar

Mcp Namecheap Registrar

Connects to namecheap api for checking availability and pricing of domains and registering them.

MCP Bundler Service

MCP Bundler Service

Sebuah *microservice* untuk membundel server MCP dari repositori GitHub dan mempersiapkannya untuk penyebaran.

T2_C2

T2_C2

Server code for MCP

@enemyrr/mcp-mysql-server

@enemyrr/mcp-mysql-server

Cermin dari

MCP Actions Adapter

MCP Actions Adapter

A simple adapter to convert a MCP server to a GPT actions compatible API

Eka MCP Server

Eka MCP Server

Eka MCP Server

xtrace-mcp

xtrace-mcp

Servidor MCP do Supabase

Servidor MCP do Supabase

Servidor MCP do Supabase com funcionalidades de consulta e inserção de dados

🌱 mcp-origin

🌱 mcp-origin

MCP server that manages MCP servers

ディーゼロ開発環境用 MCPサーバー

ディーゼロ開発環境用 MCPサーバー

D-Zero frontend coding MCP server

Atlassian Jira MCP Server

Atlassian Jira MCP Server

Server MCP Node.js/TypeScript untuk Atlassian Jira. Melengkapi sistem AI (LLM) dengan alat untuk menampilkan/mendapatkan daftar proyek, mencari/mendapatkan isu (menggunakan JQL/ID), dan melihat info pengembangan (commit, PR). Menghubungkan kemampuan AI secara langsung ke dalam alur kerja manajemen proyek dan pelacakan isu Jira.

Chrome MCP Server

Chrome MCP Server

Servidor MCP para integração entre extensão Chrome e Claude AI

MSSQL MCP Server

MSSQL MCP Server

Cermin dari

mcp-server

mcp-server

Mirror of