Discover Awesome MCP Servers

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

All84,516
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.

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.

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.

GammaRips Options Intelligence

GammaRips Options Intelligence

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

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.

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.

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.

CodeRAG

CodeRAG

A high-performance MCP server providing lightning-fast hybrid code search using TF-IDF and vector embeddings for AI assistants. It enables real-time codebase indexing and semantic retrieval with sub-50ms latency and offline support.

AEP MCP Server

AEP MCP Server

The first full-featured MCP server for Adobe Experience Platform: 29 tools across schemas, datasets, profiles, segments, query service, and GDPR/CCPA privacy operations. Extends Adobe's read-only beta with production-grade write operations.

TechStack Local MCP Server

TechStack Local MCP Server

Transforms AI coding assistants into context-aware developers by auto-detecting project context, remembering conversations, and executing commands safely with a multi-layer security model.

mcp-fetch

mcp-fetch

A minimal MCP server that enables HTTP requests with any method, headers, and body types, supporting large responses through chunked transfers with disk-backed caching.

multimodels-mcp

multimodels-mcp

Delegate tasks from Claude Code to other models (Codex CLI, DeepSeek, OpenRouter, etc.) without leaving the app.

aseprite-mcp

aseprite-mcp

MCP server for safe local automation of Aseprite, providing tools to create, inspect, edit, save, and export pixel art documents through the official Aseprite CLI and controlled Lua scripts.

brainlayer

brainlayer

Local-first persistent memory layer for AI agents. Provides hybrid search (FTS5 keyword + vector embeddings) over 223K+ knowledge chunks via MCP. Tools: brain_search, brain_store, brain_entity, brain_subscribe. Features pub/sub with stable agent identity, delivery tracking, and Claude --channels integration. SQLite + BrainBar Swift daemon on Unix socket.

yt

yt

An MCP server that provides YouTube data access without API keys or quotas. It enables agents to search videos, retrieve transcripts and metadata, and perform full-text search across cached content for AI context retrieval.

notion-enhanced

notion-enhanced

Enhanced Notion MCP server supporting all 24 property types, auto-pagination, block operations, and markdown conversion for database and page operations.

mcp-arcgis-kingston

mcp-arcgis-kingston

Enables querying and searching City of Kingston GIS open geospatial datasets (parcels, zoning, transit, city services) via ArcGIS Feature Services.

TheUnderdark

TheUnderdark

An MCP server exposing narrowly scoped storage workflows with Overseer approval integration and redacted execution evidence, currently in fixture-only development for testing via stdio.

GitHub-Jira MCP Server

GitHub-Jira MCP Server

Enables secure integration between GitHub and Jira with permission controls, allowing users to manage repositories, create issues and pull requests, and handle Jira project workflows through natural language. Supports OAuth authentication and comprehensive security enforcement for both platforms.

asc-mcp

asc-mcp

An opinionated MCP server for App Store Connect that provides 13 curated tools, slash-command workflows, and a Claude Skill to manage apps, reviews, sales, and pre-submission audits via natural language.

String AI Web Access MCP Server

String AI Web Access MCP Server

Provides web access tools (fetch, search, sitemap crawl) through String AI's API, automatically handling anti-bot bypass, CAPTCHA, and JavaScript rendering.

Simplifi Local Read-Only MCP

Simplifi Local Read-Only MCP

Enables local read-only exploration of Quicken Simplifi financial data through MCP, with tools for searching transactions, categories, tags, and merchants, using a local SQLite cache and token-based authentication.