Discover Awesome MCP Servers
Extend your agent with 17,789 capabilities via MCP servers.
- All17,789
- Developer Tools3,867
- Search1,714
- Research & Data1,557
- AI Integration Systems229
- Cloud Platforms219
- Data & App Analysis181
- Database Interaction177
- Remote Shell Execution165
- Browser Automation147
- Databases145
- Communication137
- AI Content Generation127
- OS Automation120
- Programming Docs Access109
- Content Fetching108
- Note Taking97
- File Systems96
- Version Control93
- Finance91
- Knowledge & Memory90
- Monitoring79
- Security71
- Image & Video Processing69
- Digital Note Management66
- AI Memory Systems62
- Advanced AI Reasoning59
- Git Management Tools58
- Cloud Storage51
- Entertainment & Media43
- Virtualization42
- Location Services35
- Web Automation & Stealth32
- Media Content Processing32
- Calendar Management26
- Ecommerce & Retail18
- Speech Processing18
- Customer Data Platforms16
- Travel & Transportation14
- Education & Learning Tools13
- Home Automation & IoT13
- Web Search Integration12
- Health & Wellness10
- Customer Support10
- Marketing9
- Games & Gamification8
- Google Cloud Integrations7
- Art & Culture4
- Language Translation3
- Legal & Compliance2
Confluence Wiki MCP Server Extension
Mirror of
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
This extension enables developers to implement the MCP server features easily.
🌟 Unsplash MCP Server Repository
🔎 A MCP server for Unsplash image search.
Trino MCP Server
Cermin dari
mcp-server
learn to make some mcp servers
Minimal MCP Server
A minimal implementation of a Model Context Protocol (MCP) server
MCP Servers Multi-Agent AI Infrastructure
📱 MCP Server for iOS Simulator
worker17
An MCP server to monitor workers productivity and fire them as needed.
Database Analyzer MCP Server
Wisdom MCP Gateway
A stdio gateway for the Enterpret's Wisdom MCP SSE Server
Local iMessage RAG MCP Server
iMessage RAG MCP Server from Anthropic MCP Hackathon (NYC)
TypeScript MCP Server
MCP Test Client
MCP Test Client is a TypeScript testing utility for Model Context Protocol (MCP) servers.
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
Connects to namecheap api for checking availability and pricing of domains and registering them.
MCP Bundler Service
Sebuah *microservice* untuk membundel server MCP dari repositori GitHub dan mempersiapkannya untuk penyebaran.
T2_C2
Server code for MCP
@enemyrr/mcp-mysql-server
Cermin dari
MCP Actions Adapter
A simple adapter to convert a MCP server to a GPT actions compatible API
Eka MCP Server
Eka MCP Server
xtrace-mcp
Servidor MCP do Supabase
Servidor MCP do Supabase com funcionalidades de consulta e inserção de dados
🌱 mcp-origin
MCP server that manages MCP servers
ディーゼロ開発環境用 MCPサーバー
D-Zero frontend coding 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
Servidor MCP para integração entre extensão Chrome e Claude AI
MSSQL MCP Server
Cermin dari
mcp-server
Mirror of