发现优秀的 MCP 服务器

通过 MCP 服务器扩展您的代理能力,拥有 23,420 个能力。

全部23,420
Fusion 360 MCP Server

Fusion 360 MCP Server

一个模型上下文协议服务器,它使 Cline 能够将自然语言提示转换为 Fusion 360 CAD 操作,通过将命令映射到 Fusion 的 API 并生成可执行的 Python 脚本来实现。

MCP Agent Server

MCP Agent Server

An open-source "brain" for AI employees that enables users to create, manage, and improve persistent AI agents with their own memory and learning capabilities.

GCP MCP Server

GCP MCP Server

Enables AI assistants to interact with Google Cloud Platform services for log analysis and root cause investigation. Provides tools to query Cloud Logging, detect error patterns, and perform real-time log streaming across multiple GCP projects.

zio-ella

zio-ella

Here are a few possible translations of "MCP framework for ZIO HTTP", depending on the specific nuance you want to convey. I'll provide explanations to help you choose the best fit: **1. (Most Literal, General): 用于 ZIO HTTP 的 MCP 框架** * **用于 (yòng yú):** Used for, for * **ZIO HTTP:** (Keeps the English name, as it's a specific library) * **的 (de):** Possessive particle (of) * **MCP 框架 (MCP kuàngjià):** MCP framework (Keeps the English name, as it's likely a specific framework) This is the safest and most straightforward translation. It's suitable if your audience is familiar with the terms "ZIO HTTP" and "MCP framework" or if you want to avoid any potential misinterpretations by translating them. **2. (Slightly More Descriptive): 基于 ZIO HTTP 的 MCP 框架** * **基于 (jī yú):** Based on, built upon * **ZIO HTTP:** (Keeps the English name) * **的 (de):** Possessive particle (of) * **MCP 框架 (MCP kuàngjià):** MCP framework (Keeps the English name) This emphasizes that the MCP framework *relies* on ZIO HTTP. It's a subtle difference, but it might be more appropriate if the framework is tightly integrated with ZIO HTTP. **3. (If "MCP" is an acronym and you know what it stands for, and it's commonly translated): 用于 ZIO HTTP 的 [Translated Acronym] 框架** * **用于 (yòng yú):** Used for, for * **ZIO HTTP:** (Keeps the English name) * **的 (de):** Possessive particle (of) * **[Translated Acronym] 框架 ([Translated Acronym] kuàngjià):** Replace `[Translated Acronym]` with the Chinese translation of what "MCP" stands for. For example, if MCP stood for "Message Control Protocol" and the Chinese translation of that was "消息控制协议 (xiāo xī kòng zhì xié yì)", then this would be: `用于 ZIO HTTP 的 消息控制协议 框架` **Important:** Only use this if you *know* the meaning of the acronym and there's a standard or widely accepted Chinese translation. Otherwise, stick with the English acronym. **4. (If you want to explain what MCP does in the context of ZIO HTTP): 用于 ZIO HTTP 的 [Description of MCP Functionality] 框架** * **用于 (yòng yú):** Used for, for * **ZIO HTTP:** (Keeps the English name) * **的 (de):** Possessive particle (of) * **[Description of MCP Functionality] 框架 ([Description of MCP Functionality] kuàngjià):** Replace `[Description of MCP Functionality]` with a brief description of what the MCP framework *does* in relation to ZIO HTTP. This is the most complex option and requires understanding the framework's purpose. For example, if the MCP framework is for managing request routing, you might say: `用于 ZIO HTTP 的 请求路由管理 框架` (qǐng qiú lù yóu guǎn lǐ kuàngjià - Request Routing Management Framework). **Recommendation:** Start with option **1 (用于 ZIO HTTP 的 MCP 框架)**. If you have more context about what "MCP" stands for and its function, consider options 3 or 4. Option 2 is a good alternative if the framework is tightly coupled with ZIO HTTP. To give you the *best* translation, please provide more information about what "MCP" stands for and what the framework does.

Hermes Search MCP Server

Hermes Search MCP Server

Enables AI systems to perform full-text and semantic search operations over structured/unstructured data in Azure Cognitive Search, with capabilities for document indexing and management through natural language.

Weather MCP Server

Weather MCP Server

A Model Context Protocol server that enables AI models to fetch weather alerts and detailed forecasts for US locations using the National Weather Service API.

Examplary MCP Server

Examplary MCP Server

Provides AI assistants with access to Examplary's exam management platform, enabling users to create and manage exams, generate questions from materials, grade student responses, and collaborate in workspaces through 60+ API endpoints.

Atrax

Atrax

聚合多个 MCP 服务器并将它们呈现为统一接口的代理,允许客户端透明地访问来自多个服务器的资源。

python-pip-mcp

python-pip-mcp

