Discover Awesome MCP Servers

Extend your agent with 14,392 capabilities via MCP servers.

All14,392
spotify_mcp_server_claude

spotify_mcp_server_claude

使用 MCP 框架构建的自定义 MCP 服务器

MCP Custom Servers Collection

MCP Custom Servers Collection

用于多个安装的自定义 MCP 服务器集合

GitHub MCP Server for Cursor IDE

GitHub MCP Server for Cursor IDE

GitHub MCP 服务器,用于 Cursor IDE

MCP-Forge

MCP-Forge

MCP 服务器的便捷脚手架工具

Effect CLI - Model Context Protocol

Effect CLI - Model Context Protocol

MCP 服务器,以 CLI 工具的形式公开

Weather MCP Server

Weather MCP Server

一个模型上下文协议(MCP)服务器,提供来自加拿大政府天气API的天气预报数据。通过纬度和经度获取加拿大任何地点准确的5天天气预报。可轻松与Claude Desktop和其他兼容MCP的客户端集成。

SQLGenius - AI-Powered SQL Assistant

SQLGenius - AI-Powered SQL Assistant

SQLGenius 是一款由 AI 驱动的 SQL 助手,它使用 Vertex AI 的 Gemini Pro 将自然语言转换为 SQL 查询。它基于 MCP 和 Streamlit 构建,提供了一个直观的界面,用于 BigQuery 数据探索,并具有实时可视化和模式管理功能。

Structured Thinking

Structured Thinking

一个统一的 MCP 服务器,用于结构化思维工具,包括模板思维和验证思维。 (Alternatively, depending on the specific context and target audience, you could also say:) 一个整合的 MCP 服务器,提供结构化思维工具,例如模板思维和验证思维。

Thirdweb Mcp

Thirdweb Mcp

mcp-server-wechat

mcp-server-wechat

好的,我理解您想了解如何在PC端微信上实现MCP(Message Communication Protocol,消息通信协议)服务功能。 这实际上是一个比较复杂的问题,涉及到逆向工程、协议分析、以及代码实现等多个方面。 **请注意:** * **法律风险:** 逆向工程和修改微信客户端可能违反微信的使用条款,甚至触犯法律。请务必在法律允许的范围内进行研究和开发。 * **技术难度:** 微信客户端是一个复杂的软件,其协议和实现细节可能会随时更改。实现MCP服务功能需要深入的理解和持续的维护。 * **安全风险:** 修改微信客户端可能会引入安全漏洞,导致您的账号或设备受到攻击。 **以下是一些可能涉及的步骤和技术方向,仅供参考:** 1. **逆向工程和协议分析:** * **目标:** 了解PC端微信如何收发消息,以及MCP协议的具体格式和流程。 * **工具:** * **反汇编器 (Disassembler):** IDA Pro, Ghidra 等,用于分析微信客户端的可执行文件。 * **调试器 (Debugger):** x64dbg, OllyDbg 等,用于动态调试微信客户端,观察其运行时的行为。 * **抓包工具 (Packet Sniffer):** Wireshark, Fiddler 等,用于捕获微信客户端与服务器之间的网络流量,分析MCP协议。 * **步骤:** * 使用反汇编器打开微信客户端的可执行文件,找到与消息收发相关的函数和代码段。 * 使用调试器跟踪这些函数的执行过程,观察其如何构建和解析MCP消息。 * 使用抓包工具捕获微信客户端与服务器之间的网络流量,分析MCP协议的格式和字段。 * 重点关注登录、消息发送、消息接收、群组管理等关键功能的协议细节。 2. **MCP协议模拟:** * **目标:** 能够模拟微信客户端,构造和发送符合MCP协议的消息,并解析接收到的消息。 * **技术:** * **编程语言:** C++, Python, Go 等,选择您熟悉的语言。 * **网络编程:** TCP/IP 协议,Socket 编程。 * **数据序列化/反序列化:** Protocol Buffers, JSON 等,根据MCP协议的格式选择合适的工具。 * **加密算法:** 微信可能使用了加密算法来保护MCP消息,需要分析并实现相应的解密算法。 * **步骤:** * 根据协议分析的结果,编写代码来构造MCP消息。 * 使用Socket编程建立与微信服务器的连接。 * 发送构造好的MCP消息,并接收服务器的响应。 * 解析接收到的MCP消息,提取所需的信息。 * 实现登录、消息发送、消息接收等基本功能。 3. **PC端微信功能扩展 (可选):** * **目标:** 将MCP服务功能集成到PC端微信客户端中,实现自定义的功能。 * **技术:** * **DLL注入 (DLL Injection):** 将自定义的DLL注入到微信客户端的进程中。 * **Hook技术 (Hooking):** 拦截微信客户端的函数调用,修改其行为。 * **内存修改 (Memory Patching):** 直接修改微信客户端的内存数据。 * **步骤:** * 编写一个DLL,实现MCP服务功能。 * 使用DLL注入工具将DLL注入到微信客户端的进程中。 * 使用Hook技术拦截微信客户端的函数调用,例如消息发送函数、消息接收函数等。 * 在Hook函数中调用DLL中的MCP服务功能,实现自定义的功能。 * 或者,直接修改微信客户端的内存数据,例如修改消息显示内容、添加自定义按钮等。 **一些建议:** * **从小处着手:** 先从简单的功能开始,例如模拟登录、发送简单的文本消息等。 * **逐步迭代:** 不断完善和扩展功能,逐步实现更复杂的功能。 * **参考开源项目:** 在GitHub等平台上搜索相关的开源项目,可以借鉴其实现思路和代码。 * **注意安全:** 在开发过程中,要注意保护您的账号和设备安全,避免泄露个人信息。 **总结:** 实现PC端微信的MCP服务功能是一个极具挑战性的任务,需要深入的理解微信客户端的内部机制和MCP协议。 请务必在法律允许的范围内进行研究和开发,并注意安全风险。 希望这些信息对您有所帮助! 如果您有更具体的问题,例如关于某个特定功能的实现,请随时提出。

