Discover Awesome MCP Servers

Extend your agent with 20,343 capabilities via MCP servers.

All20,343
astro-airflow-mcp

astro-airflow-mcp

An MCP server that enables AI assistants to interact with Apache Airflow's REST API for DAG management, task monitoring, and system diagnostics. It provides comprehensive tools for triggering workflows, retrieving logs, and inspecting system health across Airflow 2.x and 3.x versions.

Sakura Cloud MCP Server

Sakura Cloud MCP Server

一个 MCP 服务器实现,使 AI 助手能够与 Sakura Cloud 基础设施进行交互和管理,包括服务器、磁盘、网络和容器化应用程序。

Twilio MCP

Twilio MCP

Enables sending SMS text messages through Twilio's messaging service with a simple send_text tool that supports configurable recipients and messaging service integration.

Enrichr MCP Server

Enrichr MCP Server

Enables gene set enrichment analysis using the Enrichr API across hundreds of gene set libraries including Gene Ontology, pathways, diseases, tissues, drugs, and transcription factors. Returns only statistically significant results for interpretation.

MCP 만들면서 원리 파헤쳐보기

MCP 만들면서 원리 파헤쳐보기

Okay, here's a breakdown of the server and client implementation for a system conceptually similar to the MCP (Master Control Program) from the movie Tron, along with considerations for a modern implementation. Keep in mind that a real-world MCP would be incredibly complex, so this is a simplified, illustrative example. **Conceptual Overview** The MCP, in essence, is a central control system. In a modern context, we can think of it as a distributed system with the following key components: * **Server (MCP Core):** The central authority. It manages resources, schedules tasks, enforces security policies, and monitors the overall system health. * **Clients (Programs/Processes):** These are the individual applications or processes that interact with the MCP to request resources, execute tasks, and report their status. * **Communication Protocol:** A well-defined protocol for clients and the server to exchange information. **Implementation Considerations** * **Language Choice:** Python is a good choice for prototyping and scripting due to its readability and extensive libraries. For performance-critical components, consider languages like Go, Rust, or C++. * **Communication:** gRPC, ZeroMQ, or even a simple TCP socket-based protocol can be used for communication between the server and clients. gRPC is a modern, high-performance RPC framework that's well-suited for this kind of system. * **Security:** Authentication and authorization are crucial. Use strong authentication mechanisms (e.g., TLS certificates, API keys) and implement role-based access control (RBAC) to restrict access to sensitive resources. * **Resource Management:** The MCP needs to track available resources (CPU, memory, disk space, network bandwidth) and allocate them to clients based on their needs and priorities. * **Task Scheduling:** A scheduler determines the order in which tasks are executed. Prioritization, deadlines, and dependencies should be considered. * **Monitoring and Logging:** Comprehensive monitoring and logging are essential for detecting errors, performance bottlenecks, and security breaches. * **Fault Tolerance:** The MCP should be designed to be fault-tolerant. Consider using techniques like redundancy, replication, and failover to ensure that the system remains operational even if some components fail. **Simplified Python Example (Illustrative)** This is a very basic example to demonstrate the core concepts. It's not production-ready. ```python # server.py (MCP Core) import socket import threading import json import time HOST = '127.0.0.1' PORT = 65432 # Resource Management (very basic) available_cpu = 100 resource_lock = threading.Lock() def handle_client(conn, addr): print(f"Connected by {addr}") while True: try: data = conn.recv(1024).decode() if not data: break try: request = json.loads(data) print(f"Received request: {request}") if request['action'] == 'request_cpu': cpu_units = request['cpu_units'] with resource_lock: global available_cpu if available_cpu >= cpu_units: available_cpu -= cpu_units response = {'status': 'granted', 'cpu_units': cpu_units} print(f"Granted {cpu_units} CPU units. Remaining: {available_cpu}") else: response = {'status': 'denied', 'reason': 'Insufficient CPU'} conn.sendall(json.dumps(response).encode()) elif request['action'] == 'report_status': status = request['status'] print(f"Client reported status: {status}") conn.sendall(json.dumps({'status': 'received'}).encode()) elif request['action'] == 'release_cpu': cpu_units = request['cpu_units'] with resource_lock: available_cpu += cpu_units response = {'status': 'released', 'cpu_units': cpu_units} print(f"Released {cpu_units} CPU units. Remaining: {available_cpu}") conn.sendall(json.dumps(response).encode()) else: response = {'status': 'error', 'message': 'Invalid action'} conn.sendall(json.dumps(response).encode()) except json.JSONDecodeError: response = {'status': 'error', 'message': 'Invalid JSON'} conn.sendall(json.dumps(response).encode()) except ConnectionResetError: print(f"Connection reset by {addr}") break except Exception as e: print(f"Error handling client: {e}") break print(f"Closing connection with {addr}") conn.close() def main(): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f"MCP Server listening on {HOST}:{PORT}") while True: conn, addr = s.accept() thread = threading.Thread(target=handle_client, args=(conn, addr)) thread.start() if __name__ == "__main__": main() ``` ```python # client.py (Program/Process) import socket import json import time HOST = '127.0.0.1' PORT = 65432 def request_cpu(conn, cpu_units): request = {'action': 'request_cpu', 'cpu_units': cpu_units} conn.sendall(json.dumps(request).encode()) response = json.loads(conn.recv(1024).decode()) return response def report_status(conn, status): request = {'action': 'report_status', 'status': status} conn.sendall(json.dumps(request).encode()) response = json.loads(conn.recv(1024).decode()) return response def release_cpu(conn, cpu_units): request = {'action': 'release_cpu', 'cpu_units': cpu_units} conn.sendall(json.dumps(request).encode()) response = json.loads(conn.recv(1024).decode()) return response def main(): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) # Request CPU cpu_request_response = request_cpu(s, 20) print(f"CPU Request Response: {cpu_request_response}") if cpu_request_response['status'] == 'granted': # Report status status_response = report_status(s, 'Running task...') print(f"Status Response: {status_response}") time.sleep(5) # Simulate work # Release CPU cpu_release_response = release_cpu(s, 20) print(f"CPU Release Response: {cpu_release_response}") else: print("CPU request denied.") report_status(s, "Exiting") if __name__ == "__main__": main() ``` **How to Run:** 1. Save the code as `server.py` and `client.py`. 2. Run the server: `python server.py` 3. Run the client: `python client.py` (You can run multiple clients in separate terminals). **Explanation:** * **Server (server.py):** * Listens for incoming connections on a specified port. * Handles each client connection in a separate thread. * Receives JSON-encoded requests from clients. * Implements basic CPU resource management (request, release). * Responds to clients with JSON-encoded responses. * **Client (client.py):** * Connects to the server. * Sends JSON-encoded requests to the server (request CPU, report status, release CPU). * Receives JSON-encoded responses from the server. * Simulates a simple task that requests CPU, reports its status, and releases the CPU. **Improvements and Next Steps:** * **Error Handling:** Add more robust error handling to both the server and client. * **Authentication/Authorization:** Implement a proper authentication and authorization system. * **Resource Management:** Expand the resource management to include memory, disk space, and other resources. Implement a more sophisticated resource allocation algorithm. * **Task Scheduling:** Implement a task scheduler that can prioritize tasks, handle dependencies, and enforce deadlines. * **Monitoring:** Integrate monitoring tools to track system health and performance. * **Logging:** Use a logging library (e.g., `logging` in Python) to record events and errors. * **Concurrency:** Use asynchronous programming (e.g., `asyncio` in Python) for better concurrency and scalability. * **gRPC:** Migrate to gRPC for a more efficient and robust communication protocol. Define a gRPC service definition (a `.proto` file) that specifies the available RPC calls. * **Database:** Use a database to store information about users, resources, tasks, and system state. * **Distributed System:** Design the MCP as a distributed system with multiple server nodes for fault tolerance and scalability. Consider using a distributed consensus algorithm (e.g., Raft or Paxos) to ensure consistency across the nodes. **Translation to Chinese** Here's a translation of the conceptual overview and the improvements/next steps into Chinese: **概念概述 (Gài niàn ǒugài - Conceptual Overview)** MCP 本质上是一个中央控制系统。 在现代背景下,我们可以将其视为一个分布式系统,具有以下关键组件: * **服务器 (MCP 核心):** 中央权威。 它管理资源、调度任务、执行安全策略并监控整个系统健康状况。 * **客户端 (程序/进程):** 这些是与 MCP 交互以请求资源、执行任务和报告其状态的各个应用程序或进程。 * **通信协议:** 客户端和服务器交换信息的明确定义的协议。 **改进和下一步 (Gǎi jìn hé xià yī bù - Improvements and Next Steps)** * **错误处理 (Cuòwù chǔlǐ):** 向服务器和客户端添加更强大的错误处理。 * **身份验证/授权 (Shēnfèn yànzhèng/shòuquán):** 实施适当的身份验证和授权系统。 * **资源管理 (Zīyuán guǎnlǐ):** 扩展资源管理以包括内存、磁盘空间和其他资源。 实施更复杂的资源分配算法。 * **任务调度 (Rènwù diàodù):** 实施一个任务调度程序,可以优先处理任务、处理依赖关系并强制执行截止日期。 * **监控 (Jiānkòng):** 集成监控工具以跟踪系统健康状况和性能。 * **日志记录 (Rìzhì jìlù):** 使用日志记录库(例如 Python 中的 `logging`)来记录事件和错误。 * **并发 (Bìngfā):** 使用异步编程(例如 Python 中的 `asyncio`)以获得更好的并发性和可伸缩性。 * **gRPC:** 迁移到 gRPC 以获得更高效和强大的通信协议。 定义一个 gRPC 服务定义(一个 `.proto` 文件),指定可用的 RPC 调用。 * **数据库 (Shùjùkù):** 使用数据库来存储有关用户、资源、任务和系统状态的信息。 * **分布式系统 (Fēn bù shì xìtǒng):** 将 MCP 设计为具有多个服务器节点的分布式系统,以实现容错和可伸缩性。 考虑使用分布式共识算法(例如 Raft 或 Paxos)来确保节点之间的一致性。 This provides a starting point for building a system inspired by the MCP. Remember to prioritize security, scalability, and fault tolerance as you develop your implementation. Good luck!