Okay, here's a minimal example implementation of an MCP (Minecraft Protocol) server and client using Python and Pip, designed to be debuggable in VSCode on Windows. This example focuses on the handshake and status request/response, which is the simplest part of the protocol. It's a starting point, not a fully functional Minecraft server. **Important Considerations:** * **Minecraft Protocol Complexity:** The Minecraft protocol is complex. This example only implements a tiny subset. To build a real server, you'll need to understand the full protocol specification (available on the Minecraft Wiki). * **Error Handling:** This example has minimal error handling for brevity. Real-world code needs robust error handling. * **Threading/Asynchronous:** For a real server, you'd want to use threading or asynchronous programming (e.g., `asyncio`) to handle multiple clients concurrently. This example is single-threaded. * **Data Packing/Unpacking:** The Minecraft protocol uses specific data types and packing/unpacking rules. The `struct` module is crucial for this. * **VSCode Debugging:** This code is structured to make it easy to set breakpoints and inspect variables in VSCode. **Prerequisites:** 1. **Python:** Make sure you have Python 3.7+ installed. 2. **Pip:** Pip should come with your Python installation. 3. **VSCode:** Install VSCode. 4. **Python Extension for VSCode:** Install the Python extension in VSCode. **Steps:** 1. **Create a Project Directory:** Create a directory for your project (e.g., `mcp_example`). 2. **Create `server.py`:** ```python # server.py import socket import struct import json def pack_varint(data: int) -> bytes: """Packs an integer into a Minecraft-style VarInt.""" out = b"" while True: byte = data & 0x7F data >>= 7 if data != 0: byte |= 0x80 out += struct.pack("B", byte) if data == 0: break return out def unpack_varint(buffer: bytes, offset: int) -> tuple[int, int]: """Unpacks a Minecraft-style VarInt from a byte buffer.""" result = 0 shift = 0 count = 0 while True: byte = buffer[offset] offset += 1 count += 1 result |= (byte & 0x7F) << shift shift += 7 if not (byte & 0x80): break if count > 5: raise ValueError("VarInt is too big") return result, offset def handle_handshake(sock): """Handles the handshake packet.""" data = sock.recv(4096) # Adjust buffer size as needed offset = 0 # Packet Length packet_length, offset = unpack_varint(data, offset) # Packet ID packet_id, offset = unpack_varint(data, offset) if packet_id != 0x00: print("Unexpected packet ID:", packet_id) return # Protocol Version protocol_version, offset = unpack_varint(data, offset) # Server Address server_address_length, offset = unpack_varint(data, offset) server_address = data[offset:offset + server_address_length].decode('utf-8') offset += server_address_length # Server Port server_port = struct.unpack(">H", data[offset:offset + 2])[0] offset += 2 # Next State next_state, offset = unpack_varint(data, offset) print(f"Handshake received: Protocol Version={protocol_version}, Address={server_address}, Port={server_port}, Next State={next_state}") return next_state def handle_status_request(sock): """Handles the status request and sends a response.""" data = sock.recv(4096) offset = 0 # Packet Length packet_length, offset = unpack_varint(data, offset) # Packet ID packet_id, offset = unpack_varint(data, offset) if packet_id != 0x00: print("Unexpected packet ID:", packet_id) return print("Status request received.") # Craft the status response status = { "version": { "name": "1.19.4", "protocol": 762 }, "players": { "max": 20, "online": 0, "sample": [] }, "description": { "text": "Minimal Python MCP Server" } } status_json = json.dumps(status) status_bytes = status_json.encode('utf-8') status_length = len(status_bytes) packet_id = 0x00 packet = pack_varint(packet_id) + status_length.to_bytes(1, 'big') + status_bytes packet_length = len(packet) full_packet = pack_varint(packet_length) + packet sock.sendall(full_packet) def handle_ping(sock): """Handles the ping request and sends a response.""" data = sock.recv(4096) offset = 0 # Packet Length packet_length, offset = unpack_varint(data, offset) # Packet ID packet_id, offset = unpack_varint(data, offset) if packet_id != 0x01: print("Unexpected packet ID:", packet_id) return # Payload payload = data[offset:] print("Ping request received.") # Send the pong response packet_id = 0x01 packet = pack_varint(packet_id) + payload packet_length = len(packet) full_packet = pack_varint(packet_length) + packet sock.sendall(full_packet) def main(): host = '127.0.0.1' # Listen on localhost port = 25565 # Default Minecraft port server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((host, port)) server_socket.listen(1) # Listen for only one connection for this example print(f"Server listening on {host}:{port}") try: client_socket, client_address = server_socket.accept() print(f"Connection from {client_address}") next_state = handle_handshake(client_socket) if next_state == 1: handle_status_request(client_socket) handle_ping(client_socket) except Exception as e: print(f"Error: {e}") finally: if client_socket: client_socket.close() server_socket.close() print("Server closed.") if __name__ == "__main__": main() ``` 3. **Create `client.py`:** ```python # client.py import socket import struct import json def pack_varint(data: int) -> bytes: """Packs an integer into a Minecraft-style VarInt.""" out = b"" while True: byte = data & 0x7F data >>= 7 if data != 0: byte |= 0x80 out += struct.pack("B", byte) if data == 0: break return out def unpack_varint(buffer: bytes, offset: int) -> tuple[int, int]: """Unpacks a Minecraft-style VarInt from a byte buffer.""" result = 0 shift = 0 count = 0 while True: byte = buffer[offset] offset += 1 count += 1 result |= (byte & 0x7F) << shift shift += 7 if not (byte & 0x80): break if count > 5: raise ValueError("VarInt is too big") return result, offset def main(): host = '127.0.0.1' port = 25565 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: client_socket.connect((host, port)) print(f"Connected to {host}:{port}") # --- Handshake --- protocol_version = 762 # Minecraft 1.19.4 server_address = host server_port = port next_state = 1 # 1 for status, 2 for login packet_id = 0x00 # Build the handshake packet packet = pack_varint(packet_id) packet += pack_varint(protocol_version) packet += pack_varint(len(server_address)) packet += server_address.encode('utf-8') packet += struct.pack(">H", server_port) packet += pack_varint(next_state) packet_length = len(packet) full_packet = pack_varint(packet_length) + packet client_socket.sendall(full_packet) # --- Status Request --- packet_id = 0x00 packet = pack_varint(packet_id) packet_length = len(packet) full_packet = pack_varint(packet_length) + packet client_socket.sendall(full_packet) # --- Receive Status Response --- data = client_socket.recv(4096) offset = 0 # Packet Length packet_length, offset = unpack_varint(data, offset) # Packet ID packet_id, offset = unpack_varint(data, offset) if packet_id != 0x00: print("Unexpected packet ID:", packet_id) return # Status JSON status_length = data[offset] offset += 1 status_json = data[offset:offset + status_length].decode('utf-8') offset += status_length status = json.loads(status_json) print("Received status:", json.dumps(status, indent=4)) # --- Ping Request --- packet_id = 0x01 payload = struct.pack(">q", 123456789) # Example payload packet = pack_varint(packet_id) + payload packet_length = len(packet) full_packet = pack_varint(packet_length) + packet client_socket.sendall(full_packet) # --- Receive Ping Response --- data = client_socket.recv(4096) offset = 0 # Packet Length packet_length, offset = unpack_varint(data, offset) # Packet ID packet_id, offset = unpack_varint(data, offset) if packet_id != 0x01: print("Unexpected packet ID:", packet_id) return # Payload payload = struct.unpack(">q", data[offset:offset + 8])[0] offset += 8 print("Received pong:", payload) except Exception as e: print(f"Error: {e}") finally: client_socket.close() print("Client closed.") if __name__ == "__main__": main() ``` 4. **Create `.vscode/launch.json` (for debugging in VSCode):** Create a directory named `.vscode` in your project directory. Inside `.vscode`, create a file named `launch.json`. Paste the following configuration into it: ```json { "version": "0.2.0", "configurations": [ { "name": "Python: Server", "type": "python", "request": "launch", "program": "${workspaceFolder}/server.py", "console": "integratedTerminal" }, { "name": "Python: Client", "type": "python", "request": "launch", "program": "${workspaceFolder}/client.py", "console": "integratedTerminal" } ] } ``` 5. **Run the Server and Client:** * In VSCode, open `server.py`. Set breakpoints where you want to pause execution (e.g., at the beginning of `handle_handshake`). Select the "Python: Server" configuration in the Debug view (the bug icon in the Activity Bar) and press F5 to start debugging the server. * Open `client.py`. Set breakpoints as needed. Select the "Python: Client" configuration in the Debug view and press F5 to start debugging the client. **Explanation:** * **`pack_varint` and `unpack_varint`:** These functions handle the Minecraft's variable-length integer format (VarInt). This is crucial for encoding packet lengths and other data. * **`handle_handshake`:** This function receives and parses the initial handshake packet from the client. It extracts the protocol version, server address, port, and the client's desired next state (status or login). * **`handle_status_request`:** This function receives the status request packet and sends a JSON response containing server information (version, player count, description). * **`handle_ping`:** This function receives the ping request packet and sends a pong response with the same payload. * **`client.py`:** The client code constructs and sends the handshake, status request, and ping packets. It then receives and parses the status response and ping response. * **`.vscode/launch.json`:** This file configures VSCode to allow you to debug the server and client separately. **How to Debug:** 1. **Set Breakpoints:** Click in the gutter (the area to the left of the line numbers) in `server.py` and `client.py` to set breakpoints. 2. **Start Debugging:** Select the appropriate configuration ("Python: Server" or "Python: Client") in the Debug view and press F5. 3. **Inspect Variables:** When the debugger hits a breakpoint, you can inspect the values of variables in the "Variables" pane. 4. **Step Through Code:** Use the debugging controls (Step Over, Step Into, Step Out, Continue) to move through the code line by line. **Key Improvements and Explanations:** * **VarInt Handling:** The `pack_varint` and `unpack_varint` functions are now correctly implemented to handle the variable-length integer format used in the Minecraft protocol. This is essential for parsing packet lengths and other data. * **Status Response:** The `handle_status_request` function now constructs a valid JSON status response. You can customize the `status` dictionary to change the server information. * **Ping/Pong:** The `handle_ping` function now handles the ping request and sends a pong response. * **Error Handling (Minimal):** Basic checks for unexpected packet IDs are included. More robust error handling is needed for production code. * **Clearer Structure:** The code is organized into functions to improve readability and maintainability. * **Comments:** More comments have been added to explain the code. * **Byte Order:** The `struct.pack(">H", server_port)` uses `>` to specify big-endian byte order, which is required by the Minecraft protocol. * **Payload Handling:** The ping/pong now correctly handles the payload. This example provides a solid foundation for building a more complete Minecraft server or client. Remember to consult the Minecraft protocol documentation for more details on the protocol's intricacies. Good luck!