Weather MCP Server

Weather MCP Server

Okay, here's an example of a simple weather MCP (Minecraft Protocol) server in Python. This is a very basic example and doesn't implement the full Minecraft protocol. It focuses on sending a custom packet to a client that's expecting weather information. **Important Considerations:** * **MCP (Minecraft Protocol) Complexity:** The actual Minecraft protocol is quite complex. This example simplifies things significantly. A real-world server would need to handle authentication, world data, player movement, and much more. * **Client-Side Mod:** This server *requires* a client-side mod (or a modified client) that knows how to interpret the custom weather packet this server sends. The standard Minecraft client won't understand it. * **Python Libraries:** This example uses the `socket` library for basic network communication and `struct` for packing data into binary format. ```python import socket import struct import time # Configuration HOST = '127.0.0.1' # Listen on localhost PORT = 25565 # Use a port (not the default Minecraft port unless you know what you're doing) WEATHER_UPDATE_INTERVAL = 5 # Seconds between weather updates def create_weather_packet(temperature, humidity, rain): """ Creates a custom weather packet. Args: temperature: Temperature value (float). humidity: Humidity value (float). rain: Rain intensity (float, 0.0 - 1.0). Returns: A bytes object representing the weather packet. """ packet_id = 0x01 # Custom packet ID (must match client-side mod) # Pack the data into a binary format packet_data = struct.pack('!bff', temperature, humidity, rain) # ! = network byte order, b = byte (packet ID), f = float # Prepend the packet ID packet = struct.pack('!b', packet_id) + packet_data # Prepend the packet length packet_length = len(packet) packet = struct.pack('!i', packet_length) + packet return packet def main(): """ Main server loop. """ server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # Allow address reuse server_socket.bind((HOST, PORT)) server_socket.listen(1) # Listen for one connection print(f"Weather MCP Server listening on {HOST}:{PORT}") conn, addr = server_socket.accept() print(f"Client connected from {addr}") try: while True: # Simulate weather data (replace with real data source) temperature = 25.5 + (time.time() % 10) - 5 # Temperature between 20.5 and 30.5 humidity = 0.6 + (time.time() % 5) / 10 # Humidity between 0.6 and 1.1 rain = 0.0 if temperature > 28 else (time.time() % 3) / 3 # Rain if temp is below 28 weather_packet = create_weather_packet(temperature, humidity, rain) try: conn.sendall(weather_packet) print(f"Sent weather update: Temp={temperature:.1f}, Humidity={humidity:.2f}, Rain={rain:.2f}") except BrokenPipeError: print("Client disconnected.") break # Exit the loop if the client disconnects time.sleep(WEATHER_UPDATE_INTERVAL) except KeyboardInterrupt: print("Server shutting down.") finally: conn.close() server_socket.close() if __name__ == "__main__": main() ``` **Explanation:** 1. **Imports:** Imports necessary libraries (`socket`, `struct`, `time`). 2. **Configuration:** Sets the host, port, and weather update interval. *Change the port if you're running a real Minecraft server on the default port (25565).* 3. **`create_weather_packet()`:** * Takes temperature, humidity, and rain intensity as input. * `packet_id = 0x01`: This is a *crucial* part. This is a custom packet ID. Your client-side mod *must* be programmed to recognize this ID and know how to interpret the data that follows. If the client doesn't know about this ID, it will likely crash or ignore the packet. * `struct.pack('!bff', ...)`: This packs the data into a binary format. * `!`: Specifies network byte order (big-endian), which is standard for network communication. * `b`: Represents a single byte (for the packet ID). * `f`: Represents a float (for temperature, humidity, and rain). * The packet length is prepended to the packet. This is important for the client to know how many bytes to read. 4. **`main()`:** * Creates a socket, binds it to the host and port, and listens for connections. * `server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)`: This allows you to quickly restart the server without waiting for the port to be released. * Accepts a connection from a client. * Enters a `while True` loop to continuously send weather updates. * **Simulates Weather Data:** The example generates random weather data. In a real application, you would get this data from a weather API or some other source. * `conn.sendall(weather_packet)`: Sends the weather packet to the client. * `time.sleep(WEATHER_UPDATE_INTERVAL)`: Waits before sending the next update. * Handles `BrokenPipeError`: This exception is raised if the client disconnects. * Handles `KeyboardInterrupt`: Allows you to gracefully shut down the server with Ctrl+C. * Closes the connection and the socket in the `finally` block. **How to Use:** 1. **Client-Side Mod:** You *must* create a client-side mod (using Forge, Fabric, or another modding framework) that: * Connects to this server on the specified host and port. * Listens for packets with the packet ID `0x01`. * Unpacks the data from the packet (using `struct.unpack('!bff', data)`) to get the temperature, humidity, and rain values. * Displays the weather information in the game or uses it to affect the game world. 2. **Run the Server:** Save the Python code as a `.py` file (e.g., `weather_server.py`) and run it from your terminal: `python weather_server.py` 3. **Run Minecraft with the Mod:** Start Minecraft with your client-side mod installed. The mod should connect to the server and start receiving weather updates. **Example Client-Side Mod (Conceptual - Forge, Simplified):** ```java // (This is a very simplified example - you'll need to adapt it to your modding framework) import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import java.net.Socket; import java.io.DataInputStream; import java.nio.ByteBuffer; @Mod(modid = "weather_mod", name = "Weather Mod", version = "1.0") public class WeatherMod { private static final String SERVER_HOST = "127.0.0.1"; private static final int SERVER_PORT = 25565; private static Socket socket; private static DataInputStream in; private float temperature = 0.0f; private float humidity = 0.0f; private float rain = 0.0f; @Mod.EventHandler public void init(FMLInitializationEvent event) { new Thread(() -> { try { socket = new Socket(SERVER_HOST, SERVER_PORT); in = new DataInputStream(socket.getInputStream()); while (true) { // Read packet length int packetLength = in.readInt(); // Read packet ID byte packetId = in.readByte(); if (packetId == 0x01) { // Read the rest of the packet data byte[] data = new byte[packetLength - 1]; in.readFully(data); ByteBuffer buffer = ByteBuffer.wrap(data); buffer.order(java.nio.ByteOrder.BIG_ENDIAN); // Network byte order temperature = buffer.getFloat(); humidity = buffer.getFloat(); rain = buffer.getFloat(); System.out.println("Received weather: Temp=" + temperature + ", Humidity=" + humidity + ", Rain=" + rain); // Update game world (e.g., change sky color, add rain particles) // This part requires more Forge-specific code } } } catch (Exception e) { e.printStackTrace(); } }).start(); } // Getter methods to access weather data from other parts of your mod public float getTemperature() { return temperature; } public float getHumidity() { return humidity; } public float getRain() { return rain; } } ``` **Important Notes about the Client Mod:** * **Threading:** The client mod uses a separate thread to connect to the server and receive data. This prevents the main game thread from blocking. * **Error Handling:** The client mod needs proper error handling (e.g., handling connection errors, invalid packet data). * **Forge/Fabric Specifics:** The example uses some basic Forge annotations. You'll need to adapt it to the specific modding framework you're using. The code to update the game world (e.g., changing sky color, adding rain particles) will be very framework-specific. * **Byte Order:** Make sure the client uses the same byte order (`java.nio.ByteOrder.BIG_ENDIAN`) as the server when unpacking the data. * **Packet Length:** The client reads the packet length first to know how many bytes to read for the rest of the packet. **Chinese Translation (Simplified):** ```chinese # 这是一个用 Python 编写的简单天气 MCP (Minecraft 协议) 服务器的例子。 # 重要注意事项: # * MCP (Minecraft 协议) 非常复杂。 这个例子大大简化了。 # * 这个服务器需要一个客户端模组(或修改过的客户端),它知道如何解释这个服务器发送的自定义天气数据包。 # * 这个例子使用 socket 库进行基本的网络通信,并使用 struct 库将数据打包成二进制格式。 import socket import struct import time # 配置 HOST = '127.0.0.1' # 监听本地主机 PORT = 25565 # 使用一个端口(除非你知道自己在做什么,否则不要使用默认的 Minecraft 端口) WEATHER_UPDATE_INTERVAL = 5 # 天气更新之间的秒数 def create_weather_packet(temperature, humidity, rain): """ 创建一个自定义天气数据包。 参数: temperature: 温度值 (浮点数)。 humidity: 湿度值 (浮点数)。 rain: 降雨强度 (浮点数, 0.0 - 1.0)。 返回值: 表示天气数据包的字节对象。 """ packet_id = 0x01 # 自定义数据包 ID(必须与客户端模组匹配) # 将数据打包成二进制格式 packet_data = struct.pack('!bff', temperature, humidity, rain) # ! = 网络字节顺序,b = 字节 (数据包 ID),f = 浮点数 # 在前面加上数据包 ID packet = struct.pack('!b', packet_id) + packet_data # 在前面加上数据包长度 packet_length = len(packet) packet = struct.pack('!i', packet_length) + packet return packet def main(): """ 主服务器循环。 """ server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 允许地址重用 server_socket.bind((HOST, PORT)) server_socket.listen(1) # 监听一个连接 print(f"天气 MCP 服务器监听在 {HOST}:{PORT}") conn, addr = server_socket.accept() print(f"客户端从 {addr} 连接") try: while True: # 模拟天气数据(用真实数据源替换) temperature = 25.5 + (time.time() % 10) - 5 # 温度在 20.5 和 30.5 之间 humidity = 0.6 + (time.time() % 5) / 10 # 湿度在 0.6 和 1.1 之间 rain = 0.0 if temperature > 28 else (time.time() % 3) / 3 # 如果温度低于 28,则下雨 weather_packet = create_weather_packet(temperature, humidity, rain) try: conn.sendall(weather_packet) print(f"发送天气更新:温度={temperature:.1f}, 湿度={humidity:.2f}, 降雨={rain:.2f}") except BrokenPipeError: print("客户端断开连接。") break # 如果客户端断开连接,则退出循环 time.sleep(WEATHER_UPDATE_INTERVAL) except KeyboardInterrupt: print("服务器正在关闭。") finally: conn.close() server_socket.close() if __name__ == "__main__": main() ``` **Key Takeaways:** * This is a *very* simplified example. A real Minecraft server is much more complex. * The client-side mod is essential. Without it, the standard Minecraft client will not understand the custom weather packets. * Pay close attention to packet IDs, data packing/unpacking, and byte order. * Use threading in your client mod to avoid blocking the main game thread. * Handle errors gracefully. This should give you a good starting point. Good luck!

