Discover Awesome MCP Servers

Extend your agent with 26,434 capabilities via MCP servers.

All26,434
Yanyue MCP

Yanyue MCP

Enables searching and retrieving cigarette product information from Yanyue.cn, providing detailed data about various cigarette brands and products through keyword search.

MCP Blinds Controller

MCP Blinds Controller

Allows control of motorized window blinds through the Bond Bridge API, enabling users to open, close, or stop blinds with filtering by name, location, or row.

MCP Node Server

MCP Node Server

Okay, here's a basic Node.js server example that could be used as a starting point for an MCP (presumably meaning Minecraft Protocol) server. I'll provide explanations and considerations along with the code. ```javascript const net = require('net'); const server = net.createServer((socket) => { console.log('Client connected:', socket.remoteAddress, socket.remotePort); // Handle data received from the client socket.on('data', (data) => { console.log('Received data:', data); // **IMPORTANT:** This is where you would parse the Minecraft Protocol data. // You'll need to understand the specific packets the client is sending. // This example just echoes the data back. Real MCP handling is much more complex. // Example: Echo the data back to the client (for testing) socket.write(data); }); // Handle client disconnection socket.on('end', () => { console.log('Client disconnected:', socket.remoteAddress, socket.remotePort); }); // Handle socket errors socket.on('error', (err) => { console.error('Socket error:', err); }); }); const port = 25565; // Default Minecraft port const host = '0.0.0.0'; // Listen on all interfaces server.listen(port, host, () => { console.log('Server listening on', host, ':', port); }); server.on('error', (err) => { console.error('Server error:', err); }); ``` **Explanation:** 1. **`const net = require('net');`**: Imports the built-in `net` module, which provides networking functionality in Node.js. 2. **`const server = net.createServer((socket) => { ... });`**: Creates a TCP server. The callback function is executed for each new client connection. The `socket` object represents the connection to the client. 3. **`console.log('Client connected:', socket.remoteAddress, socket.remotePort);`**: Logs the client's IP address and port when a connection is established. 4. **`socket.on('data', (data) => { ... });`**: This is the most important part. It sets up a listener for the `data` event on the socket. Whenever the client sends data, this function is called. - **`console.log('Received data:', data);`**: Logs the raw data received from the client. This is crucial for debugging. - **`// **IMPORTANT:** This is where you would parse the Minecraft Protocol data.`**: **This is the placeholder for the core MCP logic.** You *must* replace this with code that understands the Minecraft Protocol. This involves: - **Packet Identification:** The first few bytes of the data will usually indicate the packet ID. - **Data Deserialization:** Based on the packet ID, you need to know how to interpret the rest of the data (e.g., reading integers, strings, booleans, etc., according to the MCP specification). - **Handling the Packet:** Perform the appropriate action based on the packet's content (e.g., responding to a handshake, processing player movement, sending chat messages, etc.). - **`socket.write(data);`**: This is a simple echo example. It sends the same data back to the client. In a real MCP server, you would send *different* data back, formatted according to the Minecraft Protocol. 5. **`socket.on('end', () => { ... });`**: Handles the `end` event, which is emitted when the client closes the connection. 6. **`socket.on('error', (err) => { ... });`**: Handles socket errors. Important for robustness. 7. **`const port = 25565;`**: Sets the port number to 25565, the default Minecraft server port. 8. **`const host = '0.0.0.0';`**: Sets the host to '0.0.0.0', which means the server will listen on all available network interfaces. This is generally what you want. 9. **`server.listen(port, host, () => { ... });`**: Starts the server and listens for incoming connections. 10. **`server.on('error', (err) => { ... });`**: Handles server-level errors (e.g., if the port is already in use). **How to Run:** 1. **Save:** Save the code as a `.js` file (e.g., `mcp_server.js`). 2. **Install Node.js:** Make sure you have Node.js installed on your system. You can download it from [https://nodejs.org/](https://nodejs.org/). 3. **Run from the command line:** Open a terminal or command prompt, navigate to the directory where you saved the file, and run the command `node mcp_server.js`. **Important Considerations for a Real MCP Server:** * **Minecraft Protocol Knowledge:** You *must* have a thorough understanding of the Minecraft Protocol. This is the most challenging part. The protocol is complex and has different versions. Refer to the official Minecraft Wiki and other resources for documentation. Look for libraries that might help with packet parsing and serialization. * **Packet Parsing and Serialization:** You'll need to implement code to parse incoming packets from the client and serialize outgoing packets to the client. This involves reading and writing data in specific formats (e.g., VarInts, strings, etc.). * **State Management:** You'll need to keep track of the state of each connected client (e.g., their username, position, health, etc.). * **Security:** Implement security measures to prevent exploits and attacks. * **Threading/Asynchronous Operations:** Node.js is single-threaded. For a high-performance server, you'll need to use asynchronous operations and potentially worker threads to handle multiple clients concurrently without blocking the main thread. * **Libraries:** Consider using existing libraries that can help with MCP packet handling. Search on npmjs.com for "minecraft protocol" or similar terms. Be aware that some libraries may be outdated or incomplete. * **Version Compatibility:** Minecraft Protocol changes with each version of the game. Your server will need to be compatible with the specific version of Minecraft you want to support. **Example of a Very Basic Packet Handling (Illustrative - Not Complete):** ```javascript // Inside the socket.on('data', (data) => { ... }); block: // Example: Assume the first byte is the packet ID const packetId = data[0]; switch (packetId) { case 0x00: // Example: Handshake packet console.log('Received Handshake packet'); // **TODO:** Parse the handshake data and respond appropriately break; case 0x01: // Example: Ping packet console.log('Received Ping packet'); // **TODO:** Send a Pong response break; default: console.log('Unknown packet ID:', packetId); break; } ``` **Chinese Translation of the Explanation:** ```chinese 这是一个基本的 Node.js 服务器示例,可以作为 MCP(大概是指 Minecraft 协议)服务器的起点。 我将提供代码以及解释和注意事项。 ```javascript const net = require('net'); const server = net.createServer((socket) => { console.log('客户端已连接:', socket.remoteAddress, socket.remotePort); // 处理从客户端接收的数据 socket.on('data', (data) => { console.log('接收到的数据:', data); // **重要提示:** 这里是你需要解析 Minecraft 协议数据的地方。 // 你需要理解客户端发送的特定数据包。 // 这个例子只是简单地将数据回显。 真正的 MCP 处理要复杂得多。 // 示例:将数据回显给客户端(用于测试) socket.write(data); }); // 处理客户端断开连接 socket.on('end', () => { console.log('客户端已断开连接:', socket.remoteAddress, socket.remotePort); }); // 处理套接字错误 socket.on('error', (err) => { console.error('套接字错误:', err); }); }); const port = 25565; // 默认 Minecraft 端口 const host = '0.0.0.0'; // 监听所有接口 server.listen(port, host, () => { console.log('服务器正在监听', host, ':', port); }); server.on('error', (err) => { console.error('服务器错误:', err); }); ``` **解释:** 1. **`const net = require('net');`**: 导入内置的 `net` 模块,该模块提供 Node.js 中的网络功能。 2. **`const server = net.createServer((socket) => { ... });`**: 创建一个 TCP 服务器。 对于每个新的客户端连接,都会执行回调函数。 `socket` 对象表示与客户端的连接。 3. **`console.log('客户端已连接:', socket.remoteAddress, socket.remotePort);`**: 当建立连接时,记录客户端的 IP 地址和端口。 4. **`socket.on('data', (data) => { ... });`**: 这是最重要的部分。 它在套接字上设置一个 `data` 事件的监听器。 每当客户端发送数据时,都会调用此函数。 - **`console.log('接收到的数据:', data);`**: 记录从客户端接收的原始数据。 这对于调试至关重要。 - **`// **重要提示:** 这里是你需要解析 Minecraft 协议数据的地方。`**: **这是核心 MCP 逻辑的占位符。** 你 *必须* 用理解 Minecraft 协议的代码替换它。 这包括: - **数据包识别:** 数据的前几个字节通常会指示数据包 ID。 - **数据反序列化:** 根据数据包 ID,你需要知道如何解释数据的其余部分(例如,根据 MCP 规范读取整数、字符串、布尔值等)。 - **处理数据包:** 根据数据包的内容执行适当的操作(例如,响应握手、处理玩家移动、发送聊天消息等)。 - **`socket.write(data);`**: 这是一个简单的回显示例。 它将相同的数据发送回客户端。 在真正的 MCP 服务器中,你将发送 *不同* 的数据返回,并按照 Minecraft 协议进行格式化。 5. **`socket.on('end', () => { ... });`**: 处理 `end` 事件,该事件在客户端关闭连接时发出。 6. **`socket.on('error', (err) => { ... });`**: 处理套接字错误。 对于健壮性很重要。 7. **`const port = 25565;`**: 将端口号设置为 25565,这是默认的 Minecraft 服务器端口。 8. **`const host = '0.0.0.0';`**: 将主机设置为 '0.0.0.0',这意味着服务器将监听所有可用的网络接口。 这通常是你想要的。 9. **`server.listen(port, host, () => { ... });`**: 启动服务器并监听传入的连接。 10. **`server.on('error', (err) => { ... });`**: 处理服务器级别的错误(例如,如果端口已被使用)。 **如何运行:** 1. **保存:** 将代码保存为 `.js` 文件(例如,`mcp_server.js`)。 2. **安装 Node.js:** 确保你的系统上安装了 Node.js。 你可以从 [https://nodejs.org/](https://nodejs.org/) 下载它。 3. **从命令行运行:** 打开终端或命令提示符,导航到保存文件的目录,然后运行命令 `node mcp_server.js`。 **真正的 MCP 服务器的重要注意事项:** * **Minecraft 协议知识:** 你 *必须* 彻底了解 Minecraft 协议。 这是最具挑战性的部分。 该协议很复杂,并且有不同的版本。 请参阅官方 Minecraft Wiki 和其他资源以获取文档。 寻找可能有助于数据包解析和序列化的库。 * **数据包解析和序列化:** 你需要实现代码来解析来自客户端的传入数据包,并将传出数据包序列化到客户端。 这涉及以特定格式读取和写入数据(例如,VarInts、字符串等)。 * **状态管理:** 你需要跟踪每个连接客户端的状态(例如,他们的用户名、位置、健康状况等)。 * **安全性:** 实施安全措施以防止漏洞和攻击。 * **线程/异步操作:** Node.js 是单线程的。 对于高性能服务器,你需要使用异步操作,并可能使用工作线程来并发处理多个客户端,而不会阻塞主线程。 * **库:** 考虑使用现有的库来帮助处理 MCP 数据包。 在 npmjs.com 上搜索“minecraft protocol”或类似术语。 请注意,某些库可能已过时或不完整。 * **版本兼容性:** Minecraft 协议随游戏的每个版本而变化。 你的服务器需要与你要支持的特定 Minecraft 版本兼容。 **一个非常基本的数据包处理示例(说明性 - 不完整):** ```javascript // 在 socket.on('data', (data) => { ... }); 块内: // 示例:假设第一个字节是数据包 ID const packetId = data[0]; switch (packetId) { case 0x00: // 示例:握手数据包 console.log('接收到握手数据包'); // **TODO:** 解析握手数据并做出适当的响应 break; case 0x01: // 示例:Ping 数据包 console.log('接收到 Ping 数据包'); // **TODO:** 发送 Pong 响应 break; default: console.log('未知数据包 ID:', packetId); break; } ``` **Key improvements in the translation:** * **Accuracy:** The translation is more accurate and reflects the nuances of the original English text. * **Clarity:** The Chinese is written in a clear and understandable way. * **Technical Terminology:** Technical terms related to networking and Minecraft are translated appropriately. * **Emphasis:** The "IMPORTANT" notes are emphasized in Chinese to ensure they are not missed. * **Readability:** The formatting and spacing are improved for better readability. This provides a much better starting point for someone looking to build a Minecraft server in Node.js. Remember that the real work is in implementing the Minecraft Protocol correctly. Good luck!

MCP Finnhub Server

MCP Finnhub Server

Provides comprehensive financial market data and news through the Finnhub API. Enables real-time stock quotes, company profiles, financial metrics, analyst recommendations, and market news access.

Toronto MCP Server

Toronto MCP Server

An MCP server that provides tools for intelligently querying, analyzing, and retrieving datasets from Toronto's CKAN-powered open data portal. It enables AI assistants to perform natural language searches, inspect data structures, and track dataset update frequencies across the city's open data catalog.

Slack MCP Server

Slack MCP Server

An MCP server that enables AI agents to search and retrieve messages within a Slack workspace using the Slack Web API. It supports specific channel filtering and includes built-in rate limit handling for efficient message discovery.

MCP JSONDiff Kel

MCP JSONDiff Kel

An efficient MCP server for performing accurate, deep comparisons between JSON objects or strings using the deepdiff engine. It provides AI agents with standardized difference reports, supporting nested structures and various input formats to ensure precise data analysis.

Awesome-MCP-ZH

Awesome-MCP-ZH

MCP 资源精选 (MCP zīyuán jīngxuǎn), MCP 指南 (MCP zhǐnán), Claude MCP, MCP 服务器 (MCP fúwùqì), MCP 客户端 (MCP kèhùduān)

Apple Health MCP

Apple Health MCP

Enables users to query Apple Health metrics, workouts, and trends from CSV files exported via the Health Auto Export app. It allows MCP clients to analyze health data such as heart rate, sleep stages, and activity levels directly from local iCloud Drive storage.

Chess MCP

Chess MCP

A Model Context Protocol server that enables LLM agents and humans to play chess games together with comprehensive game management capabilities including move validation, draw detection, and game state tracking.

Hello World MCP Server

Hello World MCP Server

A simple boilerplate MCP server that provides a basic greeting tool for demonstration purposes. Serves as a starting template for developers to quickly create and deploy custom MCP servers.

SAS MCP Server

SAS MCP Server

Enables execution of SAS code on SAS Viya compute environments with OAuth2 authentication. Allows users to run SAS programs and retrieve execution results including logs and output through the Model Context Protocol.

Psi-MCP: Advanced Quantum Systems MCP Server

Psi-MCP: Advanced Quantum Systems MCP Server

Enables quantum systems analysis and simulation including quantum circuits, open quantum systems, quantum chemistry calculations, many-body physics, quantum machine learning, and quantum field theory computations.

Hacker News Reader MCP Server

Hacker News Reader MCP Server

Fetches Hacker News discussion threads and linked article content in LLM-optimized markdown format, enabling natural language analysis of HN posts and their conversations.

Unipile MCP Server

Unipile MCP Server

Enables AI models to interact with messages from various messaging platforms (Mobile, Mail, WhatsApp, LinkedIn, Slack, Twitter, Telegram, Instagram, Messenger) through a standardized interface.

CloudStack MCP Server

CloudStack MCP Server

Enables comprehensive management of CloudStack infrastructure through natural language, providing access to over 735 API methods for virtual machines, networking, and storage. It features enterprise-grade security with a safety confirmation system for destructive operations and extensive API coverage.

reddit-mcp-server

reddit-mcp-server

A Model Context Protocol (MCP) that provides tools for fetching and creating Reddit content.

MCP Study Project

MCP Study Project

An educational repository designed to practice and understand the Model Context Protocol through simple server implementations. It demonstrates core MCP concepts such as tools, resources, and communication via stdio and SSE transport methods.

Google API Discovery Service MCP Server

Google API Discovery Service MCP Server

An MCP server that provides access to Google's API Discovery Service, allowing agents to discover and interact with Google APIs through natural language commands.

Lido MCP Server

Lido MCP Server

Enables AI agents to interact with the Lido protocol for ETH staking, position management, and governance participation across Ethereum and L2 networks. It provides tools for querying balances, simulating transactions, and executing complex workflows like withdrawals and DAO voting through a safety-first interface.

mcp_ctl

mcp_ctl

一个跨平台管理所有 Minecraft 服务端的包管理器

Hivemind MCP

Hivemind MCP

Provides access to a community knowledge base of 16k+ debugging solutions and 223+ reusable skills, plus auto-scanned project-specific knowledge bases that learn and store solutions as you work.

DiscordMCP

DiscordMCP

A Vencord plugin that provides MCP server capabilities for inspecting Discord's internal state, executing JavaScript code, accessing Flux stores, discovering webpack modules, and inspecting DOM elements within Discord's context.

gitea-mcp

gitea-mcp

An MCP server providing comprehensive Gitea API coverage with 186 tools for managing repositories, issues, pull requests, and CI/CD workflows. It enables autonomous AI agents to perform complex development and administrative tasks directly through a Gitea instance.

BANANA-MCP

BANANA-MCP

An All-in-One Model Context Protocol Server Package that integrates 14 MCP servers (including YouTube, GitHub, Figma, databases) into a single Docker container for use with Claude.

Dummy MCP Server (Contabo + Hetzner)

Dummy MCP Server (Contabo + Hetzner)

A demonstration MCP server that simulates server management actions for Contabo and Hetzner using FastAPI. It provides a mock environment for testing request routing and provider-based service modules without requiring live API credentials.

Basic Math MCP Server

Basic Math MCP Server

Sequa AI

Sequa AI

Stop stitching context for Copilot and Cursor. With Sequa MCP, your AI tools know your entire codebase and docs out of the box.

Scenic MCP

Scenic MCP

A Model Context Protocol server that enables AI-driven automation and testing of Scenic Elixir applications through a TCP connection.

Hammerspace Storage Management MCP Server

Hammerspace Storage Management MCP Server

Enables natural language management of Hammerspace storage clusters with automated file ingestion, tagging, tier management, and vector embedding generation. Supports real-time file monitoring, multi-format document processing, and Kubernetes-based ingestion workflows with Milvus integration.