Said MCP

Said MCP

A MCP server that provides real-time weather information for any city through a simple tool that resolves geographic coordinates and fetches current weather data.

Cyclops

Cyclops

Cyclops

cmd-mcp-server

cmd-mcp-server

允许通过 CMD 执行任何和所有命令的 MCP 服务器

Basic MCP Server

Basic MCP Server

A minimal demonstration server showcasing MCP protocol capabilities including tools, resources, and prompts with basic examples like hello world functionality.

Intlayer

Intlayer

Mcp Server For Doc / Cli / Sdk Integration related to Intlayer i18n solution & CMS

AI Group Markdown to Word MCP Server

AI Group Markdown to Word MCP Server

Converts Markdown documents to professional Word documents with advanced formatting capabilities including mathematical formulas, custom styling, tables, images, headers/footers, and watermarks.

GetScreen MCP Server

GetScreen MCP Server

Enables capturing screenshots of all connected monitors with automatic JPEG compression and multi-platform support including WSL environments. Supports quality adjustment and image resizing through simple natural language commands.

FFmpeg MCP Tool

FFmpeg MCP Tool

Enables image and video processing through FFmpeg, including compression, format conversion, resizing, and batch processing operations for common media formats.

MySQL Query MCP Server

MySQL Query MCP Server

