Discover Awesome MCP Servers

Extend your agent with 84,508 capabilities via MCP servers.

All84,508
envmgr-mcp-server

envmgr-mcp-server

通过SSH和浏览器访问管理多套命名环境的MCP服务器,提供环境列表、SSH命令执行和浏览器凭据获取功能。

HIRA Disease MCP

HIRA Disease MCP

Enables searching and retrieving Korean disease information and statistics from the Health Insurance Review and Assessment Service (HIRA) using Claude.

Yandex Webmaster MCP Server

Yandex Webmaster MCP Server

MCP server for Yandex Webmaster API v4.1 with 37 tools covering indexing, search queries, diagnostics, recrawl, sitemaps, links, and important URL monitoring.

mcp-msgdump

mcp-msgdump

Zero-dependency MCP server and CLI that proxies, inspects, and analyzes JSON-RPC message streams between MCP clients and servers.

WiseVision/mcp_server_ros_2

WiseVision/mcp_server_ros_2

Public implementation of MCP for ROS 2 enabling to interact with system visible various robots, capable of: List available topics List available services Call service Subscribe topic to get messages Publish message on topic and more

honest-calendar-mcp

honest-calendar-mcp

A local MCP server that provides read/write access to Google Calendar without data passing through third parties, enabling AI assistants to manage events directly via the Google Calendar API.

sqlserver

sqlserver

Enables AI assistants to query, analyze, and manage SQL Server databases through natural language via the Model Context Protocol.

TS-MCP-Server

TS-MCP-Server

A TypeScript template for building MCP servers, enabling developers to create custom tools for AI assistants like Claude.

MCP Agent Mail

MCP Agent Mail

A coordination layer for coding agents that provides identities, message threading, and searchable history. It features file reservation leases to prevent agents from overwriting each other's work in multi-agent environments.

scholar-mcp

scholar-mcp

Multi-source academic paper search, citation graph exploration, and PDF download as an MCP server, designed for LLM agents doing research.

meta-mcp

meta-mcp

Enables AI assistants to manage Instagram and Threads accounts — publish content, handle comments, view insights, search hashtags, and manage DMs through the Meta Graph API.

mcp-dev-brasil

mcp-dev-brasil

37 MCP servers for agentic commerce and Brazilian services. Covers Stripe ACP, x402 (Coinbase), AP2 (Google), Google UCP, plus 14 traditional Brazilian payment rails, fiscal, banking, communication, logistics, ERP, identity, and crypto APIs. ~480 tools. Supports stdio and Streamable HTTP.

tar-engine

tar-engine

Audits AI agent skills for safety using static, semantic, adversarial, and supply-chain analysis, providing scores and risk flags. Can be run via CLI, CI, or as an MCP tool from Claude Code, Cursor, and Codex.

teradata-mcp-poc

teradata-mcp-poc

Enables natural language interaction with Teradata databases through Claude, allowing data exploration, profiling, and in-database KMeans clustering via MCP.

Manos MCP

Manos MCP

A Model Context Protocol server for ad-hoc UI testing of Android and iOS apps, enabling LLM agents to interact with mobile app UIs and react to observations.

pubchem-mcp

pubchem-mcp

Enables querying PubChem compound properties and structure images through MCP, providing formula, molecular weight, SMILES, IUPAC name, and image URLs.

whoopmcp

whoopmcp

A read-only MCP server for the WHOOP API v2 that lets you query and analyze your own recovery, sleep, strain, cycles, and workout data. Note: currently a pre-alpha scaffold with stubbed internals.

GammaRips Options Intelligence

GammaRips Options Intelligence

Anti-firehose options-flow data for AI agents: curated daily pool, features, realized outcomes.

VeoMCP

VeoMCP

Google Veo AI video generation with text-to-video, image-to-video, multi-image fusion, 1080p upscaling, and multiple quality/speed models.

Korean Assembly Speech MCP

Korean Assembly Speech MCP

Enables search and retrieval of speech turns from Korea's National Assembly records using Korean or English natural-language queries, with citation-ready context and tools for exploring committees and meetings.

PlainGov-MCP

PlainGov-MCP

Retrieves and explains government program information from official Canadian sources using a strict retrieval-first approach, with deterministic eligibility checks and full source attribution.

ai-ssh-mcp

