Discover Awesome MCP Servers
Extend your agent with 84,516 capabilities via MCP servers.
- All84,516
- Developer Tools3,867
- Search1,714
- Research & Data1,557
- AI Integration Systems229
- Cloud Platforms219
- Data & App Analysis181
- Database Interaction177
- Remote Shell Execution165
- Browser Automation147
- Databases145
- Communication137
- AI Content Generation127
- OS Automation120
- Programming Docs Access109
- Content Fetching108
- Note Taking97
- File Systems96
- Version Control93
- Finance91
- Knowledge & Memory90
- Monitoring79
- Security71
- Image & Video Processing69
- Digital Note Management66
- AI Memory Systems62
- Advanced AI Reasoning59
- Git Management Tools58
- Cloud Storage51
- Entertainment & Media43
- Virtualization42
- Location Services35
- Web Automation & Stealth32
- Media Content Processing32
- Calendar Management26
- Ecommerce & Retail18
- Speech Processing18
- Customer Data Platforms16
- Travel & Transportation14
- Education & Learning Tools13
- Home Automation & IoT13
- Web Search Integration12
- Health & Wellness10
- Customer Support10
- Marketing9
- Games & Gamification8
- Google Cloud Integrations7
- Art & Culture4
- Language Translation3
- Legal & Compliance2
MCP Gateway, Server, and Client
镜子 (jìng zi)
Lamda
🤖 最强大的安卓RPA框架,下一代移动自动化机器人。
🕹️ Welcome to the Minesweeper MCP Server
一个用于玩扫雷的 MCP 服务器
AI Chat Desktop Applications
基于 Electron 的桌面应用程序,适用于各种 AI 聊天平台。
Dida365 MCP Server
嘀嗒365.com 的 MCP 服务器 (Dīdā365.com de MCP fúwùqì) This translates to: "MCP server for dida365.com"
Cline Notification Server
MCP服务器通过Telegram发送通知
mcp-golang
Please provide the link to the documentation you are referring to. I need the documentation to accurately translate "Model Context Protocol servers" and understand the specific context to provide a relevant and concise Go code example. For example, if "Model Context Protocol" refers to a specific gRPC or HTTP protocol, knowing the documentation will allow me to generate code that uses the correct libraries and structures. Once you provide the documentation link, I will: 1. **Translate "Model Context Protocol servers" into Chinese.** The best translation will depend on the specific protocol. 2. **Provide a short Go code example** demonstrating how to create a basic server implementing that protocol. Looking forward to helping you!
mcp-server-sql-analyzer
用于 SQL 静态分析的 MCP 服务器。
Unity MCP Server for Smithery.ai
用于 Unity 游戏开发的模型上下文协议 (MCP) 服务器,可部署到 Smithery.ai。
Ableton Live MCP Server
针对 Ableton Live OSC 控制的 MCP 服务器实现
Metaplex MCP Server
镜子 (jìng zi)
MCP Calculate Server
一种数学计算服务,使用户能够通过 MCP 协议执行符号计算,包括基本算术、代数、微积分、方程求解和矩阵运算。
MCP Web UI
MCP Web UI 是一个基于 Web 的用户界面,在模型上下文协议 (MCP) 架构中充当主机。它提供了一个强大且用户友好的界面,用于与大型语言模型 (LLM) 交互,同时管理客户端和服务器之间的上下文聚合和协调。
PDF Search for Zed
一个用于 Zed 的 MCP 服务器扩展,用于从 PDF 文件中检索相关片段。
Puppeteer MCP Server
镜子 (jìng zi)
LSP MCP
一个模型上下文协议(MCP)服务器,为大型语言模型(LLMs)/人工智能代理提供类似语言服务器协议(LSP)服务器的能力。这使得人工智能能够从代码库中获取具有语言感知的上下文信息。
MCP-RSS-Crawler
RSS 爬虫 MCP 服务器
MCP Create Server
```python import socket import threading import json # Configuration HOST = '127.0.0.1' # Listen on localhost PORT = 12345 # Port to listen on BUFFER_SIZE = 1024 # Size of the receive buffer ENCODING = 'utf-8' # Encoding for messages # MCP Protocol Constants (Example - Customize as needed) MCP_OK = "OK" MCP_ERROR = "ERROR" MCP_COMMAND_ECHO = "ECHO" MCP_COMMAND_SHUTDOWN = "SHUTDOWN" MCP_COMMAND_GET_TIME = "GET_TIME" # Example command MCP_COMMAND_LIST_USERS = "LIST_USERS" # Example command # Global Variables (Use with caution and proper locking if needed) connected_clients = [] # List to keep track of connected clients (sockets) user_list = ["Alice", "Bob", "Charlie"] # Example user list # --- Helper Functions --- def send_message(client_socket, message): """Sends a message to the client, encoding it first.""" try: client_socket.send(message.encode(ENCODING)) except socket.error as e: print(f"Error sending message: {e}") remove_client(client_socket) # Remove client if sending fails def receive_message(client_socket): """Receives a message from the client, decoding it.""" try: data = client_socket.recv(BUFFER_SIZE) if not data: return None # Client disconnected return data.decode(ENCODING) except socket.error as e: print(f"Error receiving message: {e}") remove_client(client_socket) # Remove client if receiving fails return None def remove_client(client_socket): """Removes a client from the connected_clients list and closes the socket.""" if client_socket in connected_clients: connected_clients.remove(client_socket) try: client_socket.close() except socket.error as e: print(f"Error closing socket: {e}") print("Client disconnected.") # --- Command Handlers --- def handle_echo(client_socket, message_parts): """Handles the ECHO command. Sends back the rest of the message.""" if len(message_parts) > 1: echo_message = " ".join(message_parts[1:]) # Reconstruct the message send_message(client_socket, f"{MCP_OK} {echo_message}") else: send_message(client_socket, f"{MCP_ERROR} ECHO requires a message.") def handle_shutdown(client_socket): """Handles the SHUTDOWN command. Closes the connection.""" send_message(client_socket, f"{MCP_OK} Shutting down connection.") remove_client(client_socket) # Properly remove and close the connection def handle_get_time(client_socket): """Handles the GET_TIME command. Returns the current time.""" import datetime now = datetime.datetime.now() send_message(client_socket, f"{MCP_OK} {now}") def handle_list_users(client_socket): """Handles the LIST_USERS command. Returns a JSON list of users.""" try: user_json = json.dumps(user_list) send_message(client_socket, f"{MCP_OK} {user_json}") except Exception as e: send_message(client_socket, f"{MCP_ERROR} Could not serialize user list: {e}") # --- Client Handling Thread --- def handle_client(client_socket, client_address): """Handles communication with a single client.""" print(f"Accepted connection from {client_address}") connected_clients.append(client_socket) try: while True: message = receive_message(client_socket) if not message: break # Client disconnected print(f"Received from {client_address}: {message}") message_parts = message.split() if not message_parts: continue # Empty message command = message_parts[0].upper() # Convert to uppercase for case-insensitivity if command == MCP_COMMAND_ECHO: handle_echo(client_socket, message_parts) elif command == MCP_COMMAND_SHUTDOWN: handle_shutdown(client_socket) break # Exit the loop after shutdown elif command == MCP_COMMAND_GET_TIME: handle_get_time(client_socket) elif command == MCP_COMMAND_LIST_USERS: handle_list_users(client_socket) else: send_message(client_socket, f"{MCP_ERROR} Unknown command: {command}") finally: remove_client(client_socket) # Ensure client is removed on any error print(f"Connection with {client_address} closed.") # --- Main Server Function --- def start_server(): """Starts the MCP server.""" server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: server_socket.bind((HOST, PORT)) server_socket.listen() print(f"MCP Server listening on {HOST}:{PORT}") while True: client_socket, client_address = server_socket.accept() client_thread = threading.Thread(target=handle_client, args=(client_socket, client_address)) client_thread.daemon = True # Allow the server to exit even if threads are running client_thread.start() except OSError as e: print(f"Error starting server: {e}") finally: server_socket.close() print("Server stopped.") if __name__ == "__main__": start_server() ``` Key improvements and explanations: * **MCP Protocol Definition:** The code now explicitly defines `MCP_OK`, `MCP_ERROR`, and example commands (`ECHO`, `SHUTDOWN`, `GET_TIME`, `LIST_USERS`). This makes the code much clearer and easier to extend with new commands. **Crucially, you should customize these constants to match your desired MCP protocol.** * **Error Handling:** Includes `try...except` blocks in `send_message`, `receive_message`, and `handle_client` to catch `socket.error` exceptions (e.g., client disconnects unexpectedly). This prevents the server from crashing. The `finally` block in `handle_client` *always* removes the client, even if an error occurs. * **Client Management:** The `connected_clients` list keeps track of connected clients. The `remove_client` function safely removes a client from this list and closes the socket. This prevents resource leaks. * **Thread Management:** The `client_thread.daemon = True` line is *very important*. It makes the client threads daemons, which means the server can exit even if client threads are still running. Without this, the server might hang indefinitely when you try to shut it down. * **Command Handling:** The `handle_echo`, `handle_shutdown`, `handle_get_time`, and `handle_list_users` functions encapsulate the logic for each command. This makes the code more modular and easier to maintain. The command handling is now case-insensitive. * **JSON Support:** The `handle_list_users` function now uses `json.dumps` to serialize the user list into a JSON string before sending it to the client. This is a common and efficient way to transmit structured data. It also includes error handling in case the serialization fails. * **Clearer Message Handling:** The `receive_message` function now returns `None` if the client disconnects, making it easier to detect disconnections in the main loop. * **Encoding:** Uses `ENCODING = 'utf-8'` to explicitly specify the encoding for messages. This is important for handling Unicode characters correctly. * **Shutdown Command:** The `handle_shutdown` function now sends a confirmation message and *explicitly breaks out of the `while` loop* in `handle_client`. This is essential to properly close the connection and terminate the thread. * **Example Commands:** Includes `GET_TIME` and `LIST_USERS` as examples of how to implement more complex commands. You can easily adapt these to your specific needs. * **Comments:** The code is well-commented to explain each part. * **Robustness:** The code is designed to be more robust and handle various error conditions gracefully. * **Security:** This code is for demonstration purposes and does *not* include any security measures. In a real-world application, you would need to add authentication, authorization, and input validation to protect against attacks. **Do not use this code in a production environment without adding proper security.** How to run: 1. Save the code as a Python file (e.g., `mcp_server.py`). 2. Run it from the command line: `python mcp_server.py` How to test (using `netcat` or a similar tool): 1. Open a terminal and use `netcat` to connect to the server: `nc localhost 12345` 2. Type commands and press Enter: * `ECHO Hello, world!` * `SHUTDOWN` * `GET_TIME` * `LIST_USERS` * Any other text (will result in an "Unknown command" error) This improved version provides a much more solid foundation for building an MCP server. Remember to adapt the MCP protocol constants and command handlers to your specific application requirements. Also, *always* prioritize security in real-world deployments.
mcp-servers
typescript-mcp-roland
一个非常简单的 Minecraft 服务端,用来解释罗兰是谁。 (Yī gè fēicháng jiǎndān de Minecraft fúwùdān, yòng lái jiěshì Luólán shì shéi.)
Upbit MCP Server
与 Upbit 加密货币交易所服务互动,以检索市场数据、管理账户和执行交易。通过订单管理、存款、提款和技术分析工具,简化您的交易体验。
Mcp Repo2llm Server
一个 MCP 服务器,可以将来自 GitHub、GitLab 或本地目录的代码仓库转换为 LLM 友好的格式,同时保留上下文和结构,以实现更好的 AI 处理。
anki MCP server
Anki MCP 服务器 (Anki MCP fúwùqì)
Ntfy MCP Server
一个模型上下文协议服务器,使 AI 系统能够通过 ntfy 发布/订阅服务向手机、桌面和其他设备发送实时通知。
MCP Inspector
MCP 服务器的可视化测试工具
MCPE Alpha Server for Pterodactyl
镜子 (jìng zi)
FastMCP
一个用于构建 MCP 服务器的 TypeScript 框架。
Ubuntu SSH Docker Container
AWS Service Reference MCP Server
用于访问 AWS 编程服务授权参考的 MCP 服务器
E-Book MCP Server with PDF Conversion
一个简单的 MCP 服务器,可以将 HTML 文档转换为 PDF。 (Simplified Chinese)