用于 AI 助手的 MySQL 查询 MCP 服务器 - 执行只读 MySQL 查询

PlantUML MCP Server

PlantUML MCP Server

Enables generation of PlantUML diagrams (sequence, class, C4, architecture) with embeddable SVG/PNG URLs, encoding/decoding capabilities, and automatic syntax error detection and fixing.

MCP Trello

MCP Trello

Enables interaction with Trello boards through comprehensive card, list, and board management tools. Includes built-in rate limiting, type safety, and support for operations like creating cards, updating details, managing members, and tracking board activity.

Appsignal MCP

Appsignal MCP

A Model Context Protocol server that allows AI assistants to fetch and analyze incident data from Appsignal, including retrieving incident details, samples, listing recent incidents, and analyzing incidents to suggest fixes.

Learning Ai

Learning Ai

学习人工智能 (Xuéxí réngōng zhìnéng)

mcp-rb-template

mcp-rb-template

一个将开放的 Emacs 缓冲区作为资源暴露的 MCP 服务器

MySQL MCP Server Pro

MySQL MCP Server Pro

Enables comprehensive MySQL database operations including CRUD, performance optimization, health monitoring, index analysis, lock detection, and SQL execution plan analysis with role-based permission control.

Solana MCP Server

Solana MCP Server

一个模型上下文协议服务器,使人工智能代理能够与 Solana 区块链交互,进行 DeFi 操作,例如检查余额、转移代币、执行兑换和获取价格数据。

Lovense Cloud MCP

Lovense Cloud MCP

Enables remote control of Lovense toys through Claude using natural language commands. Supports vibration patterns, presets, and intensity control from any device via Cloudflare Workers.

Parquet MCP Server by CData

Parquet MCP Server by CData

Parquet MCP Server by CData

MCP Server Memo

MCP Server Memo

用于会话内存管理的轻量级 MCP 服务器

TypeScript MCP Server Boilerplate

TypeScript MCP Server Boilerplate

A boilerplate project for quickly developing Model Context Protocol servers using TypeScript SDK, with example calculator and greeting tools, and server information resources.

Starknet MCP Server

Starknet MCP Server

提供 LLM 工具,使其能够与 Starknet 交互的 MCP 服务器。