MCP Time Server

MCP Time Server

Provides current time information with support for multiple IANA timezones, defaulting to Asia/Shanghai timezone.

Container MCP Server

Container MCP Server

Enables weather lookups, mathematical calculations, and context-aware operations through a containerized MCP server with HTTP transport. Optimized for Docker/Kubernetes deployment with health checks and no external dependencies.

GitLab MCP Server

GitLab MCP Server

Integrates GitLab with AI assistants to manage merge requests, analyze CI/CD pipelines, and create Architecture Decision Records. It enables seamless code searching, pipeline triggering, and deployment management through the Model Context Protocol.

Timesheet MCP Server

Timesheet MCP Server

Enables automated timesheet management including creating entries, listing work activities, managing daily scrum updates, and viewing assigned projects with automatic authentication handling.

Filmladder MCP Server

Filmladder MCP Server

Provides movie listings, showtimes, and personalized recommendations for Amsterdam cinemas by scraping filmladder.nl, with support for filtering by date, cinema, rating, and preferred showtimes.

Percepta MCP Server

Percepta MCP Server

Provides browser automation, AI-powered analysis, visual processing, web scraping, automated test generation, and DevTools analysis capabilities. Supports multiple AI providers (OpenAI, Anthropic, Google, Ollama) for intelligent web interaction and data extraction.

