Discover Awesome MCP Servers

Extend your agent with 30,245 capabilities via MCP servers.

All30,245
Access

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

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

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

mcp-server-playwright

Fess MCP Server

Fess MCP Server

Server MCP untuk berinteraksi dengan mesin pencari Fess.

🚀 NexusHub

🚀 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

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

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

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

Crawl4AI MCP Server

Exa 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

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

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

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

engram

The 'Blast Radius' detector for AI Agents. Prevent regressions using Git history and organizational memory.

GetUTC MCP Server

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

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

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

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

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

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

SAP HANA MCP Server by CData

Weather MCP Server

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

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

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

uuid-mcp-server

Rendi 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

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

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

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.