Discover Awesome MCP Servers

Extend your agent with 16,294 capabilities via MCP servers.

All16,294
LinkedIn Profile Analyzer MCP

LinkedIn Profile Analyzer MCP

Enables users to fetch, analyze, and manage LinkedIn posts data through tools that retrieve profiles, search posts by keywords, filter by date, and identify top-performing content based on engagement metrics.

Salesforce DX MCP Server

Salesforce DX MCP Server

Enables secure interaction with Salesforce orgs through LLMs, providing tools for managing orgs, querying data, deploying metadata, running tests, and performing code analysis with granular access control and encrypted authentication.

MetaMCP MCP Server

MetaMCP MCP Server

Mirror of

ClickUp MCP Server

ClickUp MCP Server

Enables interaction with ClickUp project management platform through the Model Context Protocol, providing tools for task management, team collaboration, and workspace operations with flexible authentication support.

MCP Boilerplate

MCP Boilerplate

A minimal, production-ready MCP server with a simple addition calculator tool that demonstrates integration with the Model Context Protocol.

Mcp Todo App

Mcp Todo App

Kombinasi server dan klien MCP yang menambahkan sentuhan AI ke aplikasi todo sederhana.

crypto-pegmon-mcp

crypto-pegmon-mcp

crypto-pegmon-mcp

Weather MCP Server

Weather MCP Server

Ini adalah repo tutorial tentang server dan klien MCP.

whistle-mcp

whistle-mcp

Whistle MCP Server adalah alat manajemen proxy Whistle yang didasarkan pada protokol Model Context Protocol (MCP), yang memungkinkan asisten AI untuk secara langsung mengoperasikan dan mengendalikan server proxy Whistle lokal. Melalui alat ini, AI dapat membantu pengguna mengelola aturan, grup, nilai, memantau permintaan jaringan, dan memutar ulang.

Dropbox MCP Server by CData

Dropbox MCP Server by CData

This read-only MCP Server allows you to connect to Dropbox data from Claude Desktop through CData JDBC Drivers. Free (beta) read/write servers available at https://www.cdata.com/solutions/mcp

SQL Server Express MCP Server

SQL Server Express MCP Server

Memfasilitasi interaksi dengan Microsoft SQL Server Express, mendukung operasi database seperti kueri, manajemen tabel, dan inspeksi skema melalui perintah MCP bahasa alami.

VLC MCP Server

VLC MCP Server

Server MCP (Model Context Protocol) untuk memutar dan mengontrol film menggunakan VLC.

MCP Middleware Adapter for Express Servers

MCP Middleware Adapter for Express Servers