Configurable Puppeteer MCP Server

Configurable Puppeteer MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它使用 Puppeteer 提供浏览器自动化功能,并通过环境变量配置选项,从而使大型语言模型(LLM)能够与网页交互、截取屏幕截图,并在浏览器环境中执行 JavaScript。

Time-MCP

Time-MCP

For the time and date, an MCP (Minecraft Protocol) server doesn't directly provide that information. The Minecraft protocol focuses on game-related data. However, here are a few ways you could get the time and date in relation to a Minecraft server: * **Server-Side Mod/Plugin:** The most common and reliable way. You would need a server-side mod or plugin (like for Bukkit, Spigot, Paper, Fabric, or Forge) that exposes the server's current time and date. This mod/plugin could then: * Display the time/date in the server console. * Send the time/date to players in-game (e.g., via chat message, scoreboard, or a custom GUI). * Expose the time/date via an API that other programs can query. * **External Script/Program:** You could write a script (e.g., in Python, Java, etc.) that runs on the same machine as the Minecraft server. This script would: 1. Get the current system time and date from the operating system. 2. Potentially interact with the Minecraft server (if needed) to display the time/date in-game (using `rcon` or a similar method). This is less common because it requires more setup. * **In-Game Clock (Minecraft Feature):** Minecraft itself has a day/night cycle. While not a real-world clock, players can use the in-game clock to estimate the time. You could potentially use commands or mods to display the in-game time in a more readable format. **In summary, you'll need a server-side mod/plugin or an external script to get the actual time and date in relation to your Minecraft server.** The MCP itself doesn't handle this. Here's the translation to Chinese: 对于时间和日期,MCP(Minecraft 协议)服务器不直接提供这些信息。 Minecraft 协议专注于与游戏相关的数据。 但是,以下是一些您可以获取与 Minecraft 服务器相关的时间和日期的方法: * **服务器端模组/插件:** 这是最常见和最可靠的方法。 您需要一个服务器端模组或插件(例如 Bukkit、Spigot、Paper、Fabric 或 Forge),该模组或插件公开服务器的当前时间和日期。 然后,此模组/插件可以: * 在服务器控制台中显示时间/日期。 * 在游戏中将时间/日期发送给玩家(例如,通过聊天消息、记分牌或自定义 GUI)。 * 通过其他程序可以查询的 API 公开时间/日期。 * **外部脚本/程序:** 您可以编写一个脚本(例如,使用 Python、Java 等),该脚本与 Minecraft 服务器在同一台机器上运行。 该脚本将: 1. 从操作系统获取当前的系统时间和日期。 2. (如果需要)可能与 Minecraft 服务器交互,以在游戏中显示时间/日期(使用 `rcon` 或类似方法)。 这不太常见,因为它需要更多设置。 * **游戏内时钟(Minecraft 功能):** Minecraft 本身具有昼夜循环。 虽然不是真实世界的时钟,但玩家可以使用游戏内时钟来估计时间。 您可以潜在地使用命令或模组以更易读的格式显示游戏内时间。 **总而言之,您需要一个服务器端模组/插件或外部脚本来获取与您的 Minecraft 服务器相关的实际时间和日期。** MCP 本身不处理此问题。