ai-ssh-mcp

Enables natural language SSH server management via Claude Code, allowing users to read logs, check services, run commands, and transfer files across multiple servers.

MCP Server Python

MCP Server Python

ArXiv MCP Server

ArXiv MCP Server

Enables AI assistants to search arXiv's research repository, download papers, and access their content programmatically. Includes specialized prompts for comprehensive academic paper analysis covering methodology, results, and implications.

ketcher-mcp-server

ketcher-mcp-server

MCP server for Ketcher chemical structure editor integration, enabling SMILES/MOL/InChI conversion, image generation, molecular property calculation, and validation.

@cyanheads/openfoodfacts-mcp-server

@cyanheads/openfoodfacts-mcp-server

Look up food products by barcode, search by ingredient or nutrition filter, compare products side-by-side, and browse the canonical tag vocabulary via MCP.

paperboy

paperboy

An MCP server that delivers research papers to your e-reader, using Zotero as the source of truth. Allows searching, queuing, and sending papers to Kindle, PocketBook, or Kobo.

Claude-to-Gemini MCP Server

Claude-to-Gemini MCP Server

Enables Claude to use Google Gemini as a secondary AI through MCP for large-scale codebase analysis and complex reasoning tasks. Supports both Gemini Flash and Pro models with specialized functions for general queries and comprehensive code analysis.

A Simple MCP Server and Client

A Simple MCP Server and Client