Okay, here's a breakdown of how to run multiple Minecraft Protocol (MCP) clients on a NodeJS Express server, acting as an adapter or middleware. This is a more complex setup, so I'll break it down into key concepts and provide a conceptual outline. Keep in mind that this is a high-level guide; you'll need to fill in the details with your specific MCP client library and desired functionality. **Core Concepts** * **MCP Client Library:** You'll need a NodeJS library that implements the Minecraft Protocol. Popular options include: * `minecraft-protocol`: A widely used and well-maintained library. * `prismarine-proxy`: Can be used for proxying and manipulating Minecraft traffic. * **Express Server:** This will be your central point for managing and interacting with the MCP clients. It will handle incoming requests and route them to the appropriate client. * **Client Management:** You'll need a way to keep track of your MCP clients. This could be a simple array or a more sophisticated data structure (e.g., a Map) that associates clients with identifiers (e.g., server addresses, usernames). * **Asynchronous Operations:** MCP communication is inherently asynchronous. You'll need to use `async/await` or Promises to handle the asynchronous nature of connecting to servers, sending commands, and receiving data. * **Error Handling:** Robust error handling is crucial. You need to catch errors during connection attempts, data transmission, and server responses. * **Concurrency:** NodeJS is single-threaded, but it uses an event loop to handle concurrency. This means that you can manage multiple MCP clients without blocking the main thread. However, CPU-intensive tasks should be offloaded to worker threads if necessary. **Conceptual Outline** 1. **Project Setup:** * Create a new NodeJS project: `npm init -y` * Install dependencies: `npm install express minecraft-protocol` (or your chosen MCP library) 2. **Express Server Setup:** ```javascript const express = require('express'); const app = express(); const port = 3000; // Or any port you prefer app.use(express.json()); // For parsing JSON request bodies app.listen(port, () => { console.log(`Server listening at http://localhost:${port}`); }); ``` 3. **MCP Client Management:** ```javascript const mc = require('minecraft-protocol'); const clients = new Map(); // Store clients, keyed by server address or a unique ID async function createClient(serverAddress, username, password = null) { try { const [host, port] = serverAddress.split(':'); const client = mc.createClient({ host: host, port: parseInt(port || 25565), // Default Minecraft port username: username, password: password, // If needed }); client.on('connect', () => { console.log(`Connected to ${serverAddress} as ${username}`); }); client.on('disconnect', (packet) => { console.log(`Disconnected from ${serverAddress}: ${packet.reason}`); clients.delete(serverAddress); // Remove client on disconnect }); client.on('error', (err) => { console.error(`Error connecting to ${serverAddress}: ${err}`); clients.delete(serverAddress); // Remove client on error }); clients.set(serverAddress, client); // Store the client return client; } catch (error) { console.error(`Failed to create client for ${serverAddress}: ${error}`); return null; } } ``` 4. **Express Routes for Client Interaction:** ```javascript // Route to create a new client app.post('/client/create', async (req, res) => { const { serverAddress, username, password } = req.body; if (!serverAddress || !username) { return res.status(400).json({ error: 'Server address and username are required.' }); } if (clients.has(serverAddress)) { return res.status(400).json({ error: `Client already exists for ${serverAddress}` }); } const client = await createClient(serverAddress, username, password); if (client) { res.status(201).json({ message: `Client created for ${serverAddress}` }); } else { res.status(500).json({ error: `Failed to create client for ${serverAddress}` }); } }); // Route to send a chat message to a specific server app.post('/client/:serverAddress/chat', (req, res) => { const serverAddress = req.params.serverAddress; const message = req.body.message; const client = clients.get(serverAddress); if (!client) { return res.status(404).json({ error: `Client not found for ${serverAddress}` }); } if (!message) { return res.status(400).json({ error: 'Message is required.' }); } client.write('chat', { message: message }); res.status(200).json({ message: `Message sent to ${serverAddress}` }); }); // Route to disconnect a client app.post('/client/:serverAddress/disconnect', (req, res) => { const serverAddress = req.params.serverAddress; const client = clients.get(serverAddress); if (!client) { return res.status(404).json({ error: `Client not found for ${serverAddress}` }); } client.end(); // Disconnect the client clients.delete(serverAddress); res.status(200).json({ message: `Client disconnected from ${serverAddress}` }); }); //Route to get the status of a server app.get('/server/status', async (req, res) => { const { host, port } = req.query; if (!host) { return res.status(400).json({ error: 'Host is required.' }); } mc.ping({ host: host, port: parseInt(port || 25565) }, (err, results) => { if (err) { console.error(err); return res.status(500).json({ error: 'Failed to ping server' }); } res.status(200).json(results); }); }); ``` 5. **Error Handling:** * Wrap your `createClient` function and route handlers in `try...catch` blocks to handle potential errors. * Use Express's error handling middleware to catch unhandled exceptions. 6. **Security Considerations:** * **Authentication:** Implement authentication for your Express routes to prevent unauthorized access. Consider using JWTs or other authentication mechanisms. * **Input Validation:** Thoroughly validate all input from the client (e.g., server addresses, usernames, messages) to prevent injection attacks and other vulnerabilities. * **Rate Limiting:** Implement rate limiting to prevent abuse of your API. **Example Usage (Conceptual)** 1. **Create a Client:** ```bash curl -X POST -H "Content-Type: application/json" -d '{"serverAddress": "example.com:25565", "username": "MyBot"}' http://localhost:3000/client/create ``` 2. **Send a Chat Message:** ```bash curl -X POST -H "Content-Type: application/json" -d '{"message": "Hello, world!"}' http://localhost:3000/client/example.com:25565/chat ``` 3. **Disconnect a Client:** ```bash curl -X POST http://localhost:3000/client/example.com:25565/disconnect ``` **Important Considerations and Enhancements** * **Configuration:** Use environment variables or a configuration file to store sensitive information like passwords and API keys. * **Logging:** Implement comprehensive logging to track client connections, disconnections, errors, and other important events. Use a logging library like `winston` or `pino`. * **Scaling:** If you need to handle a large number of clients, consider using a message queue (e.g., RabbitMQ, Kafka) to distribute tasks to multiple worker processes. You could also explore using a load balancer to distribute traffic across multiple Express server instances. * **State Management:** For more complex interactions, you might need to store the state of each client (e.g., its current location in the game world, its inventory). Consider using a database (e.g., Redis, MongoDB) to store this state. * **Plugin System:** Design your server with a plugin system in mind. This will allow you to easily add new functionality without modifying the core code. * **Heartbeats/Keep-Alives:** Implement a mechanism to detect and handle dead connections. The server can periodically send "ping" packets to the clients, and if a client doesn't respond within a certain time, it can be considered disconnected. * **Minecraft Protocol Version Handling:** Minecraft's protocol changes frequently. Make sure your MCP client library supports the versions of Minecraft that you want to interact with. You might need to handle different protocol versions differently. **Indonesian Translation of Key Concepts** * **MCP Client Library:** Pustaka Klien MCP (Perpustakaan Klien MCP) * **Express Server:** Server Express * **Client Management:** Manajemen Klien * **Asynchronous Operations:** Operasi Asinkron * **Error Handling:** Penanganan Kesalahan * **Concurrency:** Konkurensi * **Server Address:** Alamat Server * **Username:** Nama Pengguna * **Password:** Kata Sandi * **Route:** Rute * **Authentication:** Otentikasi * **Input Validation:** Validasi Input * **Rate Limiting:** Pembatasan Laju * **Configuration:** Konfigurasi * **Logging:** Pencatatan Log * **Scaling:** Penskalaan * **State Management:** Manajemen Status * **Plugin System:** Sistem Plugin * **Heartbeats/Keep-Alives:** Detak Jantung/Tetap Hidup * **Minecraft Protocol Version Handling:** Penanganan Versi Protokol Minecraft **Summary in Indonesian** Untuk menjalankan banyak klien Minecraft Protocol (MCP) pada server NodeJS Express sebagai adapter atau middleware, Anda perlu: 1. **Siapkan proyek:** Buat proyek NodeJS baru dan instal dependensi (express, pustaka klien MCP). 2. **Siapkan server Express:** Buat server Express untuk menangani permintaan masuk. 3. **Kelola klien MCP:** Gunakan `Map` atau struktur data lain untuk menyimpan dan mengelola klien MCP. 4. **Buat rute Express:** Buat rute untuk membuat klien, mengirim pesan obrolan, memutuskan koneksi klien, dan mendapatkan status server. 5. **Tangani kesalahan:** Gunakan `try...catch` dan middleware penanganan kesalahan Express. 6. **Pertimbangkan keamanan:** Implementasikan otentikasi, validasi input, dan pembatasan laju. 7. **Pertimbangkan peningkatan:** Gunakan variabel lingkungan, pencatatan log, penskalaan, manajemen status, sistem plugin, detak jantung, dan penanganan versi protokol Minecraft. This is a complex task, but this outline should give you a solid foundation to build upon. Remember to consult the documentation for your chosen MCP client library and Express. Good luck!