BlindPay MCP Server

BlindPay MCP Server

Enables AI assistants to interact with BlindPay's stablecoin payment infrastructure, allowing users to create receivers, process payouts and payins across multiple blockchains, manage virtual accounts and wallets, and configure payment operations through natural language.

MySQL MCP Server

MySQL MCP Server

A Model Context Protocol server that connects to MySQL databases, allowing execution of SQL queries, table listing, and schema inspection through Claude Desktop.

Image Processor MCP Server

Image Processor MCP Server

Enables optimization, conversion to WebP, and uploading of images to Vercel Blob storage, supporting both local files and external URLs.

MCP Server for Zep Cloud

MCP Server for Zep Cloud

Google Drive MCP Server

Google Drive MCP Server

This server enables multi-agent conversations that interact with the Google Drive API, allowing agents to perform file operations, manage permissions, and handle Google Drive content through a standardized protocol.

Demo HTTP MCP Server

Demo HTTP MCP Server

A demonstration MCP server that provides example tools for weather queries, time retrieval, and request handling, along with advice prompts. Supports both HTTP and stdio modes for testing MCP client integrations.

sample-mcp-server

sample-mcp-server

MCP Social Network

MCP Social Network

The world's first social network accessible only through AI coding agents, enabling developers to connect, share posts, and engage with others without leaving their coding environment.

search-mcp

search-mcp

Enables web search capabilities using DuckDuckGo's free API without requiring authentication or API keys.

Domain Tools (WHOIS + DNS)

Domain Tools (WHOIS + DNS)

Domain Tools (WHOIS + DNS)

Patronus MCP Server

Patronus MCP Server

Excel MCP Server

Excel MCP Server

一个 MCP 服务器,提供全面的 Excel 文件操作、数据分析和可视化功能,用于处理各种电子表格格式,如 XLSX、CSV 和 JSON。

Crypto Portfolio MCP

Crypto Portfolio MCP

一个用于追踪和管理加密货币投资组合配置的 MCP 服务器。

Proxmox SSH MCP Server

Proxmox SSH MCP Server

Enables AI assistants to execute commands on a Proxmox host via SSH with built-in security blocks for destructive operations. It supports key-based authentication and provides a dedicated tool for remote server management tasks like listing virtual machines and containers.

NeoCoder Neo4j AI Workflow

NeoCoder Neo4j AI Workflow

Enables AI assistants to use Neo4j knowledge graphs and Qdrant vector databases for hybrid reasoning, combining structured facts with semantic search for advanced knowledge management, research analysis, and standardized coding workflows.

MCP Tools: Command-Line Interface for Model Context Protocol Servers

MCP Tools: Command-Line Interface for Model Context Protocol Servers

A command-line interface for interacting with MCP (Model Context Protocol) servers using both stdio and HTTP transport.

JIRA MCP Tools

JIRA MCP Tools

一个模型上下文协议 (MCP) 服务器,它通过 Claude Desktop 实现与 JIRA API 的交互,允许用户使用自然语言命令来搜索、创建、更新和管理 JIRA 问题。 Alternatively, a slightly more concise and natural translation: 一个模型上下文协议 (MCP) 服务器,通过 Claude Desktop 集成 JIRA API,使用户能够通过自然语言命令搜索、创建、更新和管理 JIRA 问题。

MCP Server Setup Prompt

MCP Server Setup Prompt

帮助人工智能构建 Minecraft 服务器的提示。 (Bāngzhù réngōng zhìnéng gòujiàn Minecraft fúwùqì de tíshì.) This translates to: "A prompt to help AI build Minecraft servers."

Remote MCP Server on Cloudflare

Remote MCP Server on Cloudflare