Discover Awesome MCP Servers
Extend your agent with 30,245 capabilities via MCP servers.
- All30,245
- 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
Access
Self-hosted credential store and API proxy for AI agents. One Bearer token, all your services. Handles OAuth refresh, encrypted storage, audit logging, and per-agent permissioning.
MCP Weather Server
A lightweight server that exposes weather-related tools (get_coordinates and get_forecast) using the Modular Command Protocol, designed for integration with AI agents and LLMs.
Zoho CRM MCP Server
A Model Context Protocol server that integrates AI assistants with Zoho CRM, enabling contact and deal management operations through natural language.
mcp-server-playwright
Fess MCP Server
Server MCP untuk berinteraksi dengan mesin pencari Fess.
🚀 NexusHub
NexusHub adalah server Model Context Protocol (MCP) yang kuat yang berfungsi sebagai titik koneksi pusat untuk alur kerja AI dan integrasi alat.
BSL Atlas
An MCP server for 1C:Enterprise that provides AI assistants with access to configuration data via vector search, structural indexing, and call graphs. It enables semantic code queries and rapid metadata object lookups without requiring the direct reading of raw files.
Adjust Reporting Server
Server MCP yang berinteraksi dengan Adjust API, memungkinkan Anda untuk menanyakan laporan analitik seluler, metrik, dan data kinerja menggunakan bahasa alami dari klien MCP mana pun seperti Cursor atau Claude Desktop.
Homework Grading MCP
Enables automated grading of student homework images using Qwen3-VL multimodal model, supporting multiple subjects and question types with detailed feedback and batch processing capabilities.
Crawl4AI MCP Server
Exa MCP Server
Enables AI assistants to perform web searches, research papers, Twitter searches, company research, URL crawling, and LinkedIn searches using the Exa AI Search API for real-time web information.
actors-mcp-server
Use 3,000+ pre-built cloud tools from Apify, known as Actors, to extract data from websites, e-commerce, social media, search engines, maps, and more
Pipefy MCP Server
Enables LLMs to interact with the Pipefy GraphQL API to manage pipes, cards, database tables, and records through natural language. It provides tools for searching, creating, and retrieving detailed information about Pipefy workflows and database entities.
Up Banking MCP Server
Enables integration with Up Banking API to query account balances, transaction history, and spending categories. Supports filtering transactions by date, category, tags, and account type for comprehensive banking insights.
engram
The 'Blast Radius' detector for AI Agents. Prevent regressions using Git history and organizational memory.
GetUTC MCP Server
Provides accurate UTC time by aggregating and verifying data from multiple reliable sources like WorldClockAPI, Google, and GitHub. It enables users to retrieve time in various formats including ISO, Unix timestamps, and human-readable strings with automatic source fallback for reliability.
TypeScript MCP Server Boilerplate
A boilerplate project for quickly developing Model Context Protocol (MCP) servers using TypeScript SDK, with example implementations of calculator and greeting tools plus resource management capabilities.
Roam Research MCP Server
A Model Context Protocol server that enables Claude Desktop to read from and write to Roam Research graphs, allowing for retrieving page content, finding references, and adding blocks to existing or daily pages.
TailscaleMCP
Enables comprehensive management of Tailscale networks including device management, DNS configuration, file sharing via Taildrop, security monitoring, and network automation with built-in Grafana/Prometheus observability stack.
Model Context Protocol .NET Samples
Berikut adalah serangkaian contoh komprehensif tentang cara membuat dan menggunakan server dan klien MCP (Minecraft Protocol) dengan .NET: **Disclaimer:** Bekerja dengan protokol Minecraft (MCP) bisa jadi rumit karena protokolnya tidak didokumentasikan secara resmi oleh Mojang dan dapat berubah dengan setiap pembaruan game. Contoh-contoh ini mungkin memerlukan penyesuaian agar berfungsi dengan versi Minecraft tertentu. Gunakan dengan risiko Anda sendiri. **Prasyarat:** * **.NET SDK:** Pastikan Anda telah menginstal .NET SDK (Software Development Kit). Anda dapat mengunduhnya dari situs web resmi Microsoft. * **IDE (Integrated Development Environment):** Visual Studio atau Visual Studio Code direkomendasikan. * **Pemahaman Dasar C#:** Pengetahuan tentang sintaksis C# dan konsep pemrograman berorientasi objek (OOP) diperlukan. * **Pemahaman Protokol Minecraft (MCP):** Pemahaman dasar tentang bagaimana protokol Minecraft bekerja akan sangat membantu. Anda dapat menemukan informasi tidak resmi di wiki dan forum. **Struktur Proyek:** Sebaiknya buat dua proyek terpisah: * **MinecraftServer:** Proyek ini akan berisi kode untuk server MCP. * **MinecraftClient:** Proyek ini akan berisi kode untuk klien MCP. **Contoh 1: Server Sederhana yang Menangani Jabat Tangan dan Ping** **MinecraftServer (C#):** ```csharp using System; using System.Net; using System.Net.Sockets; using System.Text; namespace MinecraftServer { class Program { static void Main(string[] args) { // Konfigurasi server IPAddress ipAddress = IPAddress.Any; int port = 25565; // Port default Minecraft // Membuat listener TCP TcpListener listener = new TcpListener(ipAddress, port); listener.Start(); Console.WriteLine($"Server berjalan di {ipAddress}:{port}"); while (true) { // Menerima koneksi klien TcpClient client = listener.AcceptTcpClient(); Console.WriteLine("Klien terhubung!"); // Menangani klien dalam thread terpisah (opsional) HandleClient(client); } } static void HandleClient(TcpClient client) { NetworkStream stream = client.GetStream(); byte[] buffer = new byte[1024]; int bytesRead; try { while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0) { // Proses data yang diterima string data = Encoding.UTF8.GetString(buffer, 0, bytesRead); Console.WriteLine($"Menerima: {data}"); // Contoh: Menangani jabat tangan (handshake) dan ping if (data.StartsWith("Handshake")) { // Kirim respons jabat tangan (contoh sederhana) string response = "Handshake OK"; byte[] responseBytes = Encoding.UTF8.GetBytes(response); stream.Write(responseBytes, 0, responseBytes.Length); } else if (data.StartsWith("Ping")) { // Kirim respons ping (contoh sederhana) string response = "Pong"; byte[] responseBytes = Encoding.UTF8.GetBytes(response); stream.Write(responseBytes, 0, responseBytes.Length); } else { // Data tidak dikenal Console.WriteLine("Data tidak dikenal diterima."); } } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } finally { // Tutup koneksi client.Close(); Console.WriteLine("Klien terputus."); } } } } ``` **MinecraftClient (C#):** ```csharp using System; using System.Net.Sockets; using System.Text; namespace MinecraftClient { class Program { static void Main(string[] args) { // Konfigurasi server string serverAddress = "127.0.0.1"; // Alamat localhost int port = 25565; // Port default Minecraft try { // Membuat koneksi TCP TcpClient client = new TcpClient(serverAddress, port); NetworkStream stream = client.GetStream(); // Kirim jabat tangan (handshake) string handshakeRequest = "Handshake"; byte[] handshakeBytes = Encoding.UTF8.GetBytes(handshakeRequest); stream.Write(handshakeBytes, 0, handshakeBytes.Length); // Menerima respons jabat tangan byte[] buffer = new byte[1024]; int bytesRead = stream.Read(buffer, 0, buffer.Length); string handshakeResponse = Encoding.UTF8.GetString(buffer, 0, bytesRead); Console.WriteLine($"Respons Jabat Tangan: {handshakeResponse}"); // Kirim ping string pingRequest = "Ping"; byte[] pingBytes = Encoding.UTF8.GetBytes(pingRequest); stream.Write(pingBytes, 0, pingBytes.Length); // Menerima respons ping bytesRead = stream.Read(buffer, 0, buffer.Length); string pingResponse = Encoding.UTF8.GetString(buffer, 0, bytesRead); Console.WriteLine($"Respons Ping: {pingResponse}"); // Tutup koneksi client.Close(); Console.WriteLine("Koneksi ditutup."); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } } } } ``` **Cara Menjalankan:** 1. Buat dua proyek konsol .NET baru: `MinecraftServer` dan `MinecraftClient`. 2. Salin kode server ke proyek `MinecraftServer` dan kode klien ke proyek `MinecraftClient`. 3. Jalankan proyek `MinecraftServer` terlebih dahulu. 4. Kemudian, jalankan proyek `MinecraftClient`. Anda akan melihat output di konsol server dan klien yang menunjukkan jabat tangan dan ping yang berhasil. **Penjelasan:** * **`TcpListener` dan `TcpClient`:** Kelas-kelas ini digunakan untuk membuat koneksi TCP antara server dan klien. * **`NetworkStream`:** Kelas ini digunakan untuk mengirim dan menerima data melalui koneksi TCP. * **`Encoding.UTF8`:** Digunakan untuk mengonversi string ke dan dari byte array. * **`Handshake` dan `Ping`:** Ini adalah contoh sederhana dari pesan yang dapat dikirim antara server dan klien. Dalam implementasi MCP yang sebenarnya, pesan-pesan ini akan jauh lebih kompleks dan mengikuti format protokol yang spesifik. **Contoh 2: Menggunakan Pustaka Pihak Ketiga (AForge.NET)** AForge.NET adalah kerangka kerja .NET yang menyediakan berbagai fungsi untuk pemrosesan gambar, visi komputer, dan robotika. Meskipun tidak secara khusus dirancang untuk MCP, ia dapat berguna untuk tugas-tugas tertentu seperti analisis data visual yang diterima dari server Minecraft. **Penting:** AForge.NET adalah pustaka pihak ketiga. Anda perlu menginstalnya melalui NuGet Package Manager. **Contoh (Hanya Ilustrasi):** Contoh ini menunjukkan bagaimana Anda dapat menggunakan AForge.NET untuk memproses gambar yang diterima dari server (misalnya, tangkapan layar). Ini adalah contoh yang sangat sederhana dan memerlukan modifikasi yang signifikan untuk digunakan dengan data MCP yang sebenarnya. ```csharp using System; using System.Drawing; using System.IO; using AForge.Imaging; using AForge.Imaging.Filters; namespace MinecraftClient { class Program { static void Main(string[] args) { // ... (Kode koneksi klien seperti sebelumnya) ... // Contoh: Menerima data gambar (anggap ini adalah data MCP yang berisi gambar) byte[] imageData = ReceiveImageData(stream); // Fungsi ini perlu diimplementasikan // Konversi byte array ke gambar using (MemoryStream ms = new MemoryStream(imageData)) { try { Bitmap image = new Bitmap(ms); // Gunakan AForge.NET untuk memproses gambar Grayscale grayscaleFilter = new Grayscale(0.2125, 0.7154, 0.0721); Bitmap grayImage = grayscaleFilter.Apply(image); // Simpan gambar yang diproses grayImage.Save("gray_image.png"); Console.WriteLine("Gambar yang diproses disimpan sebagai gray_image.png"); } catch (Exception ex) { Console.WriteLine($"Error memproses gambar: {ex.Message}"); } } // ... (Kode penutupan koneksi) ... } // Fungsi placeholder untuk menerima data gambar dari stream static byte[] ReceiveImageData(NetworkStream stream) { // Implementasikan logika untuk membaca data gambar dari stream // Ini akan bergantung pada format data yang dikirim oleh server // Contoh: membaca panjang data terlebih dahulu, lalu membaca data itu sendiri // (Ini hanyalah contoh dan mungkin tidak sesuai dengan format MCP yang sebenarnya) // **PERINGATAN: Ini adalah kode placeholder dan perlu diimplementasikan dengan benar** Console.WriteLine("Menerima data gambar (placeholder)"); byte[] buffer = new byte[1024]; // Ukuran buffer sementara int bytesRead = stream.Read(buffer, 0, buffer.Length); byte[] imageData = new byte[bytesRead]; Array.Copy(buffer, imageData, bytesRead); return imageData; } } } ``` **Poin Penting:** * **Format Data MCP:** Anda perlu memahami format data yang dikirim oleh server Minecraft. Ini mungkin bukan format gambar standar. Anda mungkin perlu menguraikan data MCP untuk mengekstrak data gambar. * **`ReceiveImageData`:** Fungsi ini adalah placeholder. Anda perlu mengimplementasikannya untuk membaca data gambar yang sebenarnya dari stream jaringan. Ini akan melibatkan pemahaman tentang bagaimana data gambar dikodekan dalam protokol MCP. * **AForge.NET:** Gunakan AForge.NET untuk tugas-tugas seperti mengubah ukuran gambar, menerapkan filter, atau melakukan analisis gambar. **Contoh 3: Menggunakan Pustaka untuk Serialisasi/Deserialisasi Biner (Contoh: BinaryFormatter)** Protokol Minecraft menggunakan format biner untuk mengirim data. Anda dapat menggunakan pustaka untuk membantu Anda melakukan serialisasi dan deserialisasi data biner. `BinaryFormatter` adalah salah satu opsi, tetapi **perhatikan bahwa `BinaryFormatter` dianggap tidak aman dan tidak direkomendasikan untuk penggunaan produksi.** Pertimbangkan alternatif yang lebih aman seperti `System.Text.Json` atau pustaka serialisasi biner pihak ketiga yang lebih aman. **Contoh (Tidak Direkomendasikan untuk Produksi karena Masalah Keamanan):** ```csharp using System; using System.IO; using System.Net.Sockets; using System.Runtime.Serialization.Formatters.Binary; namespace MinecraftServer { [Serializable] public class MyData { public int Id { get; set; } public string Name { get; set; } } class Program { static void Main(string[] args) { // ... (Kode server seperti sebelumnya) ... static void HandleClient(TcpClient client) { NetworkStream stream = client.GetStream(); BinaryFormatter formatter = new BinaryFormatter(); try { // Menerima objek MyData MyData receivedData = (MyData)formatter.Deserialize(stream); Console.WriteLine($"Menerima data: Id = {receivedData.Id}, Name = {receivedData.Name}"); // Membuat objek MyData baru MyData dataToSend = new MyData { Id = 123, Name = "Server Response" }; // Mengirim objek MyData formatter.Serialize(stream, dataToSend); Console.WriteLine("Mengirim data kembali ke klien."); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } finally { client.Close(); Console.WriteLine("Klien terputus."); } } } } } // MinecraftClient (C#) using System; using System.IO; using System.Net.Sockets; using System.Runtime.Serialization.Formatters.Binary; namespace MinecraftClient { class Program { static void Main(string[] args) { // ... (Kode klien seperti sebelumnya) ... try { TcpClient client = new TcpClient(serverAddress, port); NetworkStream stream = client.GetStream(); BinaryFormatter formatter = new BinaryFormatter(); // Membuat objek MyData MyData dataToSend = new MyData { Id = 456, Name = "Client Request" }; // Mengirim objek MyData formatter.Serialize(stream, dataToSend); Console.WriteLine("Mengirim data ke server."); // Menerima objek MyData MyData receivedData = (MyData)formatter.Deserialize(stream); Console.WriteLine($"Menerima data: Id = {receivedData.Id}, Name = {receivedData.Name}"); client.Close(); Console.WriteLine("Koneksi ditutup."); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } } } [Serializable] public class MyData { public int Id { get; set; } public string Name { get; set; } } } ``` **PERINGATAN:** * **`BinaryFormatter` Tidak Aman:** `BinaryFormatter` rentan terhadap serangan deserialisasi. Jangan gunakan ini dalam aplikasi produksi. * **Alternatif yang Lebih Aman:** Gunakan `System.Text.Json` (untuk data JSON) atau pustaka serialisasi biner pihak ketiga yang lebih aman. * **Atribut `[Serializable]`:** Kelas yang akan diserialisasikan harus ditandai dengan atribut `[Serializable]`. **Contoh 4: Menggunakan `System.Text.Json` (Alternatif yang Lebih Aman)** Jika Anda dapat menggunakan format JSON untuk komunikasi (yang mungkin memerlukan modifikasi pada server Minecraft atau penggunaan proxy), `System.Text.Json` adalah pilihan yang jauh lebih aman daripada `BinaryFormatter`. **MinecraftServer (C#):** ```csharp using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Text.Json; namespace MinecraftServer { class Program { static void Main(string[] args) { // ... (Kode server seperti sebelumnya) ... static void HandleClient(TcpClient client) { NetworkStream stream = client.GetStream(); byte[] buffer = new byte[1024]; try { int bytesRead = stream.Read(buffer, 0, buffer.Length); string jsonString = Encoding.UTF8.GetString(buffer, 0, bytesRead); // Deserialisasi JSON ke objek MyData MyData receivedData = JsonSerializer.Deserialize<MyData>(jsonString); Console.WriteLine($"Menerima data: Id = {receivedData.Id}, Name = {receivedData.Name}"); // Membuat objek MyData baru MyData dataToSend = new MyData { Id = 123, Name = "Server Response" }; // Serialisasi objek MyData ke JSON string jsonResponse = JsonSerializer.Serialize(dataToSend); byte[] responseBytes = Encoding.UTF8.GetBytes(jsonResponse); stream.Write(responseBytes, 0, responseBytes.Length); Console.WriteLine("Mengirim data kembali ke klien."); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } finally { client.Close(); Console.WriteLine("Klien terputus."); } } } } public class MyData { public int Id { get; set; } public string Name { get; set; } } } ``` **MinecraftClient (C#):** ```csharp using System; using System.Net.Sockets; using System.Text; using System.Text.Json; namespace MinecraftClient { class Program { static void Main(string[] args) { // ... (Kode klien seperti sebelumnya) ... try { TcpClient client = new TcpClient(serverAddress, port); NetworkStream stream = client.GetStream(); // Membuat objek MyData MyData dataToSend = new MyData { Id = 456, Name = "Client Request" }; // Serialisasi objek MyData ke JSON string jsonString = JsonSerializer.Serialize(dataToSend); byte[] dataBytes = Encoding.UTF8.GetBytes(jsonString); stream.Write(dataBytes, 0, dataBytes.Length); Console.WriteLine("Mengirim data ke server."); // Menerima respons JSON byte[] buffer = new byte[1024]; int bytesRead = stream.Read(buffer, 0, buffer.Length); string jsonResponse = Encoding.UTF8.GetString(buffer, 0, bytesRead); // Deserialisasi JSON ke objek MyData MyData receivedData = JsonSerializer.Deserialize<MyData>(jsonResponse); Console.WriteLine($"Menerima data: Id = {receivedData.Id}, Name = {receivedData.Name}"); client.Close(); Console.WriteLine("Koneksi ditutup."); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } } } public class MyData { public int Id { get; set; } public string Name { get; set; } } } ``` **Keuntungan dari `System.Text.Json`:** * **Aman:** Tidak rentan terhadap serangan deserialisasi seperti `BinaryFormatter`. * **Performa:** Cukup cepat dan efisien. * **Mudah Digunakan:** API yang sederhana dan mudah dipahami. **Penting:** * **Format Data:** Pastikan server Minecraft (atau proxy) dapat menangani data JSON. * **Namespace:** Pastikan Anda memiliki namespace `System.Text.Json` yang diimpor. **Contoh 5: Menggunakan Pustaka Pihak Ketiga untuk Protokol Minecraft (Contoh: Pustaka yang Tidak Ada)** Sayangnya, tidak ada pustaka .NET yang dipelihara secara aktif dan komprehensif yang sepenuhnya mengimplementasikan protokol Minecraft. Sebagian besar pustaka yang lebih tua tidak lagi berfungsi dengan versi Minecraft saat ini. **Pendekatan:** 1. **Penelitian:** Cari pustaka .NET yang ada yang mungkin mengimplementasikan sebagian dari protokol Minecraft. Periksa repositori GitHub dan forum .NET. Perhatikan bahwa sebagian besar mungkin sudah usang. 2. **Implementasi Manual:** Jika Anda tidak dapat menemukan pustaka yang sesuai, Anda mungkin perlu mengimplementasikan protokol Minecraft secara manual. Ini melibatkan pemahaman tentang format paket, ID paket, dan struktur data yang digunakan oleh protokol. Ini adalah tugas yang kompleks dan memakan waktu. 3. **Proxy:** Pertimbangkan untuk menggunakan proxy antara klien .NET Anda dan server Minecraft. Proxy dapat menangani komunikasi protokol Minecraft dan menyediakan antarmuka yang lebih sederhana untuk klien .NET Anda (misalnya, menggunakan JSON). **Contoh (Konseptual - Membutuhkan Implementasi):** ```csharp // (Contoh Konseptual - Tidak Berfungsi Tanpa Implementasi Protokol) using System; using System.Net.Sockets; using System.Text; namespace MinecraftClient { class Program { static void Main(string[] args) { // ... (Kode koneksi klien seperti sebelumnya) ... try { TcpClient client = new TcpClient(serverAddress, port); NetworkStream stream = client.GetStream(); // Contoh: Mengirim paket "Join Game" (membutuhkan implementasi protokol) byte[] joinGamePacket = CreateJoinGamePacket(); // Fungsi ini perlu diimplementasikan stream.Write(joinGamePacket, 0, joinGamePacket.Length); // Contoh: Menerima paket "Chat Message" (membutuhkan implementasi protokol) byte[] chatMessagePacket = ReceiveChatMessagePacket(stream); // Fungsi ini perlu diimplementasikan string chatMessage = ParseChatMessage(chatMessagePacket); // Fungsi ini perlu diimplementasikan Console.WriteLine($"Pesan Chat: {chatMessage}"); client.Close(); Console.WriteLine("Koneksi ditutup."); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } } // Fungsi placeholder untuk membuat paket "Join Game" static byte[] CreateJoinGamePacket() { // **PERINGATAN: Ini adalah kode placeholder dan perlu diimplementasikan dengan benar** // Implementasikan logika untuk membuat paket "Join Game" sesuai dengan protokol Minecraft // Ini akan melibatkan pengaturan ID paket, panjang data, dan data yang sesuai Console.WriteLine("Membuat paket 'Join Game' (placeholder)"); return Encoding.UTF8.GetBytes("JoinGamePacketPlaceholder"); // Contoh yang sangat sederhana } // Fungsi placeholder untuk menerima paket "Chat Message" static byte[] ReceiveChatMessagePacket(NetworkStream stream) { // **PERINGATAN: Ini adalah kode placeholder dan perlu diimplementasikan dengan benar** // Implementasikan logika untuk membaca paket "Chat Message" dari stream // Ini akan melibatkan membaca panjang paket, ID paket, dan data Console.WriteLine("Menerima paket 'Chat Message' (placeholder)"); byte[] buffer = new byte[1024]; int bytesRead = stream.Read(buffer, 0, buffer.Length); byte[] chatMessagePacket = new byte[bytesRead]; Array.Copy(buffer, chatMessagePacket, bytesRead); return chatMessagePacket; } // Fungsi placeholder untuk menguraikan paket "Chat Message" static string ParseChatMessage(byte[] chatMessagePacket) { // **PERINGATAN: Ini adalah kode placeholder dan perlu diimplementasikan dengan benar** // Implementasikan logika untuk menguraikan paket "Chat Message" dan mengekstrak pesan chat // Ini akan melibatkan pemahaman tentang format data dalam paket Console.WriteLine("Menguraikan paket 'Chat Message' (placeholder)"); return Encoding.UTF8.GetString(chatMessagePacket); // Contoh yang sangat sederhana } } } ``` **Tantangan Utama:** * **Kompleksitas Protokol:** Protokol Minecraft kompleks dan tidak didokumentasikan secara resmi. * **Pembaruan Protokol:** Protokol dapat berubah dengan setiap pembaruan Minecraft, yang mengharuskan Anda untuk memperbarui kode Anda. * **Serialisasi/Deserialisasi Biner:** Anda perlu menangani serialisasi dan deserialisasi data biner dengan benar. **Ringkasan:** Membuat server dan klien MCP dengan .NET adalah tugas yang menantang. Anda perlu memiliki pemahaman yang baik tentang protokol Minecraft, pemrograman jaringan, dan serialisasi/deserialisasi biner. Jika memungkinkan, pertimbangkan untuk menggunakan proxy untuk menyederhanakan komunikasi antara klien .NET Anda dan server Minecraft. Jika Anda mengimplementasikan protokol secara manual, bersiaplah untuk menghabiskan banyak waktu untuk meneliti dan menguji kode Anda. Selalu prioritaskan keamanan dan hindari penggunaan `BinaryFormatter`. Gunakan `System.Text.Json` atau pustaka serialisasi biner yang lebih aman jika memungkinkan.
Time & Location MCP Server
An MCP server that automatically detects and provides current time and location information based on system timezone and IP geolocation.
SAP HANA MCP Server by CData
SAP HANA MCP Server by CData
Weather MCP Server
Provides weather information through OpenWeather API, enabling users to get current weather conditions, 5-day forecasts, and perform temperature conversions for any city. Offers a secure interface for AI assistants to access comprehensive weather data including temperature, humidity, wind, and pressure information.
mcp-alphabanana
Local MCP server for generating image assets with Google Gemini (Nano Banana 2 / Pro). Supports transparent PNG/WebP output, exact resizing/cropping, up to 14 reference images, and Google Search grounding.
Tox Testing MCP Server
Sebuah server MCP yang menjalankan perintah `tox` untuk menjalankan pengujian Python dalam sebuah proyek menggunakan `pytest`, memungkinkan pengguna untuk menjalankan semua pengujian atau grup pengujian, file, kasus, atau direktori tertentu.
uuid-mcp-server
Rendi MCP Server
Enables cloud-based FFmpeg video and audio processing through the Rendi API, allowing AI assistants to convert, edit, and manipulate media files without local FFmpeg installation.
Memphora
Adds persistent memory to AI assistants by connecting to the Memphora cloud platform, allowing them to store and recall facts across conversations. It enables tools for searching memories, extracting insights, and maintaining long-term user context and preferences.
Codelens-MCP
An MCP server that gives Claude Desktop complete intelligence about any public GitHub repository. Research libraries, compare packages, audit dependencies, and explore codebases through natural conversation.
PocketBase MCP Server
A comprehensive MCP server for managing PocketBase database schemas and migrations via REST API. It enables users to generate and execute migrations for creating, modifying, and deleting collections and fields directly through MCP-compatible clients.