zk-mcp

zk-mcp

Here are a few possible translations, depending on what you mean by "MCP server for zk": **If you're referring to a server that handles Minecraft Protocol (MCP) for Zero Knowledge (ZK) applications:** * **Server MCP untuk aplikasi ZK** (This is a direct and generally understandable translation) **If you're referring to a server that uses MCP to manage or interact with a Zookeeper (ZK) cluster:** * **Server MCP untuk Zookeeper** (This is a direct and generally understandable translation) **If you're referring to a server that is part of a larger system involving MCP and ZK, and you want to emphasize its role:** * **Server MCP yang digunakan dalam sistem ZK** (MCP server used in a ZK system) * **Server MCP sebagai bagian dari infrastruktur ZK** (MCP server as part of the ZK infrastructure) **In short, the best translation depends on the specific context. However, "Server MCP untuk ZK" is a good starting point.**

Oura Ring MCP Server

Oura Ring MCP Server

Enables access to Oura Ring health data including sleep patterns, activity metrics, readiness scores, heart rate, workouts, and stress measurements with AI-powered analysis and personalized recommendations.

redshift-utils-mcp

redshift-utils-mcp

redshift-utils-mcp

redis-mcp-server

redis-mcp-server

mcp4gql

mcp4gql

GraphQL MCP Server that acts as a bridge allowing MCP clients (like Cursor or Claude Desktop) to interact with target GraphQL APIs through standard tools for schema introspection and operation execution.

AdsPower LocalAPI MCP Server

AdsPower LocalAPI MCP Server

A Model Context Protocol server that enables LLMs to interact with AdsPower browser LocalAPI, allowing for operations like creating, opening, updating, and managing browser profiles with custom fingerprints.

Example Next.js MCP Server

Example Next.js MCP Server

A sample implementation of a Model Context Protocol server using Next.js and the Vercel MCP Adapter, allowing developers to create AI assistants with custom tools and resources.

MCP Server

MCP Server

Git PR MCP Server

Git PR MCP Server

An MCP server that enables Git repository operations and GitHub PR workflows, allowing users to manage repositories, create branches, commit changes, and create pull requests through natural language.

mcp-server

mcp-server

Sebuah server MCP yang dibangun di atas kemampuan Nasdanika (AI).

poem_mcp

poem_mcp

Sebuah server MCP menyediakan pengetahuan tentang Tiongkok kuno.

๐Ÿš€ Build Custom MCP Servers ๐Ÿ“โ˜€๏ธ๐Ÿ“ฐ

๐Ÿš€ Build Custom MCP Servers ๐Ÿ“โ˜€๏ธ๐Ÿ“ฐ

Rembg MCP Server

Rembg MCP Server

Enables AI-powered background removal from images using multiple specialized models including u2net, birefnet, and isnet. Supports both single image processing and batch folder operations with advanced options like alpha matting and mask-only output.

Power BI XMLA MCP Server by CData

Power BI XMLA MCP Server by CData

Power BI XMLA MCP Server by CData

Manim MCP Server

Manim MCP Server

Enables compilation and serving of Manim animations through natural language. Supports compiling Manim Python code into videos and downloading the generated animations with secure authentication.

Image Analyzer MCP Server

Image Analyzer MCP Server

Enables local image analysis using Ollama AI models with complete privacy protection. Supports image content analysis, OCR text extraction, UI design analysis, and batch processing without requiring API keys or uploading data.

MCP Server for cli-kintone

MCP Server for cli-kintone

Ini adalah repositori eksperimental yang memverifikasi ide untuk mengubah cli-kintone menjadi Server MCP (Model Context Protocol).