Google Search Console MCP Server

Google Search Console MCP Server

MCP Server from Scratch using Python

MCP Server from Scratch using Python

🖥️ Shell MCP Server

🖥️ Shell MCP Server

镜子 (jìng zi)

Vite MCP Server

Vite MCP Server

CyberSecMCP

CyberSecMCP

安全消息控制平面 (MCP) 服务器 - 用于管理 AI 代理之间通信的强大平台

holaspirit-mcp-server

holaspirit-mcp-server

镜子 (jìng zi)

Google Search MCP Server

Google Search MCP Server

镜子 (jìng zi)

X MCP Server

X MCP Server

这是一个X平台的MCP服务器。

Armor Mcp

Armor Mcp

用于与区块链、交易、战略规划等交互的 MCP 服务器。

mcp-server-taiwan-aqi

mcp-server-taiwan-aqi

好的,请稍等。我需要连接到台湾空气质量监测站的数据源。由于我无法直接访问外部网站或数据库,我建议您访问以下网站获取您需要的数据: * **行政院环境保护署空气品质监测网 (Taiwan EPA Air Quality Monitoring Network):** 这是台湾官方的空气质量监测网站。您可以在这里找到实时和历史的空气质量数据。通常,您可以选择不同的监测站,并查看过去24小时的数据。 * **中文网址:** [https://airtw.epa.gov.tw/](https://airtw.epa.gov.tw/) * **英文网址:** (通常在中文网站上可以找到英文版本,或者搜索 "Taiwan EPA Air Quality Monitoring Network English") **您可以在该网站上找到以下信息:** * **空气质量指标 (AQI):** 空气质量的总体指标。 * **各项污染物浓度:** 例如 PM2.5, PM10, O3, SO2, NO2, CO 等。 * **监测站位置:** 各个监测站的地理位置。 * **历史数据:** 可以查询过去一段时间的空气质量数据。 **建议您按照以下步骤操作:** 1. **访问上述网站。** 2. **选择您感兴趣的监测站。** 您可以根据地理位置选择。 3. **查看实时数据和过去24小时的数据。** 网站通常会提供图表或表格形式的数据。 希望这些信息对您有帮助!

Harvester MCP Server

Harvester MCP Server

用于 Harvester HCI 的模型上下文协议 (MCP) 服务器

Telegram-bot-rcon-for-mcpe-servers

Telegram-bot-rcon-for-mcpe-servers

使用 RCON Telegram 机器人远程控制 Minecraft

ClickUp MCP Server

ClickUp MCP Server

镜子 (jìng zi)

Linear MCP Server

Linear MCP Server

一个用于访问 Linear 的私有 MCP 服务器

MCP Adobe Experience Platform Server

MCP Adobe Experience Platform Server

Adobe Experience Platform API 集成的 MCP 服务器

Welcome MCP Server

Welcome MCP Server

使用 MCP 创建的服务器存储库

MCP Postgres Server

MCP Postgres Server

镜子 (jìng zi)