Discover Awesome MCP Servers

Extend your agent with 15,975 capabilities via MCP servers.

All15,975
KatCoder MySQL MCP Server

KatCoder MySQL MCP Server

A secure MySQL Model Context Protocol server that enables AI agents to interact with MySQL databases through standardized operations. Features comprehensive security with SQL injection prevention, connection pooling, and configurable tool access for database operations.

KIS REST API MCP Server

KIS REST API MCP Server

一个用于与韩国投资证券 (KIS) REST API 交互的模型上下文协议服务器,能够进行国内和国外股票交易、价格查询和账户管理。

Atla MCP Server

Atla MCP Server

用于代理与Atla模型交互的MCP服务器的初始版本

Remote MCP Server on Cloudflare

Remote MCP Server on Cloudflare

US Weather MCP Server

US Weather MCP Server

Provides weather information for the United States through the Model Context Protocol. Enables users to query current weather conditions and forecasts for US locations.

PrimeKG to Neo4j

PrimeKG to Neo4j

PrimeKG数据集的MCP服务器

PocketFlow MCP Server

PocketFlow MCP Server

Brings the PocketFlow tutorial generation methodology to AI assistants, automatically creating comprehensive, beginner-friendly tutorials from any GitHub repository through advanced codebase analysis.

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.

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.

Swift Test MCP Server

Swift Test MCP Server

Enables running Swift package tests through the swift test command in specified directories. Provides a secure way for MCP clients to execute Swift tests without requiring full shell access.

mcp-bitbucket

mcp-bitbucket

Access all major Bitbucket Cloud features—repositories, pull requests, issues, branches, pipelines, deployments, and more—using a modern Rust codebase. Expose Bitbucket as Model Context Protocol (MCP) tools, ideal for bots, CI/CD, and workflow automation.

Anomaly Detection MCP Server

Anomaly Detection MCP Server

A server that enables LLMs to detect anomalies in sensor data by providing tools for data retrieval, analysis, visualization, and corrective action execution.

MCP Demo Server

MCP Demo Server

Provides calculator, text analysis, and file reading tools through two different implementations - a FastAPI version for learning MCP concepts and an official SDK version for production use with Claude Desktop integration.

Simple MCP Data Manager with AI

Simple MCP Data Manager with AI

A Python-based Model Context Protocol server that integrates local AI models for managing data with features like CRUD operations, similarity search, and text analysis.

Database MCP

Database MCP

Enables interaction with MySQL and PostgreSQL databases through separate pluggable MCP servers with shared core functionality. Features optional TTL caching, bilingual prompts, and a unified gateway for managing multiple database connections.

Chroma MCP Server

Chroma MCP Server

用于将 ChromaDB 集成到 Cursor 中,并使用 MCP 兼容 AI 模型的 MCP 服务器

Duyet MCP Server

Duyet MCP Server

An experimental Model Context Protocol server that enables AI assistants to access information about Duyet, including his CV, blog posts, and GitHub activity through natural language queries.

KnowledgeSmith MCP

KnowledgeSmith MCP

Enables efficient editing of RBT documents with structured operations that read and modify specific sections or blocks. Reduces LLM token consumption by 80-95% compared to full file operations through smart caching and partial document access.

SpinAI App

SpinAI App

将 SpinAi Agent 与 Hubspot Mcp 服务器集成

termiAgent

termiAgent

termiAgent 是一个由大型语言模型驱动的命令行助手,它提供插件角色设置,可以为不同的任务创建工作流程。同时,它也是一个 mcp-client,可以自由连接到你的 mcp-servers。

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.

GitHub MCP Server

GitHub MCP Server

Doctah-MCP

Doctah-MCP

Enables AI assistants to search and access Arknights game data including operator information, enemy intelligence, skills, talents, and attributes through PRTS.wiki integration. Provides fuzzy search functionality for operators and enemies with clean Markdown output.

gbox

gbox

Gru-sandbox (gbox) 是一个开源项目,它提供了一个可自托管的沙箱,用于 MCP 集成或其他 AI 代理用例。

BlenderMCP

BlenderMCP

Connects Claude AI to Blender through the Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, material control, and object manipulation. Supports integration with Poly Haven assets and Hyper3D for AI-generated models.

mcp-server-docker

mcp-server-docker

mcp-server-docker

SVGMaker MCP Server

SVGMaker MCP Server

Enables LLMs to programmatically generate, edit, and convert SVG images using the SVGMaker API and save them to the local filesystem.

MCP Starter

MCP Starter

构建自定义本地模型上下文协议 (MCP) 服务器的基础,这些服务器提供可供 AI 助手(如 Cursor 或 Claude Desktop)访问的工具。

Beelzebub MCP Honeypot

Beelzebub MCP Honeypot

Description: Introduce Beelzebub, an MCP‑based honeypot framework that enables creating decoy tools to detect prompt injection and malicious agent behavior. Motivation: Strengthen the security of LLM workflows by adding a non‑intrusive detection mechanism.