Okay, here's a simple example of a client-server setup using the Minecraft Communications Protocol (MCP) in Python. This is a very basic illustration and doesn't implement the full Minecraft protocol, but it demonstrates the core concept of sending and receiving data. **Important Considerations:** * **MCP is Complex:** The actual Minecraft protocol is significantly more complex than this example. This is a simplified demonstration. * **Libraries:** For real Minecraft interaction, you'll likely want to use a library like `mcpi` (for Raspberry Pi Minecraft) or a more advanced networking library that handles the protocol details. * **Security:** This example is not secure. Do not use it in a production environment. **Code:** ```python import socket import threading # Server Code class MinecraftServer: def __init__(self, host='localhost', port=25565): self.host = host self.port = port self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_socket.bind((self.host, self.port)) self.server_socket.listen(5) # Listen for up to 5 connections self.clients = [] def run(self): print(f"Server listening on {self.host}:{self.port}") while True: client_socket, address = self.server_socket.accept() print(f"Accepted connection from {address}") self.clients.append(client_socket) client_thread = threading.Thread(target=self.handle_client, args=(client_socket,)) client_thread.start() def handle_client(self, client_socket): try: while True: data = client_socket.recv(1024) # Receive up to 1024 bytes if not data: break # Client disconnected message = data.decode('utf-8') print(f"Received from client: {message}") # Echo the message back to the client (simple example) client_socket.sendall(f"Server received: {message}".encode('utf-8')) except Exception as e: print(f"Error handling client: {e}") finally: print("Client disconnected.") self.clients.remove(client_socket) client_socket.close() # Client Code class MinecraftClient: def __init__(self, host='localhost', port=25565): self.host = host self.port = port self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) def connect(self): try: self.client_socket.connect((self.host, self.port)) print(f"Connected to server at {self.host}:{self.port}") except Exception as e: print(f"Connection error: {e}") return False return True def send_message(self, message): try: self.client_socket.sendall(message.encode('utf-8')) data = self.client_socket.recv(1024) print(f"Received from server: {data.decode('utf-8')}") except Exception as e: print(f"Send/Receive error: {e}") def close(self): self.client_socket.close() print("Connection closed.") if __name__ == "__main__": # Start the server in a separate thread server = MinecraftServer() server_thread = threading.Thread(target=server.run) server_thread.daemon = True # Allow the main thread to exit even if the server thread is running server_thread.start() # Create a client and connect client = MinecraftClient() if client.connect(): client.send_message("Hello from the client!") client.send_message("Another message.") client.close() ``` **How to Run:** 1. **Save:** Save the code as a Python file (e.g., `mcp_example.py`). 2. **Run:** Execute the file from your terminal: `python mcp_example.py` **Explanation:** * **Server:** * Creates a socket and listens for incoming connections. * When a client connects, it spawns a new thread to handle that client. * The `handle_client` function receives data from the client, prints it, and sends a response back. * **Client:** * Creates a socket and connects to the server. * Sends a message to the server and receives the server's response. * Closes the connection. * **Threading:** The server uses threading so that it can handle multiple clients concurrently. Without threading, the server would only be able to handle one client at a time. * **Encoding:** The code uses UTF-8 encoding to convert strings to bytes for sending over the network and back to strings when receiving. **Important Notes:** * **Error Handling:** The code includes basic error handling (try...except blocks), but you'll want to add more robust error handling in a real application. * **Minecraft Protocol:** This example does *not* implement the actual Minecraft protocol. The real protocol involves specific packet formats, compression, encryption, and authentication. * **Libraries:** For real Minecraft interaction, use a library like `mcpi` (for Raspberry Pi Minecraft) or a more advanced networking library that handles the protocol details. These libraries will handle the complexities of the Minecraft protocol for you. **Translation to Portuguese:** ```python import socket import threading # Código do Servidor class ServidorMinecraft: def __init__(self, host='localhost', port=25565): self.host = host self.port = port self.socket_servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.socket_servidor.bind((self.host, self.port)) self.socket_servidor.listen(5) # Aguarda até 5 conexões self.clientes = [] def executar(self): print(f"Servidor ouvindo em {self.host}:{self.port}") while True: socket_cliente, endereco = self.socket_servidor.accept() print(f"Conexão aceita de {endereco}") self.clientes.append(socket_cliente) thread_cliente = threading.Thread(target=self.lidar_com_cliente, args=(socket_cliente,)) thread_cliente.start() def lidar_com_cliente(self, socket_cliente): try: while True: data = socket_cliente.recv(1024) # Recebe até 1024 bytes if not data: break # Cliente desconectado mensagem = data.decode('utf-8') print(f"Recebido do cliente: {mensagem}") # Envia a mensagem de volta para o cliente (exemplo simples) socket_cliente.sendall(f"Servidor recebeu: {mensagem}".encode('utf-8')) except Exception as e: print(f"Erro ao lidar com o cliente: {e}") finally: print("Cliente desconectado.") self.clientes.remove(socket_cliente) socket_cliente.close() # Código do Cliente class ClienteMinecraft: def __init__(self, host='localhost', port=25565): self.host = host self.port = port self.socket_cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM) def conectar(self): try: self.socket_cliente.connect((self.host, self.port)) print(f"Conectado ao servidor em {self.host}:{self.port}") except Exception as e: print(f"Erro de conexão: {e}") return False return True def enviar_mensagem(self, mensagem): try: self.socket_cliente.sendall(mensagem.encode('utf-8')) data = self.socket_cliente.recv(1024) print(f"Recebido do servidor: {data.decode('utf-8')}") except Exception as e: print(f"Erro ao enviar/receber: {e}") def fechar(self): self.socket_cliente.close() print("Conexão fechada.") if __name__ == "__main__": # Inicia o servidor em uma thread separada servidor = ServidorMinecraft() thread_servidor = threading.Thread(target=servidor.executar) thread_servidor.daemon = True # Permite que a thread principal termine mesmo que a thread do servidor esteja rodando thread_servidor.start() # Cria um cliente e conecta cliente = ClienteMinecraft() if cliente.conectar(): cliente.enviar_mensagem("Olá do cliente!") cliente.enviar_mensagem("Outra mensagem.") cliente.fechar() ``` **Key Changes in the Portuguese Translation:** * Class names: `MinecraftServer` -> `ServidorMinecraft`, `MinecraftClient` -> `ClienteMinecraft` * Method names: `run` -> `executar`, `handle_client` -> `lidar_com_cliente`, `connect` -> `conectar`, `send_message` -> `enviar_mensagem`, `close` -> `fechar` * Variable names: `server_socket` -> `socket_servidor`, `client_socket` -> `socket_cliente`, `address` -> `endereco`, `message` -> `mensagem` * Print statements: Translated to Portuguese. * Comments: Translated to Portuguese. This translated version should be easier for Portuguese speakers to understand. Remember that the functionality remains the same; only the names and comments have been translated. It's still a simplified example and not a full Minecraft protocol implementation.

claude-switchboard

claude-switchboard

Enables teams to share context and messages between Claude Code sessions via a relay, allowing collaborative work on the same project.